skip to main content
OSTI.GOV title logo U.S. Department of Energy
Office of Scientific and Technical Information

Title: A fast algorithm for sparse matrix computations related to inversion

Abstract

We have developed a fast algorithm for computing certain entries of the inverse of a sparse matrix. Such computations are critical to many applications, such as the calculation of non-equilibrium Green’s functions G{sup r} and G{sup <} for nano-devices. The FIND (Fast Inverse using Nested Dissection) algorithm is optimal in the big-O sense. However, in practice, FIND suffers from two problems due to the width-2 separators used by its partitioning scheme. One problem is the presence of a large constant factor in the computational cost of FIND. The other problem is that the partitioning scheme used by FIND is incompatible with most existing partitioning methods and libraries for nested dissection, which all use width-1 separators. Our new algorithm resolves these problems by thoroughly decomposing the computation process such that width-1 separators can be used, resulting in a significant speedup over FIND for realistic devices — up to twelve-fold in simulation. The new algorithm also has the added advantage that desired off-diagonal entries can be computed for free. Consequently, our algorithm is faster than the current state-of-the-art recursive methods for meshes of any size. Furthermore, the framework used in the analysis of our algorithm is the first attempt to explicitly applymore » the widely-used relationship between mesh nodes and matrix computations to the problem of multiple eliminations with reuse of intermediate results. This framework makes our algorithm easier to generalize, and also easier to compare against other methods related to elimination trees. Finally, our accuracy analysis shows that the algorithms that require back-substitution are subject to significant extra round-off errors, which become extremely large even for some well-conditioned matrices or matrices with only moderately large condition numbers. When compared to these back-substitution algorithms, our algorithm is generally a few orders of magnitude more accurate, and our produced round-off errors stay at a reasonable level.« less

Authors:
 [1];  [2]
  1. Department of Electrical Engineering, Stanford University, 350 Serra Mall, Packard Building, Room 268, Stanford, CA 94305 (United States)
  2. Institute for Computational and Mathematical Engineering, Stanford University, 496 Lomita Mall, Durand Building, Stanford, CA 94305 (United States)
Publication Date:
OSTI Identifier:
22233592
Resource Type:
Journal Article
Journal Name:
Journal of Computational Physics
Additional Journal Information:
Journal Volume: 242; Other Information: Copyright (c) 2013 Elsevier Science B.V., Amsterdam, The Netherlands, All rights reserved.; Country of input: International Atomic Energy Agency (IAEA); Journal ID: ISSN 0021-9991
Country of Publication:
United States
Language:
English
Subject:
97 MATHEMATICAL METHODS AND COMPUTING; ALGORITHMS; CALCULATION METHODS; COMPARATIVE EVALUATIONS; EQUIPMENT; ERRORS; FUNCTIONS; MATRICES; PARTITION; SIMULATION

Citation Formats

Li, S., E-mail: lisong@stanford.edu, Wu, W., Darve, E., and Department of Mechanical Engineering, Stanford University, 496 Lomita Mall, Durand Building, Room 209, Stanford, CA 94305. A fast algorithm for sparse matrix computations related to inversion. United States: N. p., 2013. Web. doi:10.1016/J.JCP.2013.01.036.
Li, S., E-mail: lisong@stanford.edu, Wu, W., Darve, E., & Department of Mechanical Engineering, Stanford University, 496 Lomita Mall, Durand Building, Room 209, Stanford, CA 94305. A fast algorithm for sparse matrix computations related to inversion. United States. https://doi.org/10.1016/J.JCP.2013.01.036
Li, S., E-mail: lisong@stanford.edu, Wu, W., Darve, E., and Department of Mechanical Engineering, Stanford University, 496 Lomita Mall, Durand Building, Room 209, Stanford, CA 94305. 2013. "A fast algorithm for sparse matrix computations related to inversion". United States. https://doi.org/10.1016/J.JCP.2013.01.036.
@article{osti_22233592,
title = {A fast algorithm for sparse matrix computations related to inversion},
author = {Li, S., E-mail: lisong@stanford.edu and Wu, W. and Darve, E. and Department of Mechanical Engineering, Stanford University, 496 Lomita Mall, Durand Building, Room 209, Stanford, CA 94305},
abstractNote = {We have developed a fast algorithm for computing certain entries of the inverse of a sparse matrix. Such computations are critical to many applications, such as the calculation of non-equilibrium Green’s functions G{sup r} and G{sup <} for nano-devices. The FIND (Fast Inverse using Nested Dissection) algorithm is optimal in the big-O sense. However, in practice, FIND suffers from two problems due to the width-2 separators used by its partitioning scheme. One problem is the presence of a large constant factor in the computational cost of FIND. The other problem is that the partitioning scheme used by FIND is incompatible with most existing partitioning methods and libraries for nested dissection, which all use width-1 separators. Our new algorithm resolves these problems by thoroughly decomposing the computation process such that width-1 separators can be used, resulting in a significant speedup over FIND for realistic devices — up to twelve-fold in simulation. The new algorithm also has the added advantage that desired off-diagonal entries can be computed for free. Consequently, our algorithm is faster than the current state-of-the-art recursive methods for meshes of any size. Furthermore, the framework used in the analysis of our algorithm is the first attempt to explicitly apply the widely-used relationship between mesh nodes and matrix computations to the problem of multiple eliminations with reuse of intermediate results. This framework makes our algorithm easier to generalize, and also easier to compare against other methods related to elimination trees. Finally, our accuracy analysis shows that the algorithms that require back-substitution are subject to significant extra round-off errors, which become extremely large even for some well-conditioned matrices or matrices with only moderately large condition numbers. When compared to these back-substitution algorithms, our algorithm is generally a few orders of magnitude more accurate, and our produced round-off errors stay at a reasonable level.},
doi = {10.1016/J.JCP.2013.01.036},
url = {https://www.osti.gov/biblio/22233592}, journal = {Journal of Computational Physics},
issn = {0021-9991},
number = ,
volume = 242,
place = {United States},
year = {Sat Jun 01 00:00:00 EDT 2013},
month = {Sat Jun 01 00:00:00 EDT 2013}
}