PolyUtils module
Hypatia.PolyUtils — ModuleUtilities for constructing interpolant-basis polynomial sum-of-squares models.
Real polynomial domains
Hypatia.PolyUtils.Domain — Typeabstract type Domain{T<:Real}Real domains for polynomial constraints.
Hypatia.PolyUtils.dimension — Functiondimension(dom)
Dimension of a domain.
Hypatia.PolyUtils.degree — Functiondegree(dom)
Degree of a polynomial constraints defining a domain.
Hypatia.PolyUtils.sample — Functionsample(dom, npts)
Sample npts points from the interior of the domain.
Hypatia.PolyUtils.weights — Functionweights(dom, pts)
Evaluations of the polynomial domain constraints at the points.
Hypatia.PolyUtils.EllipsoidDomain — Typemutable struct EllipsoidDomain{T<:Real} <: Hypatia.PolyUtils.Domain{T<:Real}Hyperellipse $(x-c)' Q (x-c) \leq 1$ with center c::Vector{T} and symmetric positive definite scaling/rotation matrix Q::AbstractMatrix{T}.
Hypatia.PolyUtils.BoxDomain — Typemutable struct BoxDomain{T<:Real} <: Hypatia.PolyUtils.Domain{T<:Real}Hyperbox $x ∈ [l, u]$ with lower bounds l::Vector{T} and upper bounds u::Vector{T}.
Hypatia.PolyUtils.BallDomain — Typemutable struct BallDomain{T<:Real} <: Hypatia.PolyUtils.Domain{T<:Real}Euclidean hyperball $\lVert (x-c) \rVert_2 \leq r$ with center c::Vector{T} and positive radius r::T.
Hypatia.PolyUtils.FreeDomain — Typemutable struct FreeDomain{T<:Real} <: Hypatia.PolyUtils.Domain{T<:Real}Real vectors $x ∈ ℝⁿ$ of dimension n::Int.
Interpolation
Hypatia.PolyUtils.interpolate — Functioninterpolate(
    dom,
    d;
    calc_V,
    get_quadr,
    sample,
    sample_factor
)
Compute interpolation data for a real weighted sum-of-squares conic constraint on a domain.
interpolate(
    R,
    halfdeg,
    n,
    gs,
    g_halfdegs;
    sample_factor,
    use_qr
)
Compute interpolation data for a complex weighted sum-of-squares conic constraint on a domain.