poly
具有指定根的多项式或特征多项式
说明
示例
输入参数
输出参量
提示
对于向量,
r = roots(p)
和p = poly(r)
互为反函数,负责舍入误差、排序和缩放。
算法
用于 poly
和 roots
的算法阐明了现代特征值计算方法中一个有趣的方面。poly(A)
生成 A
的特征多项式,roots(poly(A))
计算该多项式的根,而这些根是 A
的特征值。但 poly
和 roots
都使用基于相似变换的 eig
。传统方法实际上与之相反,它是将特征值定义为特征多项式根。
如果 A
是 n
×n
矩阵,poly(A)
生成系数 p(1)
至 p(n+1)
,对于以下方程,p(1)
=
1
算法是
z = eig(A); p = zeros(n+1,1); p(1) = 1; for j = 1:n p(2:j+1) = p(2:j+1)-z(j)*p(1:j); end
此递归通过展开乘积来获得,
可以证明 poly(A)
在 A
的舍入误差内生成矩阵特征多项式中的系数。即使 A
的特征值为病态的情况下,这也成立。用于获取特征多项式的传统算法不使用特征值,并且没有此类符合要求的数值属性。
扩展功能
版本历史记录
在 R2006a 之前推出