statsmodels.tsa.statespace.tools.is_invertible¶
-
statsmodels.tsa.statespace.tools.
is_invertible
(polynomial, threshold=1.0)[source]¶ Determine if a polynomial is invertible.
Requires all roots of the polynomial lie inside the unit circle.
Parameters: polynomial : array_like or tuple, list
Coefficients of a polynomial, in order of increasing degree. For example, polynomial=[1, -0.5] corresponds to the polynomial which has root . If it is a matrix polynomial (in which case the coefficients are coefficient matrices), a tuple or list of matrices should be passed.
threshold : number
Allowed threshold for is_invertible to return True. Default is 1.
See also
Notes
If the coefficients provided are scalars , then the corresponding polynomial is .
If the coefficients provided are matrices , then the corresponding polynomial is .
There are three equivalent methods of determining if the polynomial represented by the coefficients is invertible:
The first method factorizes the polynomial into:
In order for to be invertible, it must be that each factor is invertible; the condition is then that , where is a root of the polynomial.
The second method factorizes the polynomial into:
The condition is now , where is a root of the polynomial with reversed coefficients and .
Finally, a companion matrix can be formed using the coefficients of the polynomial. Then the eigenvalues of that matrix give the roots of the polynomial. This last method is the one actually used.