roots {dse}R Documentation

Calculate Model Roots


Calculate roots of a TSmodel.


    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, ...)



An object of class TSmodel.


If non-zero then roots within fuzz distance are considered equal.


Randomly arrange complex pairs of roots so the one with the positive imaginary part is not always first (so random experiments are not biased).


If FALSE then warnings about unit roots added for TREND are not printed.


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.


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.


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


Gilbert, P. D. (1993) State space and ARMA models: An overview of the equivalence. Working paper 93-4, Bank of Canada. Available at

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

See Also

stability, McMillanDegree


  data("", package="dse")
  model <- estVARXls(

[Package dse version 2020.2-1 Index]