# stability: Calculate Stability of a TSmodel In dse: Dynamic Systems Estimation (Time Series Package)

## Description

Calculate roots and their modulus and indicate stability.

## Usage

 ``` 1 2 3 4 5 6 7 8 9 10``` ``` stability(obj, fuzz=1e-4, eps=1e-15, digits=8, verbose=TRUE) ## S3 method for class 'ARMA' stability(obj, fuzz=1e-4, eps=1e-15, digits=8, verbose=TRUE) ## S3 method for class 'roots' stability(obj, fuzz=1e-4, eps=1e-15, digits=8, verbose=TRUE) ## S3 method for class 'TSmodel' stability(obj, fuzz=1e-4, eps=1e-15, digits=8, verbose=TRUE) ## S3 method for class 'TSestModel' stability(obj, fuzz=1e-4, eps=1e-15, digits=8, verbose=TRUE) ```

## Arguments

 `obj` An object of class TSmodel. `fuzz` Roots within fuzz are considered equal. `eps` Roots with modulus less than (1-eps) are considered stable. `digits` Printing precision. `verbose` Print roots and there moduli.

## Details

The returned value is `TRUE` or `FALSE`, indicating if the model is stable or not. The result also has an attribute `roots` which is a matrix with the first (complex) column indicating the eigenvalues of the state transition matrix `F` for state space models, or the inverse of distinct roots of det(A(L)) for ARMA models, and the second column indicating the moduli of the roots.

The argument `eps` is used to prevents the indication of a stable model when the largest root is within rounding error of 1.0.

## Value

`TRUE` or `FALSE` if the model is stable or not stable.

## Side Effects

The eigenvalues of the state transition matrix or the roots of the determinant of the AR polynomial are printed if verbose is T.

`McMillanDegree`
 ```1 2 3``` ```data("eg1.DSE.data.diff", package="dse") model <- estVARXls(eg1.DSE.data.diff) stability(model) ```