Barycentric Class Reference#

DiFfRG: Barycentric Class Reference
DiFfRG
Discretization Framework for functional Renormalization Group flows
Barycentric Class Reference

Barycentric rational interpolation (Floater-Hormann) of data \((x_i, y_i)\). More...

#include <interpolation.hh>

Public Member Functions

 Barycentric (std::vector< double > &x, std::vector< double > &y, uint order=1, bool copy=true)
 Interpolate the data \((x_i, y_i)\).
 
 Barycentric (const std::vector< double > &x, const std::vector< double > &y, uint order=1)
 Interpolate the data \((x_i, y_i)\); see the other constructor.
 
 Barycentric ()
 An empty interpolator; must be assigned before it is evaluated.
 
double operator() (double x) const
 The interpolant at x.
 
double value (double x) const
 The interpolant at x.
 
double derivative (double x) const
 The derivative of the interpolant at x.
 

Detailed Description

Barycentric rational interpolation (Floater-Hormann) of data \((x_i, y_i)\).

Works on unevenly spaced \(x_i\) and has no spurious poles. Outside \([\min x_i, \max x_i]\) the rational function is extrapolated, not clamped. Uses boost::math::interpolators::barycentric_rational.

Constructor & Destructor Documentation

◆ Barycentric() [1/3]

Barycentric ( std::vector< double > & x,
std::vector< double > & y,
uint order = 1,
bool copy = true )

Interpolate the data \((x_i, y_i)\).

Parameters
xthe nodes \(x_i\), distinct.
ythe values \(y_i\), same length as x.
orderthe approximation order \(d\) of the Floater-Hormann scheme ( \(0 \leq d < \) number of points); higher is smoother but less robust.
copyif false, x and y are moved into the interpolator and left empty.

◆ Barycentric() [2/3]

Barycentric ( const std::vector< double > & x,
const std::vector< double > & y,
uint order = 1 )

Interpolate the data \((x_i, y_i)\); see the other constructor.

◆ Barycentric() [3/3]

An empty interpolator; must be assigned before it is evaluated.

Member Function Documentation

◆ derivative()

double derivative ( double x) const

The derivative of the interpolant at x.

◆ operator()()

double operator() ( double x) const

The interpolant at x.

◆ value()

double value ( double x) const

The interpolant at x.


The documentation for this class was generated from the following file: