InterpolationElement(elements::X, constructNodes::Bool = true)

Initalize an interpolation element from a collection of tuple of simple elements. The optional second argument constructNodes determines whether or not predefined nodes should be used.

LineElement(n, geometry, params)

Construct interpolation object on a line with order n, some geometry and parameters params.


Returns a Tuple of ranges which span 1:sum(dimTuple) with the property length(res[i]) == dimTuple[i]. Used to associate dimensions with rows in matrices.

generateTensorNodes!(res, tuple_nodes)

Generates a tensor product of input nodes tuple_nodes. The input is a tuple of node matrices. Columns of the node input store coordinates and rows store different nodes. The output is written into res. If the input nodes x_i have dimensions size(d_i, n_i) the output size(res) = (sum(d_i), prod(n_i)). The nodes are iterated first to last, i.e. ([e1_1 e1_2], [e2_1 e2_2]) -> [[e1_1, e2_1] [e1_2, e2_1] [e1_1, e2_2] [e1_2, e2_2]]

jacobiRecurrenceRelation(Pₙ₋₁, Pₙ₋₂, n, α, β, x)

Classical three terms recurrence relation for Jacobi-Polynomials defined on $(-1,1)$. Requires the two pervious terms Pₙ₋₁, Pₙ₋₂, the order n, the parameters α>-1, β>-1 and the location x as input. The value of the previous terms is irrelevant for n=0 and n=1.

setVandermonde(intElement::InterpolationElement{T,D,X,Y}, nodes::NTuple{D, AbstractMatrix{T}})

Update the Vandermonde matrix of an interpolation element for set of nodes.

updateInterpolation!(intElement::InterpolationElement, node_values::AbstractVector)

Update the modes of the interpolation from a function values. The structure of the node values fᵢ=f(xᵢ) must be the same as the one used for the xᵢ when initalizing the Vandermonde matrix.