Skip to content

Standardized API for multivariate polynomial bases based on the MultivariatePolynomials.jl API.

License

Notifications You must be signed in to change notification settings

JuliaAlgebra/MultivariateBases.jl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

65 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

Standardized API for multivariate polynomial bases based on the MultivariatePolynomials.jl API.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages