QuantLib: a free/open-source library for quantitative finance
Reference manual - version 1.40
Loading...
Searching...
No Matches
KernelInterpolation2D Class Reference

#include <ql/math/interpolations/kernelinterpolation2d.hpp>

Inheritance diagram for KernelInterpolation2D:

Public Member Functions

template<class I1, class I2, class M, class Kernel>
 KernelInterpolation2D (const I1 &xBegin, const I1 &xEnd, const I2 &yBegin, const I2 &yEnd, const M &zData, const Kernel &kernel)
Public Member Functions inherited from Interpolation2D
Real operator() (Real x, Real y, bool allowExtrapolation=false) const
Real xMin () const
Real xMax () const
std::vector< RealxValues () const
Size locateX (Real x) const
Real yMin () const
Real yMax () const
std::vector< RealyValues () const
Size locateY (Real y) const
const MatrixzData () const
bool isInRange (Real x, Real y) const
void update ()
Public Member Functions inherited from Extrapolator
void enableExtrapolation (bool b=true)
 enable extrapolation in subsequent calls
void disableExtrapolation (bool b=true)
 disable extrapolation in subsequent calls
bool allowsExtrapolation () const
 tells whether extrapolation is enabled

Additional Inherited Members

Protected Member Functions inherited from Interpolation2D
void checkRange (Real x, Real y, bool extrapolate) const
Protected Attributes inherited from Interpolation2D
ext::shared_ptr< Implimpl_

Detailed Description

Implementation of the 2D kernel interpolation approach, which can be found in "Foreign Exchange Risk" by Hakala, Wystup page 256.

The kernel in the implementation is kept general, although a Gaussian is considered in the cited text.

Warning
See the Interpolation class for information about the required lifetime of the underlying data.

Constructor & Destructor Documentation

◆ KernelInterpolation2D()

template<class I1, class I2, class M, class Kernel>
KernelInterpolation2D ( const I1 & xBegin,
const I1 & xEnd,
const I2 & yBegin,
const I2 & yEnd,
const M & zData,
const Kernel & kernel )
Precondition
the \( x \) values must be sorted.
kernel needs a Real operator()(Real x) implementation