PeriodicMatrices.jl
PeriodicMatrices.jl
provides the basic tools to handle periodic time-varying matrices. The time dependence can be either continuous or discrete.
Periodic matrices appear in many control applications involving periodic phenomena as for example, satellite attitude control, helicopter forward flight control, orbital stabilization of underactuated systems, control of multi-rate sampled-data systems, etc. These problems can be addressed using tools available in the PeriodicSystems package, which is based on the periodic matrix type defined in this package.
A continuous-time periodic matrix can be specified in the following forms:
- periodic matrix function
- Fourier matrix series in cosine-sine form
- periodic matrix time series with uniform time grid
- periodic matrix time series with non-uniform time grid (also known as periodic switching matrix)
- periodic symbolic matrix
- matrix of Fourier series approximations in sine-cosine form
A discrete-time periodic matrix can be specified in the following forms:
- periodic matrix time series with time-varying dimensions with uniform time grid
- periodic matrix time series with time-varying dimensions with non-uniform time grid
- periodic matrix time series with constant dimensions with uniform time grid
- periodic matrix time series with constant dimensions with non-uniform time grid
For a periodic matrix A(t)
of period T
it is not assumed that T
is the minimum value which satisfies the periodicity condition A(t) = A(t+T)
for all values of t
. To describe matrices having multiple periods, a subperiod Tsub := T/n
can be defined, such that A(t) = A(t+Tsub)
, for all t
. This allows a substantial memory saving for some classes of periodic representations.
Several operations on periodic matrices are implemented, such as, inversion, transposing, norms, derivative/shifting, trace. All operations with two periodic matrices such as addition/substraction, multiplication, horizontal/vertical concatenation, block-diagonal appending, allow different, but commensurate, periods/subperiods.
Functions are provided to compute the characteristic multipliers and characteristic exponents of periodic matrices, using methods based on the periodic Schur decomposition of matrix products or structure exploitung fast algorithms. These functions are instrumental to apply Floquet theory to study the properties of solutions of various classes of differential equations (Mathieu, Hill, Meissner) and the stability of linear periodic systems (see PeriodicSystems package).
The following categories of functions are currently implemented:
Constructors for periodic matrices
PeriodicMatrix
Discrete-time periodic matrix representation.PeriodicArray
Discrete-time periodic array representation.SwitchingPeriodicMatrix
Discrete-time switching periodic matrix representation.SwitchingPeriodicArray
Discrete-time switching periodic array representation.PeriodicFunctionMatrix
Continuous-time periodic function matrix representation.PeriodicSymbolicMatrix
Continuous-time periodic symbolic matrix representation.PeriodicTimeSeriesMatrix
Continuous-time periodic time series matrix representation.HarmonicArray
Continuous-time harmonic array representation.FourierFunctionMatrix
Continuous-time Fourier function matrix representation.PeriodicSwitchingMatrix
Continuous-time switching periodic matrix representation.
Periodic matrix conversions
ts2hr
Conversion of a periodic time series matrix to a harmonic array approximation.pfm2hr
Conversion of a periodic function matrix to a harmonic array representation.ts2pfm
Conversion of an interpolated periodic time series matrix to a periodic function matrix.hr2psm
Conversion of a harmonic array representation to a periodic symbolic matrix.psm2hr
Conversion of a periodic symbolic matrix into a harmonic array representation.pm2pa
Conversion of a discrete-time periodic matrix object to a periodic array object.ffm2hr
Conversion of a Fourier function matrix to a harmonic array representation.hr2bt
Building a block Toeplitz matrix approximation of a harmonic (Fourier) array representation.hr2btupd
Building an updated block Toeplitz matrix approximation of a harmonic (Fourier) array representation.
A comprehensive set of conversions between discrete-time models and between continuous-time models is implemented via the convert
function.
Periodic matrix utilities
pseig
Characteristic multipliers of a periodic matrix.pseigsm
Characteristic multipliers of a periodic symbolic matrix.psceig
Characteristic exponents of a periodic matrix.psceighr
Characteristic exponents of a periodic matrix in Harmonic Array representation.psceigfr
Characteristic exponents of a periodic matrix in Fourier Function Matrix representation.psceigsm
Characteristic exponents of a periodic matrix in symbolic representation.monodromy
Monodromy matrix of a linear periodic time-varying system of ODE.tvstm
State transition matrix of a linear time-varying system of ODE.psreduc_reg
Fast reduction of a lifted regular pencil corresponding to a product of matrices.tvmeval
Time response evaluation of a continuous-time periodic matrix.hreval
Evaluation of a harmonic array for a numerical or symbolic time value.hrchop
Removal of the negligible trailing terms of a harmonic representation.hrtrunc
Truncation of a harmonic representation.pmaverage
Evaluation of the time averaged matrix of a continuous-time periodic matrix.
Periodic Schur decompositions
phess
Periodic Hessenberg decomposition of a product of matrices.pschur
Periodic Schur decompositions of products or quotient products of matrices.psordschur!
Reordering of periodic Schur decompositions of products or quotient products of matrices.psordschur1!
Reordering of periodic Schur decompositions of products or quotient products of square matrices.pgschur
Generalized real periodic Schur decomposition of a formal product of matrices.pgschur
Generalized real periodic Schur decomposition of a formal product of matrices.pgschur!
Generalized real periodic Schur decompositions of formal products of matrices (in place computation).pgschur
Generalized real periodic Schur decompositions of formal products of matrices.pgordschur!
Reordering of generalized real periodic Schur decompositions a formal products of matrices.
Release Notes
Main developer
License: MIT (expat)
References
[1] A. Varga. A Periodic Systems Toolbox for Matlab. Proc. of IFAC 2005 World Congress, Prague, Czech Republic, 2005.
[2] S. Bittanti and P. Colaneri. Periodic Systems - Filtering and Control, Springer Verlag, 2009.
[3] J. A. Richards. Analysis of Periodically Time-Varying Systems, Springer Verlag, 1983.