Skip to main content

Solving time-invariant differential matrix Riccati equations using GPGPU computing

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.

This is a preview of subscription content, access via your institution.

Fig. 1
Fig. 2

References

  1. 1.

    Anderson E et al (1994) LAPACK users’ guide. SIAM, Philadelphia

    Google Scholar 

  2. 2.

    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

    MathSciNet  Article  MATH  Google Scholar 

  3. 3.

    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

  4. 4.

    Benner P, Mena H (2013) Rosenbrock methods for solving Riccati differential equations. IEEE Trans Autom Control 58(11):2950–2956

    Google Scholar 

  5. 5.

    Chandrasekhar H (1976) Generalized Chandrasekhar algorithms: time-varying models. IEEE Trans Autom Control 21:728–732

    Article  Google Scholar 

  6. 6.

    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

    MathSciNet  Article  MATH  Google Scholar 

  7. 7.

    Choi CH (1988) Efficient algorithms for solving stiff matrix-valued Riccati differential equations. PhD thesis, University of California, California

  8. 8.

    Choi CH (1992) Time-varying Riccati differential equations with known analytic solutions. IEEE Trans Autom Control 37:642–645

    Article  Google Scholar 

  9. 9.

    Davison EJ, Maki MC (1973) The numerical solution of the matrix Riccati differential equation. IEEE Trans Autom Control 18(1):71–73

    Article  MATH  Google Scholar 

  10. 10.

    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

    Article  MATH  Google Scholar 

  11. 11.

    Dieci L (1992) Numerical integration of the differential Riccati equation and some related issues. SIAM J Numer Anal 29(3):781–815

    MathSciNet  Article  MATH  Google Scholar 

  12. 12.

    EM Photonics (2011) CULATOOLS, R12 edn

  13. 13.

    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

    MathSciNet  Article  MATH  Google Scholar 

  14. 14.

    Horn RA, Johnson CR (1991) Topics in matrix analysis. Cambridge University Press, London

    Book  MATH  Google Scholar 

  15. 15.

    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

    Article  Google Scholar 

  16. 16.

    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

    Article  MATH  Google Scholar 

  17. 17.

    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

    Article  MATH  Google Scholar 

  18. 18.

    Kenney CS, Leipnik RB (1985) Numerical integration of the differential matrix Riccati equation. IEEE Trans Autom Control 30:962–970

    MathSciNet  Article  MATH  Google Scholar 

  19. 19.

    Li R-C (2000) Unconventional reflexive numerical methods for matrix differential Riccati. In: Technical report 2000-36, Department of Mathematics, University of Kentucky, Lexington

  20. 20.

    MathWorks (2013) MATLAB MEX files. http://www.mathworks.es/es/help/matlab/create-mex-files.html. Accessed June 2013

  21. 21.

    MathWorks (2013) MATLAB parallel computing toolbox. http://www.mathworks.es/products/parallel-computing. Accessed June 2013

  22. 22.

    Meyer GH (1973) Initial value methods for boundary value problems. Academic Press, New York

    MATH  Google Scholar 

  23. 23.

    NVIDIA Corporation (2013) CUBLAS library. http://docs.nvidia.com/cuda/cublas/. Accessed June 2013

  24. 24.

    NVIDIA Corporation (2013) CUDA C programming guide.  http://docs.nvidia.com/cuda/cuda-c-programming-guide. Accessed June 2013

  25. 25.

    Ramos JI, García CM (1997) Piecewise-linearized methods for initial-value problems. Appl Math Comput 82:273–302

    MathSciNet  Article  MATH  Google Scholar 

  26. 26.

    Rand DW, Winternitz P (1984) Nonlinear superposition principles: a new numerical method for solving matrix Riccati equations. Comput Phys Commun 33:305–328

    MathSciNet  Article  Google Scholar 

  27. 27.

    Sanz-Serna JM (1992) Symplectic integrators for Hamiltonian problems: an overview. Acta Numer 1:243–286

    MathSciNet  Article  Google Scholar 

  28. 28.

    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

    Article  MATH  Google Scholar 

  29. 29.

    Sorine M, Winternitz P (1985) Superposition laws for the solution of differential Riccati equations. IEEE Trans Autom Control 30:266–272

    MathSciNet  Article  MATH  Google Scholar 

  30. 30.

    Vaughan DR (1969) A negative exponential solution for the matrix Riccati equation. IEEE Trans Autom Control 14(1):72–75

    MathSciNet  Article  Google Scholar 

Download references

Author information

Affiliations

Authors

Corresponding author

Correspondence to Pedro Alonso.

Rights and permissions

Reprints 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

Download citation

Keywords

  • Differential matrix Riccati equation (DMRE)
  • Ordinary differential equation (ODE)
  • Piecewise-linearized method
  • Padé approximants
  • GPGPU