# PolyUtils module

## Real polynomial domains

Hypatia.PolyUtils.EllipsoidDomainType
mutable 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}.

source
Hypatia.PolyUtils.BoxDomainType
mutable 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}.

source
Hypatia.PolyUtils.BallDomainType
mutable 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.

source

## Interpolation

Hypatia.PolyUtils.interpolateFunction
interpolate(
dom,
d;
calc_V,
sample,
sample_factor
)


Compute interpolation data for a real weighted sum-of-squares conic constraint on a domain.

source
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.

source