# roots: Calculate Model Roots In dse: Dynamic Systems Estimation (Time Series Package)

## Description

Calculate roots of a TSmodel.

## Usage

 ```1 2 3 4 5 6 7 8``` ``` roots(obj, ...) ## S3 method for class 'SS' roots(obj, fuzz=0, randomize=FALSE, ...) ## S3 method for class 'ARMA' roots(obj, fuzz=0, randomize=FALSE, warn=TRUE, by.poly=FALSE, ...) ## S3 method for class 'TSestModel' roots(obj, ...) ```

## Arguments

 `obj` An object of class TSmodel. `fuzz` If non-zero then roots within fuzz distance are considered equal. `randomize` Randomly arrange complex pairs of roots so the one with the positive imaginary part is not always first (so random experiments are not biased). `warn` If FALSE then warnings about unit roots added for TREND are not printed. `by.poly` If TRUE then roots are calculated by expanding the determinant of the A polynomial. Otherwise, they are calculated by converting to a state space representation and calculating the eigenvalues of F. This second method is preferable for speed, accuracy, and because of a limitation in the degree of a polynomial which can be handled by polyroot. `...` arguments passed to other methods.

## Details

The equality of roots for equivalent state space and ARMA models is illustrated in Gilbert (1993). The calculation of ARMA model roots is more stable if the model is converted to state space and the roots calculated from the state transition matrix (see Gilbert,2000). The calculation is done this way by default. If `by.poly=TRUE` then the determinant of the AR polynomial is expanded to get the roots.

## Value

The eigenvalues of the state transition matrix or the inverse of the roots of the determinant of the AR polynomial are returned.

## References

Gilbert, P. D. (1993) State space and ARMA models: An overview of the equivalence. Working paper 93-4, Bank of Canada. Available at http://www.bankofcanada.ca/1993/03/publications/research/working-paper-199/

Gilbert, P.D. (2000) A note on the computation of time series model roots. Applied Economics Letters, 7, 423–424

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