QuantLib: a free/open-source library for quantitative finance
Fully annotated sources - version 1.32
Loading...
Searching...
No Matches
Public Member Functions | Private Member Functions | Private Attributes | List of all members
KernelInterpolationImpl< I1, I2, Kernel > Class Template Reference

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

+ Inheritance diagram for KernelInterpolationImpl< I1, I2, Kernel >:
+ Collaboration diagram for KernelInterpolationImpl< I1, I2, Kernel >:

Public Member Functions

 KernelInterpolationImpl (const I1 &xBegin, const I1 &xEnd, const I2 &yBegin, Kernel kernel, const Real epsilon)
 
void update () override
 
Real value (Real x) const override
 
Real primitive (Real) const override
 
Real derivative (Real) const override
 
Real secondDerivative (Real) const override
 
- Public Member Functions inherited from Interpolation::templateImpl< I1, I2 >
 templateImpl (const I1 &xBegin, const I1 &xEnd, const I2 &yBegin, const int requiredPoints=2)
 
Real xMin () const override
 
Real xMax () const override
 
std::vector< RealxValues () const override
 
std::vector< RealyValues () const override
 
bool isInRange (Real x) const override
 
- Public Member Functions inherited from Interpolation::Impl
virtual ~Impl ()=default
 
virtual void update ()=0
 
virtual Real xMin () const =0
 
virtual Real xMax () const =0
 
virtual std::vector< RealxValues () const =0
 
virtual std::vector< RealyValues () const =0
 
virtual bool isInRange (Real) const =0
 
virtual Real value (Real) const =0
 
virtual Real primitive (Real) const =0
 
virtual Real derivative (Real) const =0
 
virtual Real secondDerivative (Real) const =0
 

Private Member Functions

Real kernelAbs (Real x1, Real x2) const
 
Real gammaFunc (Real x) const
 
void updateAlphaVec ()
 

Private Attributes

Size xSize_
 
Real invPrec_
 
Matrix M_
 
Array alphaVec_
 
Array yVec_
 
Kernel kernel_
 

Additional Inherited Members

- Protected Member Functions inherited from Interpolation::templateImpl< I1, I2 >
Size locate (Real x) const
 
- Protected Attributes inherited from Interpolation::templateImpl< I1, I2 >
I1 xBegin_
 
I1 xEnd_
 
I2 yBegin_
 

Detailed Description

template<class I1, class I2, class Kernel>
class QuantLib::detail::KernelInterpolationImpl< I1, I2, Kernel >

Definition at line 37 of file kernelinterpolation.hpp.

Constructor & Destructor Documentation

◆ KernelInterpolationImpl()

KernelInterpolationImpl ( const I1 &  xBegin,
const I1 &  xEnd,
const I2 &  yBegin,
Kernel  kernel,
const Real  epsilon 
)

Definition at line 40 of file kernelinterpolation.hpp.

Member Function Documentation

◆ update()

void update ( )
overridevirtual

Implements Interpolation::Impl.

Definition at line 49 of file kernelinterpolation.hpp.

+ Here is the call graph for this function:

◆ value()

Real value ( Real  x) const
overridevirtual

Implements Interpolation::Impl.

Definition at line 51 of file kernelinterpolation.hpp.

+ Here is the call graph for this function:

◆ primitive()

Real primitive ( Real  ) const
overridevirtual

Implements Interpolation::Impl.

Definition at line 62 of file kernelinterpolation.hpp.

◆ derivative()

Real derivative ( Real  ) const
overridevirtual

Implements Interpolation::Impl.

Definition at line 67 of file kernelinterpolation.hpp.

◆ secondDerivative()

Real secondDerivative ( Real  ) const
overridevirtual

Implements Interpolation::Impl.

Definition at line 72 of file kernelinterpolation.hpp.

◆ kernelAbs()

Real kernelAbs ( Real  x1,
Real  x2 
) const
private

Definition at line 79 of file kernelinterpolation.hpp.

+ Here is the caller graph for this function:

◆ gammaFunc()

Real gammaFunc ( Real  x) const
private

Definition at line 83 of file kernelinterpolation.hpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ updateAlphaVec()

void updateAlphaVec ( )
private

Definition at line 93 of file kernelinterpolation.hpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Member Data Documentation

◆ xSize_

Size xSize_
private

Definition at line 124 of file kernelinterpolation.hpp.

◆ invPrec_

Real invPrec_
private

Definition at line 125 of file kernelinterpolation.hpp.

◆ M_

Matrix M_
private

Definition at line 126 of file kernelinterpolation.hpp.

◆ alphaVec_

Array alphaVec_
private

Definition at line 127 of file kernelinterpolation.hpp.

◆ yVec_

Array yVec_
private

Definition at line 127 of file kernelinterpolation.hpp.

◆ kernel_

Kernel kernel_
private

Definition at line 128 of file kernelinterpolation.hpp.