FastOPInterpolation.InterpolationElement
— MethodInterpolationElement(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.
FastOPInterpolation.LineElement
— TypeLineElement
Basic struct holding orthogonal polynomials on the line.
FastOPInterpolation.LineElement
— MethodLineElement(n, geometry, params)
Construct interpolation object on a line with order n
, some geometry
and parameters params
.
FastOPInterpolation.generateRanges
— MethodgenerateRanges(dimTuple)
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.
FastOPInterpolation.generateTensorNodes!
— MethodgenerateTensorNodes!(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]]
FastOPInterpolation.generateTensorNodes
— MethodgenerateTensorNodes(tuple_nodes)
Allocating version of generateTensorNodes!
FastOPInterpolation.generateTensorNodes
— MethodgenerateTensorNodes(tuple_nodes)
Allocating version of generateTensorNodes!
FastOPInterpolation.initalizeRecurrence!
— MethodinitalizeRecurrence!(buffer, x)
Triggers a reset of the buffer and sets the spatial variable of the buffer to x
.
FastOPInterpolation.jacobiRecurrenceRelation
— MethodjacobiRecurrenceRelation(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
.
FastOPInterpolation.setVandermonde
— MethodsetVandermonde(intElement::InterpolationElement{T,D,X,Y}, nodes::NTuple{D, AbstractMatrix{T}})
Update the Vandermonde matrix of an interpolation element for set of nodes.
FastOPInterpolation.updateInterpolation!
— MethodupdateInterpolation!(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.