MacaulayMatrix

Documentation for MacaulayMatrix.

MacaulayMatrix.ShiftStatusType
@enum(ShiftStatus, NOT_INCLUDED, INCLUDED, NOT_REDUNDANT, REDUNDANT)
  • NOT_INCLUDED : Not included yet in the rows of the Macaulay matrix
  • INCLUDED : Already included in the rows of the Macaulay matrix but redundancy unknown
  • NOT_REDUNDANT : Already included in the rows of the Macaulay matrix and no redundancy with the other rows included
  • REDUNDANT : Redundant with another row already included in the Macaulay matrix
MacaulayMatrix.add_monomial_ideal_generators!Method
add_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_nullspaceMethod
cheat_nullspace(ν::MM.MomentMatrix, args...)

Return the nullspace of ν as matrix for each each row is an element of the nullspace.

MacaulayMatrix.cheat_systemMethod
cheat_system(ν::MM.MomentMatrix, args...)

Return the nullspace of ν as an vector of polynomials.

MacaulayMatrix.expand!Method
expand!(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_trivialMethod
is_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_saturatedMethod
is_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_generatorsMethod
monomial_ideal_generators(standard_monomials)

Given the standard monomials of a zero-dimensional monomial ideal, returns the generators of this monomial ideal.

MacaulayMatrix.H2.F1Method

Second 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.F2Method

Second 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.F3Method

Second 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.F6Method

Second 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.FOM2Method

H2 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.FourDiskMethod

H2 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_17Method

Notes 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_2Method
# 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.MauricioMethod

Globally Optimal H2-Norm Model Reduction: A Numerical Linear Algebra Approach, O.M.Agudelo, V. Christof, B. De Moor (2021) - IFAC-PapersOnLine.

MacaulayMatrix.H2.RationalL2_SISOMethod

Rational 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.addPolyMethod
addPoly(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.convolveSymMethod
convolveSym(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).