Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
On BLAS level-3 implementations of common solvers for (quasi-) triangular generalized Lyapunov equations
Köhler M., Saak J. ACM Transactions on Mathematical Software43 (1):1-23,2016.Type:Article
Date Reviewed: Oct 20 2016

Each of the generalized Lyapunov matrix equations can be seen simply as a system of linear equations in the elements of the unknown matrix X. For numerical solutions, however, it is usually kept in its matrix form. The continuous time equation, A’XE + E’XA = Y, for example, can be reduced to a quasi-triangular form by solving the generalized eigenvalue problem, Au = λ Eu and then using the matrix of eigenvectors. The A and E are real square matrices, and Y is real symmetric. In the reduced form A and E are triangular except for 2-by-2 blocks on the diagonal of E representing pairs of complex eigenvalues. This form allows for a variety of solution methods.

The algorithms discussed in this paper are derived from the work of Bartels and Stewart [1] with generalization by Penzl [2] and have a common initial phase. This phase begins by applying the above-mentioned reduction. Then, given a nominal block size, p>2, E is partitioned more or less uniformly so that each diagonal block is of size p, p + 1, or p - 1 with the size adjusted if necessary so that each 2-by-2 block is contained in a larger one.

The first phase now applies the block structure to the entire reduced matrix equation and then solves for the blocks of X by a forward block substitution scheme. This scheme requires, at each step, the solution of a Sylvester matrix equation of order p more or less.

The authors have implemented this scheme in three ways using calls to level-3 basic linear algebra subprograms (BLAS), and using different algorithms for solving the Sylvester equations. They used an Intel Fortran 90 compiler linked with an Intel LAPACK library for testing. The test system is described in detail with numerical results and times. Tests were run for a variety of problem sizes and block sizes as well as single and multithread calls to the BLAS. They also ran tests showing the speed-up to be gained by controlling the memory alignment of the arrays. The tests used randomly generated problems as well as a set problems with known solutions, all beginning in quasi-triangular form.

The algorithms, including two of the three methods for the Sylvester equations, are given in detailed pseudocode. There is no Fortran code included in the paper, but the pseudocode together with the level-3 BLAS should translate into a clear and simple Fortran 90 program.

Reviewer:  Charles R. Crawford Review #: CR144859 (1701-0062)
1) Bartels, R. H.; Stewart, G. W. Solution of the matrix equation AX + XB = C. Comm. ACM 15, 9(1972), 820–826.
2) Penzl, T. Numerical solution of generalized Lyapunov. Adv. Comp. Math. 8 (1997), 33–48.
Bookmark and Share
 
Numerical Linear Algebra (G.1.3 )
 
 
Mathematical Software (G.4 )
 
Would you recommend this review?
yes
no
Other reviews under "Numerical Linear Algebra": Date
Exploiting fast matrix multiplication within the level 3 BLAS
Higham N. ACM Transactions on Mathematical Software 16(4): 352-368, 2000. Type: Article
Aug 1 1991
Fundamentals of matrix computations
Watkins D., John Wiley & Sons, Inc., New York, NY, 1991. Type: Book (9780471614142)
Jun 1 1992
Computational methods for linear control systems
Petkov P., Christov N., Konstantinov M., Prentice Hall International (UK) Ltd., Hertfordshire, UK, 1991. Type: Book (9780131618039)
Jun 1 1992
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy