Recursive blocked algorithms for solving triangular systems—Part I
- 1 December 2002
- journal article
- research article
- Published by Association for Computing Machinery (ACM) in ACM Transactions on Mathematical Software
- Vol. 28 (4) , 392-415
- https://doi.org/10.1145/592843.592845
Abstract
Triangular matrix equations appear naturally in estimating the condition numbers of matrix equations and different eigenspace computations, including block-diagonalization of matrices and matrix pairs and computation of functions of matrices. To solve a triangular matrix equation is also a major step in the classical Bartels-Stewart method for solving the standard continuous-time Sylvester equation (AX-XB=C). We present novel recursive blocked algorithms for solving one-sided triangular matrix equations, including the continuous-time Sylvester and Lyapunov equations, and a generalized coupled Sylvester equation. The main parts of the computations are performed as level-3 general matrix multiply and add (GEMM) operations. In contrast to explicit standard blocking techniques, our recursive approach leads to an automatic variable blocking that has the potential of matching the memory hierarchies of today's HPC systems. Different implementation issues are discussed, including when to terminate the recursion, the design of new optimized superscalar kernels for solving leaf-node triangular matrix equations efficiently, and how parallelism is utilized in our implementations. Uniprocessor and SMP parallel performance results of our recursive blocked algorithms and corresponding routines in the state-of-the-art libraries LAPACK and SLICOT are presented. The performance improvements of our recursive algorithms are remarkable, including 10-fold speedups compared to standard algorithms.Keywords
This publication has 36 references indexed in Scilit:
- Recursive blocked algorithms for solving triangular systems—Part IIACM Transactions on Mathematical Software, 2002
- Algorithm 784: GEMM-based level 3 BLASACM Transactions on Mathematical Software, 1998
- Recursive blocked data formats and BLAS’s for dense linear algebra algorithmsPublished by Springer Nature ,1998
- LAPACK-style algorithms and software for solving the generalized Sylvester equation and estimating the separation between regular matrix pairsACM Transactions on Mathematical Software, 1996
- On computing condition numbers for the nonsymmetric eigenproblemACM Transactions on Mathematical Software, 1993
- Perturbation theory and backward error forAX−XB=CBIT Numerical Mathematics, 1993
- FORTRAN codes for estimating the one-norm of a real or complex matrix, with applications to condition estimationACM Transactions on Mathematical Software, 1988
- Numerical Solution of the Stable, Non-negative Definite Lyapunov Equation Lyapunov EquationIMA Journal of Numerical Analysis, 1982
- A Hessenberg-Schur method for the problem AX + XB= CIEEE Transactions on Automatic Control, 1979
- Bounds and perturbation bounds for the matrix exponentialBIT Numerical Mathematics, 1977