#include <qle/methods/fdmlgmop.hpp>
Definition at line 34 of file fdmlgmop.hpp.
◆ FdmLgmOp()
Definition at line 27 of file fdmlgmop.cpp.
TripleBandLinearOp dxxMap_
ext::shared_ptr< StochasticProcess1D > process_
ext::shared_ptr< FdmMesher > mesher_
◆ size()
◆ setTime()
void setTime |
( |
Time |
t1, |
|
|
Time |
t2 |
|
) |
| |
|
override |
Definition at line 31 of file fdmlgmop.cpp.
31 {
32 Real v =
process_->variance(t1, 0.0, t2 - t1) / (t2 - t1);
34}
◆ apply()
Array apply |
( |
const Array & |
r | ) |
const |
|
override |
◆ apply_mixed()
Array apply_mixed |
( |
const Array & |
r | ) |
const |
|
override |
Definition at line 49 of file fdmlgmop.cpp.
49 {
50 Array retVal(r.size(), 0.0);
51 return retVal;
52}
◆ apply_direction()
Array apply_direction |
( |
Size |
direction, |
|
|
const Array & |
r |
|
) |
| const |
|
override |
Definition at line 40 of file fdmlgmop.cpp.
40 {
41 if (direction == 0)
42 return mapT_.apply(r);
43 else {
44 Array retVal(r.size(), 0.0);
45 return retVal;
46 }
47}
◆ solve_splitting()
Array solve_splitting |
( |
Size |
direction, |
|
|
const Array & |
r, |
|
|
Real |
s |
|
) |
| const |
|
override |
Definition at line 54 of file fdmlgmop.cpp.
54 {
55 if (direction == 0)
56 return mapT_.solve_splitting(r, dt, 1.0);
57 else {
58 Array retVal(r);
59 return retVal;
60 }
61}
◆ preconditioner()
Array preconditioner |
( |
const Array & |
r, |
|
|
Real |
s |
|
) |
| const |
|
override |
Definition at line 63 of file fdmlgmop.cpp.
Array solve_splitting(Size direction, const Array &r, Real s) const override
◆ toMatrixDecomp()
std::vector< QuantLib::SparseMatrix > toMatrixDecomp |
( |
| ) |
const |
|
override |
Definition at line 66 of file fdmlgmop.cpp.
66 {
67 std::vector<QuantLib::SparseMatrix> retVal(1,
mapT_.toMatrix());
68 return retVal;
69}
◆ mesher_
ext::shared_ptr<FdmMesher> mesher_ |
|
private |
◆ process_
◆ dxMap_
◆ dxxMap_
TripleBandLinearOp dxxMap_ |
|
private |
◆ mapT_