On BLAS Level-3 Implementations of Common Solvers for (Quasi-) Triangular Generalized Lyapunov Equations

The solutions of Lyapunov and generalized Lyapunov equations are a key player in many applications in systems and control theory. Their stable numerical computation, when the full solution is sought, is considered solved since the seminal work of Bartels and Stewart [1972] and its generalization by Penzl [1997]. Those variants do not go completely beyond BLAS level-2 style implementation. On modern computers, however, the formulation of level-3 BLAS type implementations is crucial to enable optimal usage of cache hierarchies and modern block scheduling methods based on directed acyclic graphs describing the interdependence of single block computations. Although there exists a recursive blocked solution scheme for (quasi-) triangular generalized Lyapunov equations [Jonsson and Kågström 2002b], we focus on standard blocking techniques. Using the standard blocking approach our contribution lifts the aforementioned level-2 algorithm by Penzl to BLAS level-3 for (quasi-) triangular equations. Especially, we consider the solution of the appearing Sylvester equations and provide a hybrid algorithm merging our strategy with the recursive blocking method above.

[1]  Daniel Kressner,et al.  CTLEX - a Collection of Benchmark Examples for Continuous-Time Lyapunov Equations , 1999 .

[2]  Sabine Van Huffel,et al.  SLICOT—A Subroutine Library in Systems and Control Theory , 1999 .

[3]  Isak Jonsson,et al.  Recursive blocked algorithms for solving triangular systems—Part II: two-sided and generalized Sylvester and Lyapunov matrix equations , 2002, TOMS.

[4]  Jana Fuhrmann,et al.  The collected mathematical papers , 1896 .

[5]  J. J. Sylvester The collected mathematical papers of James Joseph Sylvester , 1904 .

[6]  KöhlerMartin,et al.  On BLAS Level-3 Implementations of Common Solvers for (Quasi-) Triangular Generalized Lyapunov Equations , 2016 .

[7]  K. Chu The solution of the matrix equations AXB−CXD=E AND (YA−DZ,YC−BZ)=(E,F) , 1987 .

[8]  KågströmBo,et al.  LAPACK-style algorithms and software for solving the generalized Sylvester equation and estimating the separation between regular matrix pairs , 1996 .

[9]  Bo Kågström,et al.  LAPACK-style algorithms and software for solving the generalized Sylvester equation and estimating the separation between regular matrix pairs , 1994, TOMS.

[10]  Bo Kågström,et al.  Parallel Solvers for Sylvester-Type Matrix Equations with Applications in Condition Estimation, Part I , 2010, ACM Trans. Math. Softw..

[11]  Thilo Penzl,et al.  Numerical solution of generalized Lyapunov equations , 1998, Adv. Comput. Math..

[12]  Robert H. Halstead,et al.  Matrix Computations , 2011, Encyclopedia of Parallel Computing.

[13]  Nicholas J. Higham,et al.  INVERSE PROBLEMS NEWSLETTER , 1991 .

[14]  Daniel Kressner,et al.  Multishift Variants of the QZ Algorithm with Aggressive Early Deflation , 2006, SIAM J. Matrix Anal. Appl..

[15]  G. Stewart,et al.  An Algorithm for Generalized Matrix Eigenvalue Problems. , 1973 .

[16]  Peter Benner,et al.  Fast Approximate Solution of the Non-Symmetric Generalized Eigenvalue Problem on Multicore Architectures , 2013, PARCO.

[17]  Richard H. Bartels,et al.  Algorithm 432 [C2]: Solution of the matrix equation AX + XB = C [F4] , 1972, Commun. ACM.

[18]  Isak Jonsson,et al.  Recursive blocked algorithms for solving triangular systems—Part I: one-sided and coupled Sylvester-type matrix equations , 2002, TOMS.

[19]  W. Gibson Solution of Matrix Equations , 2014, The Method of Moments in Electromagnetics.

[20]  Bo Kågström,et al.  Algorithm 904 , 2010 .

[21]  Alan J. Laub,et al.  Solution of the Sylvester matrix equation AXBT + CXDT = E , 1992, TOMS.

[22]  B. Moore Principal component analysis in linear systems: Controllability, observability, and model reduction , 1981 .

[23]  Bo Kågström,et al.  Parallel Solvers for Sylvester-Type Matrix Equations with Applications in Condition Estimation, Part I , 2010, ACM Trans. Math. Softw..

[24]  B. Kågström,et al.  Generalized Schur methods with condition estimators for solving the generalized Sylvester equation , 1989 .

[25]  Daniel Kressner,et al.  A Parallel QZ Algorithm for Distributed Memory HPC Systems , 2014, SIAM J. Sci. Comput..