Abstract
A popular method for computing the matrix logarithm is the inverse scaling and squaring method, which essentially carries out the steps of the scaling and squaring method for the matrix exponential in reverse order. Here we make several improvements to the method, putting its development on a par with our recent version [SIAM J. Matrix Anal. Appl., 31 (2009), pp. 970-989] of the scaling and squaring method for the exponential. In particular, we introduce backward error analysis to replace the previous forward error analysis; obtain backward error bounds in terms of the quantities ||A p|| 1/p, for several small integer p, instead of ||A||; and use special techniques to compute the argument of the Padé approximant more accurately. We derive one algorithm that employs a Schur decomposition, and thereby works with triangular matrices, and another that requires only matrix multiplications and the solution of multiple right-hand side linear systems. Numerical experiments show the new algorithms to be generally faster and more accurate than their existing counterparts and suggest that the Schur-based method is the method of choice for computing the matrix logarithm. © 2012 Society for Industrial and Applied Mathematics.
Original language | English |
---|---|
Pages (from-to) | C153-C169 |
Journal | SIAM Journal on Scientific Computing |
Volume | 34 |
Issue number | 4 |
DOIs | |
Publication status | Published - 2012 |
Keywords
- Approximation
- Backward error analysis
- Inverse scaling and squaring method
- Logm
- MATLAB
- Matrix exponential
- Matrix logarithm
- Matrix square root
- Padé