QuantLib
A free/open-source library for quantitative finance
Reference manual - version 1.20
Public Member Functions | List of all members
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

- Public Types inherited from Interpolation2D
typedef Real first_argument_type
 
typedef Real second_argument_type
 
typedef Real result_type
 
- 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()

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