Table of Contents

Class FdmSolverDesc

Namespace
NanoQL.Methods
Assembly
NanoQL.dll

The description of a finite-difference problem a solver rolls back: its mesher, boundary conditions, step conditions, inner value, maturity and time steps.

public sealed record FdmSolverDesc : IEquatable<FdmSolverDesc>
Inheritance
FdmSolverDesc
Implements
Inherited Members

Remarks

A record of the problem's parts, as QuantLib's struct is; the step conditions and the calculator are working types it holds by reference, so a description serves one rollback.

Constructors

FdmSolverDesc(FdmMesher, ImmutableArray<BoundaryCondition<FdmLinearOp>>, FdmStepConditionComposite, FdmInnerValueCalculator, double, int, int)

The description of a finite-difference problem a solver rolls back: its mesher, boundary conditions, step conditions, inner value, maturity and time steps.

public FdmSolverDesc(FdmMesher Mesher, ImmutableArray<BoundaryCondition<FdmLinearOp>> BcSet, FdmStepConditionComposite Condition, FdmInnerValueCalculator Calculator, double Maturity, int TimeSteps, int DampingSteps)

Parameters

Mesher FdmMesher

The mesher.

BcSet ImmutableArray<BoundaryCondition<FdmLinearOp>>

The boundary conditions.

Condition FdmStepConditionComposite

The step conditions.

Calculator FdmInnerValueCalculator

The inner value's calculator, which gives the values at maturity.

Maturity double

The maturity, as a time on the solver's clock: for the Black-Scholes solver, Clock(GeneralizedBlackScholesProcess, FdmQuantoHelper?)'s.

TimeSteps int

The number of time steps.

DampingSteps int

The number of implicit damping steps before them.

Remarks

A record of the problem's parts, as QuantLib's struct is; the step conditions and the calculator are working types it holds by reference, so a description serves one rollback.

Properties

BcSet

The boundary conditions.

public ImmutableArray<BoundaryCondition<FdmLinearOp>> BcSet { get; init; }

Property Value

ImmutableArray<BoundaryCondition<FdmLinearOp>>

Calculator

The inner value's calculator, which gives the values at maturity.

public FdmInnerValueCalculator Calculator { get; init; }

Property Value

FdmInnerValueCalculator

Condition

The step conditions.

public FdmStepConditionComposite Condition { get; init; }

Property Value

FdmStepConditionComposite

DampingSteps

The number of implicit damping steps before them.

public int DampingSteps { get; init; }

Property Value

int

Maturity

The maturity, as a time on the solver's clock: for the Black-Scholes solver, Clock(GeneralizedBlackScholesProcess, FdmQuantoHelper?)'s.

public double Maturity { get; init; }

Property Value

double

Mesher

The mesher.

public FdmMesher Mesher { get; init; }

Property Value

FdmMesher

TimeSteps

The number of time steps.

public int TimeSteps { get; init; }

Property Value

int

Methods

Deconstruct(out FdmMesher, out ImmutableArray<BoundaryCondition<FdmLinearOp>>, out FdmStepConditionComposite, out FdmInnerValueCalculator, out double, out int, out int)

public void Deconstruct(out FdmMesher Mesher, out ImmutableArray<BoundaryCondition<FdmLinearOp>> BcSet, out FdmStepConditionComposite Condition, out FdmInnerValueCalculator Calculator, out double Maturity, out int TimeSteps, out int DampingSteps)

Parameters

Mesher FdmMesher
BcSet ImmutableArray<BoundaryCondition<FdmLinearOp>>
Condition FdmStepConditionComposite
Calculator FdmInnerValueCalculator
Maturity double
TimeSteps int
DampingSteps int

Equals(FdmSolverDesc?)

public bool Equals(FdmSolverDesc? other)

Parameters

other FdmSolverDesc

Returns

bool

Equals(object?)

public override bool Equals(object? obj)

Parameters

obj object

Returns

bool

GetHashCode()

public override int GetHashCode()

Returns

int

ToString()

public override string ToString()

Returns

string

Operators

operator ==(FdmSolverDesc?, FdmSolverDesc?)

public static bool operator ==(FdmSolverDesc? left, FdmSolverDesc? right)

Parameters

left FdmSolverDesc
right FdmSolverDesc

Returns

bool

operator !=(FdmSolverDesc?, FdmSolverDesc?)

public static bool operator !=(FdmSolverDesc? left, FdmSolverDesc? right)

Parameters

left FdmSolverDesc
right FdmSolverDesc

Returns

bool