Class FDMSolverFactory

java.lang.Object
net.finmath.finitedifference.solvers.FDMSolverFactory

public final class FDMSolverFactory extends Object
Centralized factory for selecting the finite-difference solver associated with a given model, product, discretization, and exercise specification.

The purpose of this class is to map a model class to the solver implementation capable of handling the corresponding PDE or PIDE. In abstract terms, if the model leads to a pricing equation of the form

\frac{\partial V}{\partial t} + \mathcal{L}V = 0

with generator \mathcal{L}, then this factory selects the discretization engine used to approximate the operator \mathcal{L} on the supplied SpaceTimeDiscretization. For one-dimensional diffusion models this is typically a theta-method solver, while for two-dimensional stochastic-volatility or multi-asset diffusion models this is typically an ADI-based solver.

The current selection logic is:

For barrier-aware two-dimensional Heston and SABR problems, the factory may select a specialized pre-hit / barrier solver depending on the supplied BarrierPDEMode and BarrierPreHitSpecification. If no barrier mode is provided, the corresponding vanilla solver is returned.

The class is a pure utility holder and cannot be instantiated.

Author:
Alessandro Gnoatto