MacaulayMatrix
Documentation for MacaulayMatrix.
MacaulayMatrix.Ellipsoid
MacaulayMatrix.FirstStandardNonSaturated
MacaulayMatrix.ShiftStatus
MacaulayMatrix.H2.F1
MacaulayMatrix.H2.F2
MacaulayMatrix.H2.F3
MacaulayMatrix.H2.F6
MacaulayMatrix.H2.FOM2
MacaulayMatrix.H2.FourDisk
MacaulayMatrix.H2.HomotopyH2_17
MacaulayMatrix.H2.HomotopyH2_2
MacaulayMatrix.H2.Mauricio
MacaulayMatrix.H2.RationalL2_SISO
MacaulayMatrix.H2.Spanos_1992_1
MacaulayMatrix.H2.Spanos_1992_3
MacaulayMatrix.H2.addPoly
MacaulayMatrix.H2.convolveSym
MacaulayMatrix.add_monomial_ideal_generators!
MacaulayMatrix.cheat_nullspace
MacaulayMatrix.cheat_system
MacaulayMatrix.expand!
MacaulayMatrix.is_forever_trivial
MacaulayMatrix.is_saturated
MacaulayMatrix.monomial_ideal_generators
MacaulayMatrix.Ellipsoid
— Typefunction Ellipsoid{T,M<:AbstractMatrix}
M::M
end
Represent the set x'A'Ax = 1
.
MacaulayMatrix.FirstStandardNonSaturated
— Typestruct FirstStandardNonSaturated <: AbstractShiftsSelector
max_num::Int
end
Select the first max_num
standard monomials that are not saturated yet.
MacaulayMatrix.ShiftStatus
— Type@enum(ShiftStatus, NOT_INCLUDED, INCLUDED, NOT_REDUNDANT, REDUNDANT)
NOT_INCLUDED
: Not included yet in the rows of the Macaulay matrixINCLUDED
: Already included in the rows of the Macaulay matrix but redundancy unknownNOT_REDUNDANT
: Already included in the rows of the Macaulay matrix and no redundancy with the other rows includedREDUNDANT
: Redundant with another row already included in the Macaulay matrix
MacaulayMatrix.add_monomial_ideal_generators!
— Methodadd_monomial_ideal_generators!(generators, standard_monomials, fixed, vars)
Given the standard monomials of a zero-dimensional monomial ideal, returns the generators of this monomial ideal of the form fixed * m
where m
is a monomial in vars
and vars * m
is not a multiple of any of the monomials in generators
.
MacaulayMatrix.cheat_nullspace
— Methodcheat_nullspace(ν::MM.MomentMatrix, args...)
Return the nullspace of ν
as matrix for each each row is an element of the nullspace.
MacaulayMatrix.cheat_system
— Methodcheat_system(ν::MM.MomentMatrix, args...)
Return the nullspace of ν
as an vector of polynomials.
MacaulayMatrix.expand!
— Methodexpand!(M::LazyMatrix, degs; sparse_columns::Bool = true)
Add the row shifts for which the maxdegree of the shifted polynomial would be in degs
. If sparse_columns
is false
then all monomials of degree in degs
will be added to the columns. Otherwise, only the columns that correspond to the monomial of one of the shifted polynomials will be added.
MacaulayMatrix.is_forever_trivial
— Methodis_forever_trivial(M::LazyMatrix, col::MP.AbstractMonomial)
Return true
if there does not exists any shift (even outside of M.row_shifts
) that such that the shift of any of the polynomial has col
as one of its monomial.
MacaulayMatrix.is_saturated
— Methodis_saturated(M::LazyMatrix, col::MP.AbstractMonomial; use_cache = true)
Return true
if all possible shift of a polynomial such that col
is one of the shifted monomial have been included.
MacaulayMatrix.monomial_ideal_generators
— Methodmonomial_ideal_generators(standard_monomials)
Given the standard monomials of a zero-dimensional monomial ideal, returns the generators of this monomial ideal.
MacaulayMatrix.H2.F1
— MethodSecond order H2 optimal approximation of linear dynamical systems, M.I. Ahmad, M. Frangos, I.M. Jaimoukha (2011) - Proc. of the 18th IFAC World Congress, Milano, Italy.
MacaulayMatrix.H2.F2
— MethodSecond order H2 optimal approximation of linear dynamical systems, M.I. Ahmad, M. Frangos, I.M. Jaimoukha (2011) - Proc. of the 18th IFAC World Congress, Milano, Italy.
MacaulayMatrix.H2.F3
— MethodSecond order H2 optimal approximation of linear dynamical systems, M.I. Ahmad, M. Frangos, I.M. Jaimoukha (2011) - Proc. of the 18th IFAC World Congress, Milano, Italy.
MacaulayMatrix.H2.F6
— MethodSecond order H2 optimal approximation of linear dynamical systems, M.I. Ahmad, M. Frangos, I.M. Jaimoukha (2011) - Proc. of the 18th IFAC World Congress, Milano, Italy.
MacaulayMatrix.H2.FOM2
— MethodH2 Model Reduction for Large-Scale Linear Dynamical Systems, S. Gugercin, A.C. Antoulas, and C. Beattie (2008) - SIAM Journal on Matrix Analysis and Applications.
MacaulayMatrix.H2.FourDisk
— MethodH2 model reduction for SISO systems, B. De Moor, P. Van Overschee, and G. Schelfout (1993) - Proc. of the 12th IFAC World Congress, Sydney, Australia.
MacaulayMatrix.H2.HomotopyH2_17
— MethodNotes on computation time:
- q = 1-3 feasible (+-20 seconds).
- q = 2 : 500 paths
- q = 3 : 4 000 paths
- q = 4 : 33 000 paths (1 thread: ETA 3h)
- q = 5 : 164 000 paths (6 threads: ETA 4-5h)
Homotopy methods for solving the optimal projection equations for the H2 reduced order model problem, D. Zigic, L.T. Watson, E.G. Collins, D.S. Bernstein (1992) - International Journal of Control.
MacaulayMatrix.H2.HomotopyH2_2
— Method# Solution from paper:
A = -4998.078625
B = 100.000194
C = 100.000194
println("Solution proposed in literature:")
println(ControlSystemsBase.tf(ControlSystemsBase.ss(A, B, C, 0)))
Homotopy methods for solving the optimal projection equations for the H2 reduced order model problem, D. Zigic, L.T. Watson, E.G. Collins, D.S. Bernstein (1992) - International Journal of Control.
MacaulayMatrix.H2.Mauricio
— MethodGlobally Optimal H2-Norm Model Reduction: A Numerical Linear Algebra Approach, O.M.Agudelo, V. Christof, B. De Moor (2021) - IFAC-PapersOnLine.
MacaulayMatrix.H2.RationalL2_SISO
— MethodRational L_2 Approximation: A Non-Gradient Algorithm, A. Lepschy, G.A. Mian, G. Pinato, U. Viaro (1991) - Proc. of the 30th Conference on Decision and Control, Brighton, England.
MacaulayMatrix.H2.Spanos_1992_1
— MethodA New Algorithm for L_2 Optimal Model Reduction, J.T. Spanos, M.H. Milman, D.L. Mingori (1992) - Automatica.
MacaulayMatrix.H2.Spanos_1992_3
— MethodA New Algorithm for L_2 Optimal Model Reduction, J.T. Spanos, M.H. Milman, D.L. Mingori (1992) - Automatica.
MacaulayMatrix.H2.addPoly
— MethodaddPoly(x::Vector, y::Vector)
Return the coefficients (in decreasing power order) of the product of polynomials with coefficients x
and y
. (in decreasing power order).
MacaulayMatrix.H2.convolveSym
— MethodconvolveSym(x::Vector, y::Vector)
Return the coefficients (in decreasing power order) of the product of polynomials with coefficients x
and y
. (in decreasing power order).