Table of Contents

Class ExpmFunctions

Namespace
NanoQL.Numerics
Assembly
NanoQL.dll

The matrix exponential by the ordinary differential equations method (Moler and Van Loan 1978, "Nineteen Dubious Ways to Compute the Exponential of a Matrix"): each column of exp(t·M) solves x' = M·x from a unit vector, by adaptive Runge-Kutta.

public static class ExpmFunctions
Inheritance
ExpmFunctions
Inherited Members

Methods

Expm(Matrix, double, double)

The matrix exponential exp(t·M).

public static Matrix Expm(Matrix m, double t = 1, double tol = 2.220446049250313E-16)

Parameters

m Matrix

The square matrix M.

t double

The time t.

tol double

The Runge-Kutta tolerance; QuantLib's default is QL_EPSILON.

Returns

Matrix

A new matrix, exp(t·M).

Exceptions

ArgumentNullException

m is null.

ArgumentException

m isn't square.

NanoQLException

The Runge-Kutta integration fails.