MacaulayMatrix
Documentation for MacaulayMatrix.
MacaulayMatrix.EllipsoidMacaulayMatrix.FirstStandardNonSaturatedMacaulayMatrix.ShiftStatusMacaulayMatrix.H2.F1MacaulayMatrix.H2.F2MacaulayMatrix.H2.F3MacaulayMatrix.H2.F6MacaulayMatrix.H2.FOM2MacaulayMatrix.H2.FourDiskMacaulayMatrix.H2.HomotopyH2_17MacaulayMatrix.H2.HomotopyH2_2MacaulayMatrix.H2.MauricioMacaulayMatrix.H2.RationalL2_SISOMacaulayMatrix.H2.Spanos_1992_1MacaulayMatrix.H2.Spanos_1992_3MacaulayMatrix.H2.addPolyMacaulayMatrix.H2.convolveSymMacaulayMatrix.add_monomial_ideal_generators!MacaulayMatrix.cheat_nullspaceMacaulayMatrix.cheat_systemMacaulayMatrix.expand!MacaulayMatrix.is_forever_trivialMacaulayMatrix.is_saturatedMacaulayMatrix.monomial_ideal_generators
MacaulayMatrix.Ellipsoid — Typefunction Ellipsoid{T,M<:AbstractMatrix}
M::M
endRepresent the set x'A'Ax = 1.
MacaulayMatrix.FirstStandardNonSaturated — Typestruct FirstStandardNonSaturated <: AbstractShiftsSelector
max_num::Int
endSelect 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).