Skip to content

Latest commit

 

History

History
46 lines (32 loc) · 2.45 KB

README.md

File metadata and controls

46 lines (32 loc) · 2.45 KB

Multivariate Bases

Build Status Codecov branch

This package provides a standardized API for multivariate polynomial bases based on the MultivariatePolynomials API.

This package defines a few univariate bases such as chebyshev polynomials. These are then extended to multivariate as follows. Given a monomial x^i * y^j the corresponding multivariate chebyshev polynomial is the product of the ith univariate chebyshev polynomial in x and the jth univariate chebyshev polynomial in y. Given this one-to-one correspondence between monomials and multivariate chebyshev polynomials, we represent them directly by these monomials and keep this representation even through addition, multiplication, etc...

julia> using DynamicPolynomials

julia> @polyvar x y;

julia> using MultivariateBases

julia> basis = FullBasis{Chebyshev,typeof(x*y)}();

julia> basis[x^2 * y^3]
ChebyshevFirstKind(x²y³)

julia> basis[x^2 * y^3] * basis[x * y]
1//4·ChebyshevFirstKind(xy²) + 1//4·ChebyshevFirstKind(xy⁴) + 1//4·ChebyshevFirstKind(x³y²) + 1//4·ChebyshevFirstKind(x³y⁴)

The elements obtained by manipulating these polynomials are StarAlgebras.AlgebraElement. The algebra in StarAlgebras.jl implements the MutableArithmetics.jl API for efficient manipulation.

See the documentation for more details.

Documentation

  • STABLEmost recently tagged version of the documentation.
  • LATESTin-development version of the documentation.