Abstract
In this contribution, we review state-of-the-art high-performance computing software for solving common standard and generalized continuous-time and discrete-time Sylvester-type matrix equations. The analysis is based on RECSY and SCASY software libraries. Our algorithms and software rely on the standard Schur method. Two ways of introducing blocking for solving matrix equations in reduced (quasi-triangular) form are reviewed. Most common is to perform a fix block partitioning of the matrices involved and rearrange the loop nests of a single-element algorithm so that the computations are performed on submatrices (matrix blocks). Another successful approach is to combine recursion and blocking.
We consider parallelization of algorithms for reduced matrix equations at two levels: globally in a distributed memory paradigm, and locally on shared memory or multicore nodes as part of the distributed memory environment. Distributed wave-front algorithms are considered to compute the solution to the reduced triangular systems. Parallelization of recursive blocked algorithms is done in two ways. The simplest way is so-called implicit data parallelization, which is obtained by using SMP-aware implementations of level 3 BLAS. Complementary to this, there is also the possibility of invoking task parallelism. This is done by explicit parallelization of independent tasks in a recursion tree using OpenMP. A brief account of some software issues for the RECSY and SCASY libraries is given. Theoretical results are confirmed by experimental results.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Adlerborn, B., Dackland, K., Kågström, B.: Parallel two-stage reduction of a regular matrix pair to Hessenberg-triangular form. In: T. Sørvik et al. (eds.) Applied Parallel Computing: New Paradigms for HPC Industry and Academia, Lecture Notes in Computer Science, vol. 1947, pp. 92–102. Springer (2001)
Adlerborn, B., Dackland, K., Kågström, B.: Parallel and blocked algorithms for reduction of a regular matrix pair to Hessenberg-triangular and generalized Schur forms. In: J. Fagerholm et al. (eds.) PARA 2002, Lecture Notes in Computer Science, vol. 2367, pp. 319–328. Springer-Verlag (2002)
Adlerborn, B., Kågström, B., Kressner, D.: Parallel variants of the multishift QZ algorithm with advanced deflation techniques. In: B. Kågström et al. (eds.) Applied Parallel Computing - State of the Art in Scientific Computing (PARA’06), Lecture Notes in Computer Science, vol. 4699, pp. 117–126. Springer (2007)
Anderson, E., Bai, Z., Bischof, C., Blackford, S., Demmel, J.W., Dongarra, J.J., Du Croz, J., Greenbaum, A., Hammarling, S., McKenney, A., Sorensen, D.C.: LAPACK Users’ Guide, 3rd edn. SIAM, Philadelphia, PA (1999)
Andersson, P., Granat, R., Jonsson, I., Kågström, B.: Parallel algorithms for triangular periodic Sylvester-type matrix equations. In: E. Luque et al. (eds.) Euro-Par 2008 — Parallel Processing, Lecture Notes in Computer Science, vol. 5168, pp. 780–789. Springer (2008)
Bartels, R.H., Stewart, G.W.: Algorithm 432: the solution of the matrix equation AX - BX = C. Communications of the ACM 8, 820–826 (1972)
Blackford, L.S., Choi, J., Cleary, A., D’Azevedo, E., Demmel, J.W., Dhillon, I., Dongarra, J.J., Hammarling, S., Henry, G., Petitet, A., Stanley, K., Walker, D., Whaley, R.C.: ScaLAPACK Users’ Guide. SIAM, Philadelphia, PA (1997)
BLACS - Basic Linear Algebra Communication Subprograms. http://www.netlib.org/ blacs/index.html
Bojanczyk, A., Golub, G.H., Van Dooren, P.: The periodic Schur decomposition; algorithm and applications. In: Proc. SPIE Conference, vol. 1770, pp. 31–42 (1992)
Dackland, K., Kågström, B.: Blocked algorithms and software for reduction of a regular matrix pair to generalized Schur form. ACM Trans. Math. Software 25(4), 425–454 (1999)
Demmel, J., Dongarra, J., Parlett, B., Kahan, W., Gu, M., Bindel, D., Hida, Y., Li, X., Marques, O., Riedy, J., Vömel, C., Langou, J., Luszczek, P., Kurzak, J., Buttari, A., Langou, J., Tomov, S.: Prospectus for the next LAPACK and ScaLAPACK libraries. In: B. Kågström et al. (eds.) Applied Parallel Computing - State of the Art in Scientific Computing (PARA’06), Lecture Notes in Computer Science, vol. 4699, pp. 11–23. Springer (2007)
Dongarra, J.J., Du Croz, J., Duff, I.S., Hammarling, S.: A set of level 3 basic linear algebra subprograms. ACM Trans. Math. Software 16, 1–17 (1990)
Elmroth, E., Gustavson, F., Jonsson, I., Kågström, B.: Recursive blocked algorithms and hybrid data structures for dense matrix library software. SIAM Review 46(1), 3–45 (2004)
Elmroth, E., Johansson, P., Kågström, B., Kressner, D.: A web computing environment for the SLICOT library. In: The Third NICONET Workshop on Numerical Control Software, pp. 53–61 (2001)
Fairweather, G., Gladwell, I.: Algorithms for almost block diagonal linear systems. SIAM Review 44(1), 49–58 (2004)
GOTO-BLAS - High-Performance BLAS by Kazushige Goto. http://www.cs.utexas.edu/users/flame/goto/
Grama, A., Gupta, A., Karypsis, G., Kumar, V.: Introduction to Parallel Computing, 2nd edn. Addison-Wesley (2003)
Granat, R., Jonsson, I., Kågström, B.: Recursive blocked algorithms for solving periodic triangular Sylvester-type matrix equations. In: B. Kågström et al. (eds.) Applied Parallel Computing - State of the Art in Scientific Computing (PARA’06), Lecture Notes in Computer Science, vol. 4699, pp. 531–539. Springer (2007)
Granat, R., Kågström, B.: Parallel algorithms and condition estimators for standard and generalized triangular Sylvester-type matrix equations. In: B. Kågström et al. (eds.) Applied Parallel Computing - State of the Art in Scientific Computing (PARA’06), Lecture Notes in Computer Science, vol. 4699, pp. 127–136. Springer (2007)
Granat, R., Kågström, B.: Parallel solvers for Sylvester-type matrix equations with applications in condition estimation, Part I: theory and algorithms. Report UMINF 07.15, Dept. of Computing Science, Umeå University, Sweden. Submitted to ACM Trans. Math. Software (2007)
Granat, R., Kågström, B.: Parallel solvers for Sylvester-type matrix equations with applications in condition estimation, Part II: the SCASY software. Report UMINF 07.16, Dept. of Computing Science, Umeå University, Sweden. Submitted to ACM Trans. Math. Software (2007)
Granat, R., Kågström, B., Poromaa, P.: Parallel ScaLAPACK-style algorithms for solving continuous-time Sylvester equations. In: H. Kosch et al. (eds.) Euro-Par 2003 Parallel Processing, Lecture Notes in Computer Science, vol. 2790, pp. 800–809. Springer (2003)
Hager, W.W.: Condition estimates. SIAM J. Sci. Statist. Comput. 3, 311–316 (1984)
Hammarling, S.J.: Numerical solution of the stable, non-negative definite Lyapunov equation. IMA Journal of Numerical Analysis 2, 303–323 (1982)
Hench, J.J., Laub, A.J.: Numerical solution of the discrete-time periodic Riccati equation. IEEE Trans. Automat. Control 39(6), 1197–1210 (1994)
Henry, G., Watkins, D.S., Dongarra, J.J.: A parallel implementation of the nonsymmetric QR algorithm for distributed memory architectures. SIAM J. Sci. Comput. 24(1), 284–311 (2002)
Higham, N.J.: Fortran codes for estimating the one-norm of a real or complex matrix, with applications to condition estimation. ACM Trans. Math. Software 14(4), 381–396 (1988)
Higham, N.J.: Perturbation theory and backward error for AX-XB=C. BIT 33(1), 124–136 (1993)
Jonsson, I., Kågström, B.: Recursive blocked algorithms for solving triangular systems. I. One-sided and coupled Sylvester-type matrix equations. ACM Trans. Math. Software 28(4), 392–415 (2002)
Jonsson, I., Kågström, B.: Recursive blocked algorithms for solving triangular systems. II. Two-sided and generalized Sylvester and Lyapunov matrix equations. ACM Trans. Math. Software 28(4), 416–435 (2002)
Jonsson, I., Kågström, B.: RECSY - a high performance library for solving Sylvester-type matrix equations. In: H. Kosch et al. (eds.) Euro-Par 2003 Parallel Processing, Lecture Notes in Computer Science, vol. 2790, pp. 810–819. Springer (2003)
Kågström, B., Kressner, D.: Multishift variants of the QZ algorithm with aggressive early deflation. SIAM Journal on Matrix Analysis and Applications 29(1), 199–227 (2006)
Kågström, B., Ling, P., Van Loan, C.: GEMM-based level 3 BLAS: high-performance model implementations and performance evaluation benchmark. ACM Trans. Math. Software 24(3), 268–302 (1998)
Kågström, B., Ling, P., Van Loan, C.: Algorithm 784: GEMM-based level 3 BLAS: portability and optimization issues. ACM Trans. Math. Software 24(3), 303–316 (1998)
Kågström, B., Poromaa, P.: Distributed and shared memory block algorithms for the triangular Sylvester equation with sep–1 estimators. SIAM J. Matrix Anal. Appl. 13(1), 90–101 (1992)
Kågström, B., Poromaa, P.: LAPACK-style algorithms and software for solving the generalized Sylvester equation and estimating the separation between regular matrix pairs. ACM Trans. Math. Software 22(1), 78–103 (1996)
Kågström, B., Westin, L.: Generalized Schur methods with condition estimators for solving the generalized Sylvester equation. IEEE Trans. Autom. Contr. 34(4), 745–751 (1989)
Kressner, D.: Numerical methods and software for general and structured eigenvalue problems. Ph.D. thesis, TU Berlin, Institut für Mathematik, Berlin, Germany (2004)
LAPACK - Linear Algebra Package. http://www.netlib.org/lapack/
Moler, C.B., Stewart, G.W.: An algorithm for generalized matrix eigenvalue problems. SIAM J. Numer. Anal. 10, 241–256 (1973)
MPI - Message Passing Interface. http://www-unix.mcs.anl.gov/mpi/
OpenMP - Simple, Portable, Scalable SMP Programming. http://www.openmp.org/
PBLAS - Parallel Basic Linear Algebra Subprograms. http://www.netlib.org/scalapack/pblas
Quintana-Ortí, E.S., van de Geijn, R.A.: Formal derivation of algorithms: The triangular Sylvester equation. ACM Transactions on Mathematical Software 29(2), 218–243 (2003)
RECSY - High Performance library for Sylvester-type matrix equations. http://www.cs.umu.se/research/parallel/recsy
Reid, J., Numrich, R.W.: Co-arrays in the next Fortran standard. Scientific Programming 15(1), 9–26 (2007)
SCASY - ScaLAPACK-style solvers for Sylvester-type matrix equations. http://www.cs.umu.se/research/parallel/scasy
SLICOT Library In The Numerics In Control Network (Niconet). http://www.win.tue.nl/niconet/index.html
ScaLAPACK Users’ Guide. http://www.netlib.org/scalapack/slug/
Stewart, G.W., Sun, J.-G.: Matrix Perturbation Theory. Academic Press, New York (1990)
Varga, A., Van Dooren, P.: Computational methods for periodic systems - an overview. In: Proc. of IFAC Workshop on Periodic Control Systems, Como, Italy, pp. 171–176. International Federation of Automatic Control (IFAC) (2001)
Author information
Authors and Affiliations
Rights and permissions
Copyright information
© 2009 Springer Science+Business Media, LLC
About this chapter
Cite this chapter
Granat, R., Jonsson, I., Kågström, B. (2009). RECSY and SCASY Library Software: Recursive Blocked and Parallel Algorithms for Sylvester-Type Matrix Equations with Some Applications. In: Parallel Scientific Computing and Optimization. Springer Optimization and Its Applications, vol 27. Springer, New York, NY. https://doi.org/10.1007/978-0-387-09707-7_1
Download citation
DOI: https://doi.org/10.1007/978-0-387-09707-7_1
Publisher Name: Springer, New York, NY
Print ISBN: 978-0-387-09706-0
Online ISBN: 978-0-387-09707-7
eBook Packages: Mathematics and StatisticsMathematics and Statistics (R0)