Auto-generated utility functions


For each newly defined diffusion DiffusionProcess the package auto-generates some utility functions. They are not exported, but can be called by accessing through DiffusionDefinition module. These are:

Base.eltypeMethod
Base.eltype(::DiffusionProcess{T}) where T = T

Return the datatype that each coordinate of the stochastic process is stored in.

Base.zeroFunction
Base.zero(K::Type, D, ::Val)

If K is a mutable type, then create zeros of dimension D and entries with types eltype(K). Otherwise, calls regular zero(K).

Base.zeroMethod
Base.zero(P::DiffusionProcess)

Instantiate a zero element that can represent a state of a Brownian motion driving a diffusion process.

Base.zeroMethod
Base.zero(P::DiffusionProcess)

Instantiate a zero element that can represent a state of a diffusion.

DiffusionDefinition.const_parametersMethod
const_parameters(P::DiffusionProcess)

Return a tuple of pairs of parameter_name => parameter_value. Return only those parameteres that are considered to be constant.

DiffusionDefinition.default_typeMethod
default_type(::DiffusionProcess{T,DP})

Allows for inference of data type that encodes the state space of a given diffusion.

DiffusionDefinition.default_wiener_typeMethod
default_wiener_type(::DiffusionProcess{T,DP,DW})

Allows for inference of data type that encodes the state space of the Brownian motion driving a given diffusion process.

DiffusionDefinition.diagonaldiffMethod
diagonaldiff(P::DiffusionProcess)

Indicator for whether the volatility coefficient is represented by a diagonal matrix

DiffusionDefinition.dimensionMethod
dimension(::DiffusionProcess{T,DP,DW})

Return dimension of the stochastic process and driving Brownian motion.

DiffusionDefinition.end_point_infoMethod
end_point_info(P::DiffusionProcess)

Return information about the end-point (works only if some information of this kind has been passed at the time of defining a struct) TODO improve

DiffusionDefinition.end_point_info_namesMethod
end_point_info_names(P::DiffusionProcess)

Return names of information pieces about the end-point (works only if some information of this kind has been passed at the time of defining a struct) TODO improve

DiffusionDefinition.nonhypo_σMethod
nonhypo_σ((t,i)::IndexedTime, x, P::DiffusionProcess)

Return a sub-matrix of the full volatility matrix σ that consists of non-zero rows of σ.

DiffusionDefinition.sparseBmatMethod
sparseBmat(P::DiffusionProcess)

Indicator for whether the B matrix (if exists) is represented by a sparse matrix

DiffusionDefinition.sparsediffMethod
sparsediff(P::DiffusionProcess)

Indicator for whether the volatility coefficient is represented by a sparse matrix

DiffusionDefinition.var_parametersMethod
var_parameters(P::DiffusionProcess)

Return a tuple of pairs of parameter_name => parameter_value. Return only those parameteres that are considered to be variable.