Abstract
Differential algebraic equations used for circuit simulation give rise to sequences of sparse linear systems. The matrices have very peculiar characteristics as compared to sparse matrices arising in other scientific applications. The matrices are extremely sparse and remain so when factorized. They are permutable to block triangular form, which breaks the sparse LU factorization problem into many smaller subproblems. Sparse methods based on operations on dense submatrices (supernodal and multifrontal methods) are not effective because of the extreme sparsity. KLU is a software package specifically written to exploit the properties of sparse circuit matrices. It relies on a permutation to block triangular form (BTF), several methods for finding a fill-reducing ordering (variants of approximate minimum degree and nested dissection), and Gilbert/Peierls’ sparse left-looking LU factorization algorithm to factorize each block. The package is written in C and includes a MATLAB interface. Performance results comparing KLU with SuperLU, Sparse 1.3, and UMFPACK on circuit simulation matrices are presented. KLU is the default sparse direct solver in the XyceTMcircuit simulation package developed by Sandia National Laboratories.
Access provided by Autonomous University of Puebla. Download to read the full chapter text
Chapter PDF
Similar content being viewed by others
Keywords
- Differential Algebraic Equation
- Circuit Simulation
- Sparse Linear System
- Partial Pivoting
- Nest Dissection
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
Amestoy, P.R., Davis, T.A., Duff, I.S.: An approximate minimum degree ordering algorithm. SIAM J. Matrix Anal. Appl. 17(4), 886–905 (1996)
Amestoy, P.R., Davis, T.A., Duff, I.S.: Algorithm 837: AMD, an approximate minimum degree ordering algorithm. ACM Trans. Math. Softw. 30(3), 381–388 (2004)
Chen, Y., Davis, T.A., Hager, W.W., Rajamanickam, S.: Algorithm 887: CHOLMOD, supernodal sparse Cholesky factorization and update/downdate. ACM Trans. Math. Softw. 35(3), 1–14 (2008). DOI http://doi.acm.org/10.1145/1391989.1391995
Davis, T.A.: Algorithm 832: UMFPACK V4.3, an unsymmetric-pattern multifrontal method. ACM Trans. Math. Softw. 30(2), 196–199 (2002)
Davis, T.A.: Direct Methods for Sparse Linear Systems. SIAM, Philadelphia, PA (2006)
Davis, T.A., Duff, I.S.: An unsymmetric-pattern multifrontal method for sparse LU factorization. SIAM J. Matrix Anal. Appl. 18(1), 140–158 (1997)
Davis, T.A., Duff, I.S.: A combined unifrontal/multifrontal method for unsymmetric sparse matrices. ACM Trans. Math. Softw. 25(1), 1–19 (1999)
Davis, T.A., Gilbert, J.R., Larimore, S.I., Ng, E.G.: Algorithm 836: COLAMD, a column approximate minimum degree ordering algorithm. ACM Trans. Math. Softw. 30(3), 377–380 (2004)
Davis, T.A., Gilbert, J.R., Larimore, S.I., Ng, E.G.: A column approximate minimum degree ordering algorithm. ACM Trans. Math. Softw. 30(3), 353–376 (2004)
Davis, T.A., Hu, Y.: University of Florida sparse matrix collection. ACM Transactions on Mathematical Software, 38(1), (2011). URL http://www.cise.ufl.edu/sparse/matrices
Davis, T.A., Palamadai Natarajan, E.: Algorithm 907: KLU, a direct sparse solver for circuit simulation problems. ACM Trans. Math. Softw. 37(3), 36:1–36:17 (2010). DOI http://doi.acm.org/10.1145/1824801.1824814. URL http://doi.acm.org/10.1145/1824801.1824814
Demmel, J.W., Eisenstat, S.C., Gilbert, J.R., Li, X.S., Liu, J.W.H.: A supernodal approach to sparse partial pivoting. SIAM J. Matrix Anal. Appl. 20(3), 720–755 (1999)
Dongarra, J.J., Du Croz, J., Duff, I.S., Hammarling, S.: A set of level-3 basic linear algebra subprograms. ACM Trans. Math. Softw. 16(1), 1–17 (1990)
Duff, I.S.: Algorithm 575: Permutations for a zero-free diagonal. ACM Trans. Math. Softw. 7(1), 387–390 (1981)
Duff, I.S.: On algorithms for obtaining a maximum transversal. ACM Trans. Math. Softw. 7(1), 315–330 (1981)
Duff, I.S., Reid, J.K.: Algorithm 529: Permutations to block triangular form. ACM Trans. Math. Softw. 4(2), 189–192 (1978)
Duff, I.S., Reid, J.K.: An implementation of Tarjan’s algorithm for the block triangularization of a matrix. ACM Trans. Math. Softw. 4(2), 137–147 (1978)
Gilbert, J.R., Peierls, T.: Sparse partial pivoting in time proportional to arithmetic operations. SIAM J. Sci. Statist. Comput. 9, 862–874 (1988)
Hutchinson, S.A., Keiter, E.R., Hoekstra, R.J., Waters, L.J., Russo, T., Rankin, E., Wix, S.D., Bogdan, C.: The XyceTMparallel electronic simulator – an overview. In: Joubert, G.R., Murli, A., Peters, F.J., Vanneschi, M. (eds.) Parallel Computing: Advances and Current Issues, Proc. ParCo 2001, pp. 165–172. Imperial College Press, London (2002)
Karypis, G., Kumar, V.: A fast and high quality multilevel scheme for partitioning irregular graphs. SIAM J. Sci. Comput. 20, 359–392 (1998)
Kundert, K.S.: Sparse matrix techniques and their applications to circuit simulation. In: Ruehli, A.E. (ed.) Circuit Analysis, Simulation and Design. North-Holland, New York (1986)
Kundert, K.S., Sangiovanni-Vincentelli, A.: User’s guide: Sparse 1.3. Tech. rep., Dept. of EE and CS, UC Berkeley (1988)
Nichols, K., Kazmierski, T., Zwolinski, M., Brown, A.: Overview of SPICE-like circuit simulation algorithms. IEE Proc. Circuits, Devices & Sys. 141(4), 242–250 (1994)
Palamadai Natarajan, E.: KLU - a high performance sparse linear system solver for circuit simulation problems. M.S. Thesis, CISE Department, Univ. of Florida (2005)
Sipics, M.: Sparse matrix algorithm drives SPICE performance gains. SIAM News 40(4) (2007)
Tarjan, R.E.: Depth first search and linear graph algorithms. SIAM J. Comput. 1, 146–160 (1972)
Acknowledgements
We would like to thank Mike Heroux for coining the name “KLU” and suggesting that we tackle this project in support of the Xyce circuit simulation package developed at Sandia National Laboratories [19, 25]. Portions of this work were supported by the Department of Energy, and by National Science Foundation grants 0203270, 0620286, and 0619080.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2012 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Davis, T.A., Natarajan, E.P. (2012). Sparse Matrix Methods for Circuit Simulation Problems. In: Michielsen, B., Poirier, JR. (eds) Scientific Computing in Electrical Engineering SCEE 2010. Mathematics in Industry(), vol 16. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-22453-9_1
Download citation
DOI: https://doi.org/10.1007/978-3-642-22453-9_1
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-22452-2
Online ISBN: 978-3-642-22453-9
eBook Packages: Mathematics and StatisticsMathematics and Statistics (R0)