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.
See also
Other Simulation of State Space Models Data Functions:
LinSDE2SSM()
,
LinSDECovEta()
,
LinSDECovY()
,
LinSDEMeanEta()
,
LinSDEMeanY()
,
ProjectToHurwitz()
,
ProjectToStability()
,
SSMCovEta()
,
SSMCovY()
,
SSMMeanEta()
,
SSMMeanY()
,
SimAlphaN()
,
SimBetaN()
,
SimBetaN2()
,
SimCovDiagN()
,
SimCovN()
,
SimIotaN()
,
SimPhiN()
,
SimPhiN2()
,
SimSSMFixed()
,
SimSSMIVary()
,
SimSSMLinGrowth()
,
SimSSMLinGrowthIVary()
,
SimSSMLinSDEFixed()
,
SimSSMLinSDEIVary()
,
SimSSMOUFixed()
,
SimSSMOUIVary()
,
SimSSMVARFixed()
,
SimSSMVARIVary()
,
SpectralRadius()
,
TestPhi()
,
TestStability()
,
TestStationarity()
Examples
# Unstable example (spectral abscissa >= 0):
phi <- matrix(
data = c(
0.10, -0.40,
0.50, 0.20
),
nrow = 2
)
TestPhiHurwitz(phi = phi) # FALSE
#> [1] 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
#> [1] TRUE
TestPhiHurwitz(phi = phi, eps = 1e-12) # also TRUE with tolerance
#> [1] TRUE