API
Public
BasicBSpline.refinement_R
— FunctionRefinement of B-spline manifold with additional degree and knotvector.
BasicBSpline.refinement_I
— FunctionRefinement of B-spline manifold with additional degree and knotvector.
BasicBSplineFitting.innerproduct_R
— FunctionCalculate a matrix
\[A_{ij}=\int_{\mathbb{R}} B_{(i,p,k)}(t) B_{(j,p,k)}(t) dt\]
BasicBSplineFitting.innerproduct_I
— FunctionCalculate a matrix
\[A_{ij}=\int_{I} B_{(i,p,k)}(t) B_{(j,p,k)}(t) dt\]
Private
Note that the following methods are considered private methods, and changes in their behavior are not considered breaking changes.
BasicBSpline.r_nomial
— FunctionCalculate $r$-nomial coefficient
r_nomial(n, k, r)
\[(1+x+\cdots+x^r)^n = \sum_{k} a_{n,k,r} x^k\]
BasicBSpline._vec
— FunctionConvert AbstractKnotVector
to AbstractVector
BasicBSpline._lower_R
— FunctionInternal methods for obtaining a B-spline space with one degree lower.
\[\begin{aligned} \mathcal{P}[p,k] &\mapsto \mathcal{P}[p-1,k] \\ D^r\mathcal{P}[p,k] &\mapsto D^{r-1}\mathcal{P}[p-1,k] \end{aligned}\]
BasicBSpline._changebasis_R
— Function_changebasis_R(P::AbstractFunctionSpace, P′::AbstractFunctionSpace)
Internal function for changebasis_R
.
Implicit assumption:
P ⊆ P′
BasicBSpline._changebasis_I
— Function_changebasis_I(P::AbstractFunctionSpace, P′::AbstractFunctionSpace)
Internal function for changebasis_I
.
Implicit assumption:
P ⊑ P′
BasicBSpline.__changebasis_I
— Function__changebasis_I(P::AbstractFunctionSpace, P′::AbstractFunctionSpace)
Internal function for changebasis_I
.
Implicit assumption:
P ⊑ P′
isnondegenerate_I(P′, 1)
isnondegenerate_I(P′, dim(P′))
BasicBSpline._changebasis_sim
— FunctionReturn a coefficient matrix $A$ which satisfy
\[B_{(i,p_1,k_1)} = \sum_{j}A_{i,j}B_{(j,p_2,k_2)}\]
Assumption:
- $P_1 ≃ P_2$