Bernstein.Bernstein
— ModuleBernstein basis functions for simplices
Bernstein.barycentric2cartesian
— Methodp = barycentric2cartesian(s, λ)
Convert barycentric to Cartesian coordinates.
Arguments
s
: Simplex vertices in Cartesian coordinates.s
hasN ≤ D + 1
vertices inD
dimensions.λ
: Point in barycentric coordinates
Result
p
: Point in Cartesian coordinates
Bernstein.bernstein
— Functionbernstein(α, λ)
bernstein(s, α, x)
Evaluate Bernstein polynomial
The order of approximation is given implicity by sum(α)
.
Arguments
s
: Vertices of simplexα
: multi-index describing polynomialx
: location where Bernstein polynomial is evaluated in Cartesian coordinatesλ
: location where Bernstein polynomial is evaluated in barycentric coordinates
Bernstein.bernstein_products
— MethodOverlap integrals between Bernstein polynomials (which are neither orthogonal nor normalized)
Bernstein.cartesian2barycentric
— Methodλ = cartesian2barycentric(s, p)
Convert Cartesian to barycentric coordinates.
Arguments
s
: Simplex vertices in Cartesian coordinates.s
hasN ≤ D + 1
vertices inD
dimensions.p
: Point in Cartesian coordinates
Result
λ
: Point in barycentric coordinates
Bernstein.cartesian2barycentric_setup
— Methodcartesian2barycentric_setup(s)
Prepare to convert Cartesian to barycentric coordinates.
The returned setup
structure can be passed to cartesian2barycentric
instead of the simplex vertices. This pre-calculates certain operations and is more efficient.
Arguments
s
: Simplex vertices in Cartesian coordinates.s
hasN=D+1
vertices inD
dimensions.
Result
setup