statsmodels.tsa.statespace.tools.is_invertible¶
-
statsmodels.tsa.statespace.tools.is_invertible(polynomial, threshold=
0.9999999999)[source]¶ 确定一个多项式是否可逆。
要求多项式的所有根都位于单位圆内。
- Parameters:¶
- polynomialarray_like or
tuple,list 多项式的系数,按升序排列。 例如,polynomial=[1, -0.5] 对应于多项式 \(1 - 0.5x\),其根为 \(2\)。如果它是一个矩阵 多项式(在这种情况下,系数是系数矩阵), 应传递一个矩阵的元组或列表。
- threshold
number 允许的阈值,使得 is_invertible 返回 True。默认值为 1。
- polynomialarray_like or
另请参阅
注释
如果提供的系数是标量 \((c_0, c_1, \dots, c_n)\), 那么对应的多项式是 \(c_0 + c_1 L + \dots + c_n L^n\)。
如果提供的系数是矩阵 \((C_0, C_1, \dots, C_n)\), 那么对应的多项式是 \(C_0 + C_1 L + \dots + C_n L^n\)。
有三种等效的方法来确定由系数表示的多项式是否可逆:
第一种方法将多项式分解为:
\[\begin{split}C(L) & = c_0 + c_1 L + \dots + c_n L^n \\ & = constant (1 - \lambda_1 L) (1 - \lambda_2 L) \dots (1 - \lambda_n L)\end{split}\]为了使 \(C(L)\) 可逆,必须每个因子 \((1 - \lambda_i L)\) 都可逆;条件是 \(|\lambda_i| < 1\),其中 \(\lambda_i\) 是多项式的根。
第二种方法将多项式分解为:
\[\begin{split}C(L) & = c_0 + c_1 L + \dots + c_n L^n \\ & = constant (L - \zeta_1) (L - \zeta_2) \dots (L - \zeta_3)\end{split}\]条件现在是 \(|\zeta_i| > 1\),其中 \(\zeta_i\) 是系数反转的多项式的根,并且 \(\lambda_i = \frac{1}{\zeta_i}\)。
最后,可以使用多项式的系数形成一个伴随矩阵。然后,该矩阵的特征值给出多项式的根。这最后一种方法是实际使用的方法。
Last update:
Oct 16, 2024