Constraints
Attributes
PolyJuMP.MomentsAttribute — TypeMomentsAttribute(result_index)
MomentsAttribute()A constraint attribute for the vector of moments corresponding to the constraint that a polynomial is zero in the full space in result N. If the polynomial is constrained to be zero in an algebraic set, it is the moments for the constraint once it is rewritten into an constraint on the full space. If N is omitted, it is 1 by default.
Examples
Consider the following program:
@variable(model, α)
@variable(model, β ≤ 1)
using DynamicPolynomials
@polyvar x y
cref = @constraint(model, α * x - β * y == 0, domain = @set x == y)The constraint is equivalent to
@constraint(model, (α - β) * y == 0)for which the dual is the 1-element vector with the moment of y of value -1. This is the result of moments(cref). However, the dual of cref obtained by dual(cref) is the 2-elements vector with both the moments of x and y of value -1.
MultivariateMoments.moments — Methodmoments(cref::JuMP.ConstraintRef)Return the MomentsAttribute of cref.
SumOfSquares.GramMatrix — Typestruct GramMatrix{T, B, U, MT <: AbstractMatrix{T}} <: AbstractGramMatrix{T, B, U}
Q::MT
basis::B
endGram matrix $x^\top Q x$ where Q is a symmetric matrix indexed by the vector of polynomials of the basis basis.
SumOfSquares.GramMatrixAttribute — TypeGramMatrixAttribute(
multiplier_index::Int = 0,
result_index::Int = 1,
)A constraint attribute for the GramMatrix of the multiplier_indexth Sum-of-Squares polynomial $s_i(x)$ where $i$ is multiplier_index of the certificate:
\[p(x) = s_0(x) + w_1(x) s_1(x) + \cdots + w_m(x) s_m(x)\]
The gram matrix of a Sum-of-Squares polynomial $s_i(x)$ is the the positive semidefinite matrix $Q$ such that $s_i(x) = b_i(x)^\top Q b_i(x)$ where $b_i(x)$ is the gram basis.
SumOfSquares.gram_matrix — Functiongram_matrix(cref::JuMP.ConstraintRef)Return the GramMatrixAttribute of cref.
SumOfSquares.gram_operate — Functiongram_operate(::typeof(+), p::GramMatrix, q::GramMatrix)Computes the Gram matrix equal to the sum between p and q. On the opposite, p + q gives a polynomial equal to p + q. The polynomial p + q can also be obtained by polynomial(gram_operate(+, p, q)).
gram_operate(/, p::GramMatrix, α)Computes the Gram matrix equal to p / α. On the opposite, p / α gives a polynomial equal to p / α. The polynomial p / α can also be obtained by polynomial(gram_operate(/, p, α)).
SumOfSquares.MomentMatrixAttribute — TypeMomentMatrixAttribute(
multiplier_index::Int = 0,
result_index::Int = 1,
)A constraint attribute for the MomentMatrix of the multiplier_indexth Sum-of-Squares polynomial $s_i(x)$ where $i$ is multiplier_index of the certificate:
\[p(x) = s_0(x) + w_1(x) s_1(x) + \cdots + w_m(x) s_m(x)\]
It corresponds to the dual of the Sum-of-Squares constraint for the constraint for $s_i(x)$ to be a Sum-of-Squares.
MultivariateMoments.moment_matrix — Functionmoment_matrix(cref::JuMP.ConstraintRef)Return the MomentMatrixAttribute of cref.
SumOfSquares.CertificateBasis — Typestruct CertificateBasis <: MOI.AbstractConstraintAttribute endA constraint attribute for the basis indexing the GramMatrixAttribute and MomentMatrixAttribute certificates.
SumOfSquares.certificate_basis — Functioncertificate_basis(cref::JuMP.ConstraintRef)Return the CertificateBasis of cref.
SumOfSquares.certificate_monomials — Functioncertificate_monomials(cref::JuMP.ConstraintRef)Return the monomials of certificate_basis. If the basis if not MultivariateBases.SubBasis, an error is thrown.
SumOfSquares.LagrangianMultipliers — TypeLagrangianMultipliers(result_index::Int)
LagrangianMultipliers()A constraint attribute fot the LagrangianMultipliers associated to the inequalities of the domain of a constraint. There is one multiplier per inequality and no multiplier for equalities as the equalities are handled by reducing the polynomials over the ideal they generate instead of explicitely creating multipliers.
SumOfSquares.lagrangian_multipliers — Functionlagrangian_multipliers(cref::JuMP.ConstraintRef)Return the LagrangianMultipliers of cref.
SumOfSquares.SOSDecomposition — Typestruct SOSDecomposition{A,T,V,U}Represents a Sum-of-Squares decomposition without domain.
SumOfSquares.SOSDecompositionWithDomain — Typestruct SOSDecompositionWithDomain{A,T,V,U,S}Represents a Sum-of-Squares decomposition on a basic semi-algebraic domain.
SumOfSquares.SOSDecompositionAttribute — Type@kwdef struct SOSDecompositionAttribute
multiplier_index::Int = 0
ranktol::Real
dec::MultivariateMoments.LowRankLDLTAlgorithm
result_index::Int
endA constraint attribute for the SOSDecomposition of a constraint. By default, it is computed using SOSDecomposition(gram, ranktol, dec) where gram is the value of the GramMatrixAttribute.
SumOfSquares.sos_decomposition — Functionsos_decomposition(cref::JuMP.ConstraintRef)Return the SOSDecompositionAttribute of cref.
sos_decomposition(cref::JuMP.ConstraintRef, K<:AbstractBasicSemialgebraicSet)Return representation in the quadraic module associated with K.
SumOfSquares.MultiplierIndexBoundsError — Typestruct MultiplierIndexBoundsError{AttrType} <: Exception
attr::AttrType
range::UnitRange{Int}
endAn error indicating that the requested attribute attr could not be retrieved, because the multiplier index is out of the range of valid indices.
SAGE decomposition attribute:
PolyJuMP.SAGE.Decomposition — Typestruct Decomposition{T, PT}Represents a SAGE decomposition.
PolyJuMP.SAGE.DecompositionAttribute — Typestruct DecompositionAttribute{T} <: MOI.AbstractConstraintAttribute
tol::T
endA constraint attribute for the Decomposition of a constraint.