Utilities
peigvals
Eigenvalues of a cyclic matrix product.ts2fm
Compute the function matrix to interpolate a matrix time series.psreduc_reg
Fast reduction of a lifted regular pencil corresponding to a product of matrices.
PeriodicMatrices.peigvals
— Method ev = peigvals(A::Array{T,3}; rev = true, fast = false)
Compute the eigenvalues of a product of p
square matrices A(p)...*A(2)*A(1)
, if rev = true
(default) (also called characteristic multipliers) or of A(1)*A(2)...A(p)
if rev = false
, without evaluating the product. The matrices A(1)
, ...
, A(p)
are contained in the n×n×p
array A
such that the i
-th matrix A(i)
is contained in A[:,:,i]
. If fast = false
(default) then the eigenvalues are computed using an approach based on the periodic Schur decomposition [1], while if fast = true
the structure exploiting reduction [2] of an appropriate lifted pencil is employed. This later option may occasionally lead to inaccurate results for large number of matrices.
References
[1] A. Bojanczyk, G. Golub, and P. Van Dooren, The periodic Schur decomposition. Algorithms and applications, Proc. SPIE 1996.
[2] A. Varga & P. Van Dooren. Computing the zeros of periodic descriptor systems. Systems and Control Letters, 50:371-381, 2003.
PeriodicMatrices.peigvals
— Method ev = peigvals(A::Vector{Matrix}[, k = 1]; rev = true, fast = false)
Compute the eigenvalues of a square cyclic product of p
matrices A(k-1)...*A(2)*A(1)*A(p)...*A(k)
, if rev = true
(default) or A(k)*A(k+1)*...A(p)*A(1)...A(k-1)
if rev = false
, without evaluating the product. The argument k
specifies the starting index (default: k = 1
). The matrices A(1)
, ...
, A(p)
are contained in the p
-vector of matrices A
such that the i
-th matrix A(i)
, of dimensions m(i)×n(i)
, is contained in A[i]
. If fast = false
(default) then the eigenvalues are computed using an approach based on the periodic Schur decomposition [1], while if fast = true
the structure exploiting reduction [2] of an appropriate lifted pencil is employed. This later option may occasionally lead to inaccurate results for large number of matrices.
Note: The first nmin
components of ev
contains the core eigenvalues
of the appropriate matrix product, where nmin
is the minimum row dimensions of matrices A[i]
, for i = 1, ..., p
, while the last ncur-nmin
components of ev
are zero, where ncur
is the column dimension of A[k]
if rev = true
or the row dimension of A[k]
if rev = false
.
References
[1] A. Bojanczyk, G. Golub, and P. Van Dooren, The periodic Schur decomposition. Algorithms and applications, Proc. SPIE 1996.
[2] A. Varga & P. Van Dooren. Computing the zeros of periodic descriptor systems. Systems and Control Letters, 50:371-381, 2003.
PeriodicMatrices.ts2fm
— Function ts2fm(A::Vector{<:AbstractMatrix}, period; method = "linear") -> At::Function
Compute the function matrix corresponding to an interpolated matrix time series. For the given matrix time series A
, a function matrix A(t)
is defined as the mapping A(t) = t -> Aint(t)
, where Aint(t)
is an array of interpolation objects, as provided in the Interpolations.jl
package. The keyword parameter method
specifies the interpolation method to be used as follows:
method = "constant"
- use periodic B-splines of degree 0 (constant interpolation);
method = "linear"
- use periodic B-splines of degree 1 (linear interpolation) (default);
method = "quadratic"
- use periodic B-splines of degree 2 (quadratic interpolation);
method = "cubic"
- use periodic B-splines of degree 3 (cubic interpolation).
PeriodicMatrices.psreduc_reg
— Functionpsreduc_reg(A) -> (M, N)
Determine for a n×n×p
array A
, the matrix pair (M, N)
with N
invertible and M-λN
regular, such that the eigenvalues of M-λN
are the same as those of the matrix product A(p)*A(p-1)*...*A(1)
, where A(i)
is contained in A[:,:,i]
. The structure exploiting fast reduction method of [1] is employed to determine M
and N
.
[1] A. Varga & P. Van Dooren. Computing the zeros of periodic descriptor systems. Systems and Control Letters, 50:371-381, 2003.
psreduc_reg(A,E) -> (M, N)
Determine for a pair of n×n×p
arrays (A,E)
, the matrix pair (M, N)
with M-λN
regular, such that the eigenvalues of M-λN
are the same as those of the quotient matrix product inv(E(p))*(A(p)*inv(E(p-1))*A(p-1)*...*inv(E(1))*A(1)
, where A(i)
is contained in A[:,:,i]
and E(i)
is contained in E[:,:,i]
. The structure exploiting fast reduction method of [1] is employed to determine M
and N
.
[1] A. Varga & P. Van Dooren. Computing the zeros of periodic descriptor systems. Systems and Control Letters, 50:371-381, 2003.
psreduc_reg(A) -> (M, N)
Determine for a p
-dimensional vector of rectangular matrices A
, the matrix pair (M, N)
with N
invertible and M-λN
regular, such that the eigenvalues of M-λN
are the same as those of the square matrix product A(p)*A(p-1)*...*A(1)
, where A(i)
is contained in A[i]
. The structure exploiting fast reduction method of [1] is employed to determine M
and N
.
[1] A. Varga & P. Van Dooren. Computing the zeros of periodic descriptor systems. Systems and Control Letters, 50:371-381, 2003.