PolynomialEvaluationArray(polynomials::Array{Polynomial{T}, N})
A structure for the fast evaluation of the given array polynomials
of polynomials. This provides a speedup about the separete evaluation of the polynomials since as much computations as possible are shared over all polynomials of the array.
FixedPolynomials.evaluate!
— Function.evaluate!(u::AbstractArray{T,N}, PEA::PolynomialEvaluationArray{T,N}, x::AbstractVector{T})
Evaluate PEA
at x
and store the result in u
. This will result in a call to precompute!
.
FixedPolynomials.precompute!
— Function.precompute!(PEA::PolynomialEvaluationArray{T}, x::AbstractVector{T})
Precompute values for the evaluation of PEA
at x
.
FixedPolynomials.unsafe_evaluate
— Function.unsafe_evaluate(PEA::PolynomialEvaluationArray{T,N}, I::Vararg{Int,N})
Evaluate the polynomial with index I
in PEA
for the value x
for which the last call to precompute!
occured.
Example
F = PolynomialEvaluationArray([f1 f2; f3 f4])
# assume now we are only interested on the entries f2 and f4
precompute!(F, x) #this is important!
unsafe_evaluate(F, 1, 2) == evaluate(f2, x)
unsafe_evaluate(F, 2, 2) == evaluate(f4, x)