QuantLib: a free/open-source library for quantitative finance
fully annotated source code - version 1.34
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
AnalyticHestonEngine::Integration Class Reference

#include <analytichestonengine.hpp>

+ Collaboration diagram for AnalyticHestonEngine::Integration:

Public Member Functions

Real calculate (Real c_inf, const ext::function< Real(Real)> &f, const ext::function< Real()> &maxBound={}, Real scaling=1.0) const
 
Real calculate (Real c_inf, const ext::function< Real(Real)> &f, Real maxBound) const
 
Size numberOfEvaluations () const
 
bool isAdaptiveIntegration () const
 

Static Public Member Functions

static Integration gaussLaguerre (Size integrationOrder=128)
 
static Integration gaussLegendre (Size integrationOrder=128)
 
static Integration gaussChebyshev (Size integrationOrder=128)
 
static Integration gaussChebyshev2nd (Size integrationOrder=128)
 
static Integration gaussLobatto (Real relTolerance, Real absTolerance, Size maxEvaluations=1000, bool useConvergenceEstimate=false)
 
static Integration gaussKronrod (Real absTolerance, Size maxEvaluations=1000)
 
static Integration simpson (Real absTolerance, Size maxEvaluations=1000)
 
static Integration trapezoid (Real absTolerance, Size maxEvaluations=1000)
 
static Integration discreteSimpson (Size evaluation=1000)
 
static Integration discreteTrapezoid (Size evaluation=1000)
 
static Integration expSinh (Real relTolerance=1e-8)
 
static Real andersenPiterbargIntegrationLimit (Real c_inf, Real epsilon, Real v0, Real t)
 

Private Types

enum  Algorithm {
  GaussLobatto , GaussKronrod , Simpson , Trapezoid ,
  DiscreteTrapezoid , DiscreteSimpson , GaussLaguerre , GaussLegendre ,
  GaussChebyshev , GaussChebyshev2nd , ExpSinh
}
 

Private Member Functions

 Integration (Algorithm intAlgo, ext::shared_ptr< GaussianQuadrature > quadrature)
 
 Integration (Algorithm intAlgo, ext::shared_ptr< Integrator > integrator)
 

Private Attributes

const Algorithm intAlgo_
 
const ext::shared_ptr< Integratorintegrator_
 
const ext::shared_ptr< GaussianQuadraturegaussianQuadrature_
 

Detailed Description

Definition at line 198 of file analytichestonengine.hpp.

Member Enumeration Documentation

◆ Algorithm

enum Algorithm
private
Enumerator
GaussLobatto 
GaussKronrod 
Simpson 
Trapezoid 
DiscreteTrapezoid 
DiscreteSimpson 
GaussLaguerre 
GaussLegendre 
GaussChebyshev 
GaussChebyshev2nd 
ExpSinh 

Definition at line 241 of file analytichestonengine.hpp.

Constructor & Destructor Documentation

◆ Integration() [1/2]

Integration ( Algorithm  intAlgo,
ext::shared_ptr< GaussianQuadrature quadrature 
)
private

Definition at line 882 of file analytichestonengine.cpp.

◆ Integration() [2/2]

Integration ( Algorithm  intAlgo,
ext::shared_ptr< Integrator integrator 
)
private

Definition at line 878 of file analytichestonengine.cpp.

Member Function Documentation

◆ gaussLaguerre()

AnalyticHestonEngine::Integration gaussLaguerre ( Size  integrationOrder = 128)
static

Definition at line 925 of file analytichestonengine.cpp.

◆ gaussLegendre()

AnalyticHestonEngine::Integration gaussLegendre ( Size  integrationOrder = 128)
static

Definition at line 933 of file analytichestonengine.cpp.

◆ gaussChebyshev()

AnalyticHestonEngine::Integration gaussChebyshev ( Size  integrationOrder = 128)
static

Definition at line 940 of file analytichestonengine.cpp.

◆ gaussChebyshev2nd()

AnalyticHestonEngine::Integration gaussChebyshev2nd ( Size  integrationOrder = 128)
static

Definition at line 947 of file analytichestonengine.cpp.

◆ gaussLobatto()

AnalyticHestonEngine::Integration gaussLobatto ( Real  relTolerance,
Real  absTolerance,
Size  maxEvaluations = 1000,
bool  useConvergenceEstimate = false 
)
static

Definition at line 887 of file analytichestonengine.cpp.

◆ gaussKronrod()

AnalyticHestonEngine::Integration gaussKronrod ( Real  absTolerance,
Size  maxEvaluations = 1000 
)
static

Definition at line 898 of file analytichestonengine.cpp.

◆ simpson()

AnalyticHestonEngine::Integration simpson ( Real  absTolerance,
Size  maxEvaluations = 1000 
)
static

Definition at line 907 of file analytichestonengine.cpp.

◆ trapezoid()

AnalyticHestonEngine::Integration trapezoid ( Real  absTolerance,
Size  maxEvaluations = 1000 
)
static

Definition at line 916 of file analytichestonengine.cpp.

◆ discreteSimpson()

AnalyticHestonEngine::Integration discreteSimpson ( Size  evaluation = 1000)
static

Definition at line 954 of file analytichestonengine.cpp.

◆ discreteTrapezoid()

AnalyticHestonEngine::Integration discreteTrapezoid ( Size  evaluation = 1000)
static

Definition at line 961 of file analytichestonengine.cpp.

◆ expSinh()

AnalyticHestonEngine::Integration expSinh ( Real  relTolerance = 1e-8)
static

Definition at line 968 of file analytichestonengine.cpp.

◆ andersenPiterbargIntegrationLimit()

Real andersenPiterbargIntegrationLimit ( Real  c_inf,
Real  epsilon,
Real  v0,
Real  t 
)
static

Definition at line 1046 of file analytichestonengine.cpp.

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

◆ calculate() [1/2]

Real calculate ( Real  c_inf,
const ext::function< Real(Real)> &  f,
const ext::function< Real()> &  maxBound = {},
Real  scaling = 1.0 
) const

Definition at line 992 of file analytichestonengine.cpp.

+ Here is the caller graph for this function:

◆ calculate() [2/2]

Real calculate ( Real  c_inf,
const ext::function< Real(Real)> &  f,
Real  maxBound 
) const

Definition at line 1037 of file analytichestonengine.cpp.

+ Here is the call graph for this function:

◆ numberOfEvaluations()

Size numberOfEvaluations ( ) const

Definition at line 974 of file analytichestonengine.cpp.

+ Here is the caller graph for this function:

◆ isAdaptiveIntegration()

bool isAdaptiveIntegration ( ) const

Definition at line 984 of file analytichestonengine.cpp.

+ Here is the caller graph for this function:

Member Data Documentation

◆ intAlgo_

const Algorithm intAlgo_
private

Definition at line 252 of file analytichestonengine.hpp.

◆ integrator_

const ext::shared_ptr<Integrator> integrator_
private

Definition at line 253 of file analytichestonengine.hpp.

◆ gaussianQuadrature_

const ext::shared_ptr<GaussianQuadrature> gaussianQuadrature_
private

Definition at line 254 of file analytichestonengine.hpp.