Calculate the MDCM Markovian generator matrix
Source:R/s4-calcMDCMGeneratorMatrix.R
calcMDCMGeneratorMatrix.Rd
Calculates the infinitesimal Markov generator matrix of the corresponding
(Markovian) default-counting process, used internally by rexmo()
.
Arguments
- object
An object deriving from the class BernsteinFunction.
- d
A positive integer, larger than two, for the dimension.
- cscale
A positive number for the composite scaling factor.
- ...
pass-through parameter.
Details
For a given Bernstein function, the Markov generator matrix is defined as the upper triangular matrix with elements $$ q_{i, j}^\ast = \binom{d-i}{j-i} \begin{cases} -\psi{(d-i)} & \text{if } i = j , \\ {(-1)}^{j-i-1} \Delta^{j-i}{ \psi{(d-i)} } & \text{if } i < j , \\ 0 & \text{otherwise} . \end{cases} $$ The calculation of the Markov generator matrix using this formula is usually not numerically stable. Consequently, the various alternative approaches are used dependent on the class of the Bernstein function.
The (upper triangular) infinitesimal Markov generator of the associated death-counting process is calculated recursively: $$ q_{0, i}^\ast = \eta_{i} , \quad i \in {\{ 1 , \ldots , d \}} , $$ and $$ q_{i+1, j+1}^\ast = \frac{d-j}{d-i} q_{i,j}^\ast + \frac{j+1-i}{d-i} q_{i, j+1}^\ast , \quad 0 \leq i < j \leq d . $$
See also
Other Bernstein function generics:
calcExShockArrivalIntensities()
,
calcExShockSizeArrivalIntensities()
,
calcIterativeDifference()
,
calcShockArrivalIntensities()
,
calcValue()
,
getDefaultMethodString()
,
getLevyDensity()
,
getStieltjesDensity()
Examples
bf <- AlphaStableBernsteinFunction(alpha = 0.7)
calcMDCMGeneratorMatrix(bf, 3)
#> [,1] [,2] [,3] [,4]
#> [1,] -2.157669 1.599493 0.2740209 0.2841549
#> [2,] 0.000000 -1.624505 1.2490096 0.3754952
#> [3,] 0.000000 0.000000 -1.0000000 1.0000000
#> [4,] 0.000000 0.000000 0.0000000 0.0000000