Series

MultivariateSeries.SeriesType
Series{C,M}

Class representing multivariate series. The series is a dictionary, which associates values of type C to monomials of type M.

source
MultivariateSeries.seriesFunction
Construct the series with the term (c,m).
source
    series(t::OrderedDict{M,C})
Construct the series from the OrderedDict t.
source
    series(m::AbstractVector, c::AbstractVector)
Construct the series with the vectors of monomials m and coefficients c.
source

Construct the series from an array of pairs m=>c where m is a monomial and c the associate coefficient.

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

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

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

source
series(p::Polynomial, zeta, X, d::Int64) -> Series

Compute the series of moments $p(ζ^α)$ for $|α| \leq d$.

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

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

source

"

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

source

Recover the polynomial from the series by duality.

source

Recover the polynomial from the series, using the apolar duality i.e. multiplying the coefficients by a binomial.

source
MultivariateSeries.momentFunction
moment(w::Vector{C}, P::Matrix{C}) -> Vector{Int64} -> C

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

source
moment(p::Polynomial, zeta::Vector{C}) -> Vector{Int64} -> C

Compute the moment function $α \rightarrow p(ζ^α)$.

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

source
Base.:*Function

Multiply the elements of L by the variable v

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

source
Base.:&Function

Term-wise product of series s by p. All the terms of s are multiplied by p If σ = ∑ σm m, s & p = ∑m (σ_m*p) m

source
LinearAlgebra.dotFunction
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) -> C

Compute 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

source
Base.:|Function
Apply the linear functional sigma to p.
source
MultivariateSeries.hankelFunction
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.0
source
MultivariateSeries.hankelbasisFunction

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

source