24#ifndef quantlib_fdm_kluge_ou_solver_hpp
25#define quantlib_fdm_kluge_ou_solver_hpp
38 class ExtOUWithJumpsProcess;
39 class ExtendedOrnsteinUhlenbeckProcess;
45 ext::shared_ptr<YieldTermStructure> rTS,
55 return solver_->interpolateAt(x);
60 ext::shared_ptr<FdmLinearOpComposite>op(
65 solver_ = ext::shared_ptr<FdmNdimSolver<N> >(
71 const ext::shared_ptr<YieldTermStructure>
rTS_;
76 mutable ext::shared_ptr<FdmNdimSolver<N> >
solver_;
void performCalculations() const override
BOOST_STATIC_ASSERT(N >=3)
const Handle< KlugeExtOUProcess > klugeOUProcess_
const FdmSolverDesc solverDesc_
FdmKlugeExtOUSolver(Handle< KlugeExtOUProcess > klugeOUProcess, ext::shared_ptr< YieldTermStructure > rTS, FdmSolverDesc solverDesc, const FdmSchemeDesc &schemeDesc=FdmSchemeDesc::Hundsdorfer())
const ext::shared_ptr< YieldTermStructure > rTS_
ext::shared_ptr< FdmNdimSolver< N > > solver_
Real valueAt(const std::vector< Real > &x) const
const FdmSchemeDesc schemeDesc_
Shared handle to an observable.
Framework for calculation on demand and result caching.
virtual void calculate() const
std::pair< iterator, bool > registerWith(const ext::shared_ptr< Observable > &)
Kluge process (power) plus Ornstein Uhlenbeck process (gas)
Globally accessible relinkable pointer.
joint Kluge process an d Ornstein Uhlenbeck process
framework for calculation on demand and result caching
static FdmSchemeDesc Hundsdorfer()
const FdmBoundaryConditionSet bcSet
const ext::shared_ptr< FdmMesher > mesher