Learn R Programming

simStateSpace (version 1.2.14)

TestPhiHurwitz: Test Hurwitz Stability of a Drift Matrix

Description

Returns TRUE iff the drift matrix \(\boldsymbol{\Phi}\) is Hurwitz-stable, i.e., all eigenvalues have real parts strictly less than -eps. Setting eps = 0 enforces the usual strict condition \(\max \Re\{\lambda_i(\boldsymbol{\Phi})\} < 0\). A small positive eps (e.g., 1e-12) can be used to guard against floating-point round-off.

Usage

TestPhiHurwitz(phi, eps = 0)

Arguments

phi

Numeric matrix. The drift matrix (\(\boldsymbol{\Phi}\)).

eps

Nonnegative numeric tolerance (default 0.0). The test checks \(\Re(\lambda_i) < -\text{eps}\) for all eigenvalues.

Author

Ivan Jacob Agaloos Pesigan

See Also

Other Simulation of State Space Models Data Functions: LinSDE2SSM(), LinSDECovEta(), LinSDECovY(), LinSDEMeanEta(), LinSDEMeanY(), ProjectToHurwitz(), ProjectToStability(), SSMCovEta(), SSMCovY(), SSMMeanEta(), SSMMeanY(), SimAlphaN(), SimBetaN(), SimBetaN2(), SimBetaNCovariate(), SimCovDiagN(), SimCovN(), SimIotaN(), SimNuN(), SimPhiN(), SimPhiN2(), SimPhiNCovariate(), SimSSMFixed(), SimSSMIVary(), SimSSMLinGrowth(), SimSSMLinGrowthIVary(), SimSSMLinSDEFixed(), SimSSMLinSDEIVary(), SimSSMOUFixed(), SimSSMOUIVary(), SimSSMVARFixed(), SimSSMVARIVary(), SpectralRadius(), TestPhi(), TestStability(), TestStationarity()

Examples

Run this code
# Unstable example (spectral abscissa >= 0):
phi <- matrix(
  data = c(
    0.10, -0.40,
    0.50, 0.20
  ),
  nrow = 2
)
TestPhiHurwitz(phi = phi) # FALSE

# Stable example (all real parts < 0):
phi <- matrix(
  data = c(
    -0.50, -0.20,
     1.00, -0.30
  ),
  nrow = 2
)
TestPhiHurwitz(phi = phi) # TRUE
TestPhiHurwitz(phi = phi, eps = 1e-12) # also TRUE with tolerance

Run the code above in your browser using DataLab