Skip to content

andreasvarga/PeriodicMatrices.jl

Repository files navigation

PeriodicMatrices.jl

codecov.io Latest The MIT License CI

Handling of periodic time-varying matrices

Compatibility

Julia 1.10 and higher.

About

PeriodicMatrices.jl provides the basic tools to handle periodic time-varying matrices. The time dependence can be either continuous or discrete.

A continuous-time periodic matrix can be specified in the following forms:

  • periodic matrix function
  • harmonic matrix series
  • periodic matrix time series with uniform time grid
  • periodic matrix time series with non-uniform time grid
  • periodic symbolic matrix
  • Fourier matrix series approximation

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.

The provided classes of periodic representation extend the classes used in the Periodic Systems Toolbox for Matlab (see [1]).

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).

Examples of using some functions are available here.

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.

About

Handling of periodic time-varying matrices

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages