Series
MultivariateSeries.SeriesBase.:&Base.:*Base.:|LinearAlgebra.dotMultivariatePolynomials.maxdegreeMultivariateSeries.dualMultivariateSeries.hankelMultivariateSeries.hankelbasisMultivariateSeries.momentMultivariateSeries.scaleMultivariateSeries.scale!MultivariateSeries.seriesMultivariateSeries.series_from_apolar
MultivariateSeries.Series — Type
Series{C,M}Class representing multivariate series. The series is a dictionary, which associates values of type C to monomials of type M.
MultivariateSeries.series — Function
Construct the series with the term (c,m). series(t::OrderedDict{M,C})Construct the series from the OrderedDict t. series(m::AbstractVector, c::AbstractVector)Construct the series with the vectors of monomials m and coefficients c.Construct the series from an array of pairs m=>c where m is a monomial and c the associate coefficient.
series(f::Function, L::Vector{M}) -> Series{C,M}Compute the generating series $\sum_{x^{α} \in L} f(α) z^α$ for a function $f: \mathbb{N}^n \rightarrow C$ and a sequence L of monomials.
series(w:: Vector{C}, P::Matrix{C}, L::Vector{M}) -> Series{C,M}Compute the series of the moment sequence $∑_{i} ω_{i} P_{i}^α$ for $α \in L$.
series(w::AbstractVector, P::AbstractMatrix, X, d::Int64) -> Series{C,M}Compute the series of the moment sequence $∑_i ω_{i} P_{i}^α$ for $|α| \leq d$.
series(p::Polynomial, zeta, X, d::Int64) -> SeriesCompute the series of moments $p(ζ^α)$ for $|α| \leq d$.
series(H::Matrix{C}, L1::Vector{M}, L2::Vector{M}) -> Series{C,M}Compute the series associated to the Hankel matrix H, with rows (resp. columns) indexed by the array of monomials L1 (resp. L2).
MultivariateSeries.dual — Function
dual(p::Polynomial) -> Series{C}Compute the series associated to the polynomial p, replacing the variables xi by their dual variables dxi. C is the type of coefficients of the polynomial p and M its type of monomials.
"
dual(p::AbstractPolynomial, d:: Int64) -> Series{C}Compute the series associated to the tensor p in degree d, using the apolar product. The coefficients are of type C, which is the promoted type between the type of the coefficients of p and Rational{Int}. The coefficients of the monomials m of p are divided by the binomial(d, exponents(m)).
Recover the polynomial from the series by duality.
Recover the polynomial from the series, using the apolar duality i.e. multiplying the coefficients by a binomial.
MultivariateSeries.moment — Function
moment(w::Vector{C}, P::Matrix{C}) -> Vector{Int64} -> CCompute the moment function $α -> ∑_{i} ω_{i} P_{i}^α$ associated to the sequence P of r points of dimension n, which is a matrix of size r*n and the weights w.
moment(p::Polynomial, zeta::Vector{C}) -> Vector{Int64} -> CCompute the moment function $α \rightarrow p(ζ^α)$.
MultivariateSeries.series_from_apolar — Function
s = series_from_apolar(F, X0, rescaling = 1, d = maxdegree(F))Compute the series from the apolar dual of the form F in degree d, setting X0=>1 and rescalling the other variables X[i] => X[i]/rescaling
MultivariateSeries.scale — Function
scale(σ,λ)Scale the moments $σ_α$ by $λ^{deg(α)}$.
MultivariateSeries.scale! — Function
scale!(σ,λ)Scale the moments $σ_α$ by $λ^{deg(α)}$, overwriting $σ$
Base.:* — Function
Multiply the elements of L by the variable v
*(v::Variable, σ::Series{C,M}) -> Series{C,M}
*(m::Monomial, σ::Series{C,M}) -> Series{C,M}
*(t::Term, σ::Series{C,M}) -> Series{C,M}
*(p::Polynomial, σ::Series{C,M}) -> Series{C,M}The dual product (or co-product) where variables are inverted in the polynomial and the monomials with positive exponents are kept in the series.
LinearAlgebra.dot — Function
dot(σ::Series{C,M}, p::Variable) -> C
dot(σ::Series{C,M}, p::Monomial) -> C
dot(σ::Series{C,M}, p::Term) -> C
dot(σ::Series{C,M}, p::Polynomial) -> C
dot(σ::Series{C,M}, p::Polynomial, q::Polynomial) -> CCompute the dot product $‹ p, q ›_{σ} = ‹ σ | p q ›$ or $‹ σ | p ›$ for p, q polynomials, terms or monomials. Apply the linear functional sigma on monomials, terms, polynomials
MultivariatePolynomials.maxdegree — Function
maxdegree(σ::Series) -> Int64Maximal degree of the monomials of the moments of the series σ.
MultivariateSeries.hankel — Function
hankel(σ::Series{C,M}, L1::Vector{M}, L2::Vector{M}) -> Array{C,2}Hankel matrix of $σ$ with the rows indexed by the list of polynomials L1 and the columns by L2. The entries are the dot product for $σ$ of the corresponding elements in L1 and L2.
Example
julia> L =[1, x1, x2, x1^2, x1*x2, x2^2]
julia> H = hankel(s,L,L)
6x6 Array{Float64,2}:
4.0 5.0 7.0 5.0 11.0 13.0
5.0 5.0 11.0 -1.0 17.0 23.0
7.0 11.0 13.0 17.0 23.0 25.0
5.0 -1.0 17.0 -31.0 23.0 41.0
11.0 17.0 23.0 23.0 41.0 47.0
13.0 23.0 25.0 41.0 47.0 49.0MultivariateSeries.hankelbasis — Function
Generate the table of Hankel matrices $H_α$ associated to the monomials $x^α$ generating the space of Hankel matrices indexed by L1 (for the rows) and L2 (for the columns).