Julia 1.10 and higher.
PeriodicMatrixEquations.jl is intended to be a collection of Julia functions for the solution of several categories of periodic differential/difference equations. The implementation of solvers relies on the periodic matrix objects defined within the PeriodicMatrices package.
The available functions cover both continuous-time and discrete-time settings, by solving, respectively, periodic differential and difference Lyapunov and Riccati equations with real periodic matrices. The available solvers rely on efficient structure preserving methods using the periodic Schur decomposition of a product of matrices. The solution of periodic differential equations consists of multiple-point periodic generators, which allow the high-precision evaluation of the solution by integrating the appropriate differential equations. By default, interpolation is used for fast evaluation of the solution at arbitrary time values.
[1] A. Varga. On solving periodic differential matrix equations with applications to periodic system norms computation. Proc. IEEE CDC/ECC, Seville, 2005.
[2] A. Varga. Periodic Lyapunov equations: some applications and new algorithms. Int. J. Control, vol, 67, pp, 69-87, 1997.
[3] A. Varga. On solving periodic Riccati equations. Numerical Linear Algebra with Applications, 15:809-835, 2008.