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

source
PeriodicMatrices.peigvalsMethod
 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.

source
PeriodicMatrices.ts2fmFunction
 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).

source
PeriodicMatrices.psreduc_regFunction
psreduc_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.

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

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

source