version 0.6.0
mod_dd_polynomial Module Reference

Discrete derivative polynomial function evaluation. More...

Functions/Subroutines

pure double precision function evaluate_dd_polynomial (x, derivatives)
 Evaluate a polynomial at x, defined by its derivatives (starting from the \(0^th\) derivative) More...
 
pure double precision function evaluate_dd_polynomial_derivative (x, derivatives, N)
 Evaluate the polynomial's \(N^{th}\) derivative (. More...
 
pure double precision function, dimension(size(derivatives)) get_dd_polynomial (derivatives)
 Get the polynomial associated to a DD. More...
 
pure double precision function, dimension(n) get_dd_lagrange_vector (x, N)
 Get the vector made of the Xvector * ifactorials. More...
 

Variables

integer, parameter max_factorials = 8
 
double precision, dimension(max_factorials), parameter factorials = [ 1d0, 1d0, 2d0, 6d0, 24d0, 120d0, 720d0, 5040d0 ]
 
double precision, dimension(max_factorials), parameter ifactorials = 1d0/factorials
 

Detailed Description

This DD polynomial module furnishes very useful function to evaluate the DD and its derivatives at a particular place x. Once one has computed the numerical value of the derivative at a particular point the evaluation is a simple computation of the Taylor expansion at that point.

For that purpose, we use the common evaluate_polynomial function by considering the \(i^th\) polynomial coefficient as \(p_i = \frac{D_i}{i!} \).

Function/Subroutine Documentation

◆ evaluate_dd_polynomial()

pure double precision function mod_dd_polynomial::evaluate_dd_polynomial ( double precision, intent(in)  x,
double precision, dimension(:), intent(in)  derivatives 
)
Parameters
[in]xthe position where to evaluate
[in]derivativesan array such that \(derivatives(i)=\frac{d^{i-1}P}{dx^{i-1}}\)

◆ evaluate_dd_polynomial_derivative()

pure double precision function mod_dd_polynomial::evaluate_dd_polynomial_derivative ( double precision, intent(in)  x,
double precision, dimension(:), intent(in)  derivatives,
integer, intent(in)  N 
)

◆ get_dd_lagrange_vector()

pure double precision function, dimension(n) mod_dd_polynomial::get_dd_lagrange_vector ( double precision, intent(in)  x,
integer, intent(in)  N 
)

The Lagrange vector can be used when evaluating a discrete derivative or a simple Taylor expansion formulae. It is defined as:

\[ Lv_i = \frac{ x^{i-1} }{i!} \]

Parameters
[in]xthe position
[in]Nthe size of the array @

◆ get_dd_polynomial()

pure double precision function, dimension(size(derivatives)) mod_dd_polynomial::get_dd_polynomial ( double precision, dimension(:), intent(in)  derivatives)
Returns
the array (of the same size) of the associated coefficients