Class RationalFunctionInterpolation

java.lang.Object
net.finmath.interpolation.RationalFunctionInterpolation
All Implemented Interfaces:
Serializable, DoubleUnaryOperator

public class RationalFunctionInterpolation extends Object implements DoubleUnaryOperator, Serializable
This class provides methodologies to interpolate given sample points by rational functions, that is, given interpolation points (xi,yi) the class provides a continuous function y = f(x) where
• f(xi) = yi and
• for xi < x < xi+1 the function is a fraction of two polynomes f(x) = (sum aj xj) / (sum bk xk).
This setup comprises linear interpolation (for which the function is C0) and cubic spline interpolation (for which the function is C1).
Version:
1.3
Author:
Christian Fries
• Nested Class Summary

Nested Classes
Modifier and Type
Class
Description
static enum
RationalFunctionInterpolation.ExtrapolationMethod

static enum
RationalFunctionInterpolation.InterpolationMethod

• Constructor Summary

Constructors
Constructor
Description
RationalFunctionInterpolation(double[] points, double[] values)
Generate a rational function interpolation from a given set of points.
RationalFunctionInterpolation(double[] points, double[] values, RationalFunctionInterpolation.InterpolationMethod interpolationMethod, RationalFunctionInterpolation.ExtrapolationMethod extrapolationMethod)
Generate a rational function interpolation from a given set of points using the specified interpolation and extrapolation method.
• Method Summary

Modifier and Type
Method
Description
double
applyAsDouble(double operand)

RationalFunctionInterpolation.InterpolationMethod
getInterpolationMethod()
Returns the interpolation method used.
double
getValue(double x)
Get an interpolated value for a given argument x.
static void
main(String[] args)

Methods inherited from class java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Methods inherited from interface java.util.function.DoubleUnaryOperator

andThen, compose
• Constructor Details

• RationalFunctionInterpolation

public RationalFunctionInterpolation(double[] points, double[] values)
Generate a rational function interpolation from a given set of points.
Parameters:
points - The array of the xi sample points of a function y=f(x).
values - The corresponding array of the yi sample values to the sample points xi.
• RationalFunctionInterpolation

public RationalFunctionInterpolation(double[] points, double[] values, RationalFunctionInterpolation.InterpolationMethod interpolationMethod, RationalFunctionInterpolation.ExtrapolationMethod extrapolationMethod)
Generate a rational function interpolation from a given set of points using the specified interpolation and extrapolation method.
Parameters:
points - The array of the xi sample points of a function y=f(x).
values - The corresponding array of the yi sample values to the sample points xi.
interpolationMethod - The interpolation method to be used.
extrapolationMethod - The extrapolation method to be used.
• Method Details

• getInterpolationMethod

public RationalFunctionInterpolation.InterpolationMethod getInterpolationMethod()
Returns the interpolation method used.
Returns:
Returns the interpolationMethod.
• getValue

public double getValue(double x)
Get an interpolated value for a given argument x.
Parameters:
x - The abscissa at which the interpolation should be performed.
Returns:
The interpolated value (ordinate).
• main

public static void main(String[] args)
• applyAsDouble

public double applyAsDouble(double operand)
Specified by:
applyAsDouble in interface DoubleUnaryOperator