Abstract
Differential matrix Riccati equations (DMREs) enable to model many physical systems appearing in different branches of science, in some cases, involving very large problem sizes. In this paper, we propose an adaptive algorithm for time-invariant DMREs that uses a piecewise-linearized approach based on the Padé approximation of the matrix exponential. The algorithm designed is based upon intensive use of matrix products and linear system solutions so we can seize the large computational capability that modern graphics processing units (GPUs) have on these types of operations using CUBLAS and CULATOOLS libraries (general purpose GPU), which are efficient implementations of BLAS and LAPACK libraries, respectively, for NVIDIA \(\copyright \) GPUs. A thorough analysis showed that some parts of the algorithm proposed can be carried out in parallel, thus allowing to leverage the two GPUs available in many current compute nodes. Besides, our algorithm can be used by any interested researcher through a friendly MATLAB \(\copyright \) interface.
Similar content being viewed by others
References
Anderson E et al (1994) LAPACK users’ guide. SIAM, Philadelphia
Arias E, Hernández V, Ibáñez J, Peinado J (2007) A fixed point-based BDF method for solving Riccati equations. Appl Math Comput 188(2):1319–1333
Benner P, Mena H (2004) BDF methods for large-scale differential Riccati equations. In: 16th International symposium on mathematical theory of network and systems (MTNS2004), Katholieke Universiteit Leuven, Belgium
Benner P, Mena H (2013) Rosenbrock methods for solving Riccati differential equations. IEEE Trans Autom Control 58(11):2950–2956
Chandrasekhar H (1976) Generalized Chandrasekhar algorithms: time-varying models. IEEE Trans Autom Control 21:728–732
Chen B, Company R, Jdar L, Rosell MD (2007) Constructing accurate polynomial approximations for nonlinear differential initial value problems. Appl Math Comput 193:523–534
Choi CH (1988) Efficient algorithms for solving stiff matrix-valued Riccati differential equations. PhD thesis, University of California, California
Choi CH (1992) Time-varying Riccati differential equations with known analytic solutions. IEEE Trans Autom Control 37:642–645
Davison EJ, Maki MC (1973) The numerical solution of the matrix Riccati differential equation. IEEE Trans Autom Control 18(1):71–73
Defez E, Hervs A, Soler L, Tung MM (2007) Numerical solutions of matrix differential models using cubic matrix splines II. Math Comput Model 46:657–669
Dieci L (1992) Numerical integration of the differential Riccati equation and some related issues. SIAM J Numer Anal 29(3):781–815
EM Photonics (2011) CULATOOLS, R12 edn
Hernández V, Ibáñez J, Arias E, Peinado J (2008) A GMRES-based BDF method for solving differential Riccati equations. Appl. Math. Comput. 196(2):613–626
Horn RA, Johnson CR (1991) Topics in matrix analysis. Cambridge University Press, London
Ibáñez J, Hernández V (2010) Solving differential matrix Riccati equations by a piecewise-linearized method based on the conmutant equation. Comput Phys Commun 180:2103–2114
Ibáñez J, Hernández V (2011) Solving differential matrix Riccati equations by a piecewise-linearized method based on diagonal Padé approximants. Comput Phys Commun 182:669–678
Ibáñez J, Hernández V, Arias E, Ruiz P (2009) Solving initial value problems for ordinary differential equations by two approaches: BDF and piecewise-linearized methods. Comput Phys Commun 180(5):712–723
Kenney CS, Leipnik RB (1985) Numerical integration of the differential matrix Riccati equation. IEEE Trans Autom Control 30:962–970
Li R-C (2000) Unconventional reflexive numerical methods for matrix differential Riccati. In: Technical report 2000-36, Department of Mathematics, University of Kentucky, Lexington
MathWorks (2013) MATLAB MEX files. http://www.mathworks.es/es/help/matlab/create-mex-files.html. Accessed June 2013
MathWorks (2013) MATLAB parallel computing toolbox. http://www.mathworks.es/products/parallel-computing. Accessed June 2013
Meyer GH (1973) Initial value methods for boundary value problems. Academic Press, New York
NVIDIA Corporation (2013) CUBLAS library. http://docs.nvidia.com/cuda/cublas/. Accessed June 2013
NVIDIA Corporation (2013) CUDA C programming guide. http://docs.nvidia.com/cuda/cuda-c-programming-guide. Accessed June 2013
Ramos JI, García CM (1997) Piecewise-linearized methods for initial-value problems. Appl Math Comput 82:273–302
Rand DW, Winternitz P (1984) Nonlinear superposition principles: a new numerical method for solving matrix Riccati equations. Comput Phys Commun 33:305–328
Sanz-Serna JM (1992) Symplectic integrators for Hamiltonian problems: an overview. Acta Numer 1:243–286
Sastre J, Ibez J, Defez E, Ruiz P (2011) Accurate matrix exponential computation to solve coupled differential models in engineering. Math Comput Model 54:1835–1840
Sorine M, Winternitz P (1985) Superposition laws for the solution of differential Riccati equations. IEEE Trans Autom Control 30:266–272
Vaughan DR (1969) A negative exponential solution for the matrix Riccati equation. IEEE Trans Autom Control 14(1):72–75
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Peinado, J., Alonso, P., Ibáñez, J. et al. Solving time-invariant differential matrix Riccati equations using GPGPU computing. J Supercomput 70, 623–636 (2014). https://doi.org/10.1007/s11227-014-1111-3
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11227-014-1111-3