# poly


具有指定根的多项式或特征多项式

函数库: TyMath

# 语法

p = poly(r)
p = poly(A)

# 说明

p = poly(r)(其中 r 是向量)返回多项式的系数,其中多项式的根是 r 的元素。示例


p = poly(A)(其中 A 是 n×n 矩阵)返回矩阵 的特征多项式的 n+1 个系数。示例

# 示例

来自特征值的特征多项式

计算矩阵 A 的特征值。

using TyMath
A = [1 8 -10; -4 2 4; -5 2 8]
A = 3×3 Matrix{Int64}:
  1  8  -10
 -4  2    4
 -5  2    8
e = eigvals(A)
e = 3-element Vector{ComplexF64}:
 -0.3109528850834832 - 2.6704004497568996im
 -0.3109528850834832 + 2.6704004497568996im
  11.621905770166965 + 0.0im

由于 e 中的特征值是 A 的特征多项式的根,使用 poly 可确定来自 e 中的值的特征多项式。

p = poly(e)
p = 4-element Vector{ComplexF64}:
                    1.0 + 0.0im
    -10.999999999999998 + 0.0im
 -3.552713678800501e-15 + 0.0im
     -83.99999999999984 + 0.0im
矩阵的特征多项式

使用 poly 来计算矩阵 A 的特征多项式。

using TyMath
A = [1 2 3; 4 5 6; 7 8 0]
A = 3×3 Matrix{Int64}:
 1  2  3
 4  5  6
 7  8  0
p = poly(A)
p = 4-element Vector{Float64}:
   1.0
  -6.000000000000008
 -72.00000000000007
 -27.00000000000005

使用 roots 计算 p 的根。特征多项式的根是矩阵 A 的特征值。

r = roots(p)
r = 3-element Vector{Float64}:
 12.122893784632398
 -5.734509942225072
 -0.3883838424073203

# 输入参数

r - 多项式根
向量

多项式的根,指定为向量。

示例: poly([2,-3])

示例: poly([2,-2,3,-3])

示例: poly(roots(k))

示例: poly(eigvals(A))

数据类型: Int64 | Int32 | Int16 | Int128 | Float64 | Float32 | Float16

复数支持:

A - 输入矩阵
矩阵

输入矩阵。

示例: poly([0 -1; 1 0])

数据类型: Int64 | Int32 | Int16 | Int128 | Float64 | Float32 | Float16

复数支持:

# 输出参数

p - 多项式系数
向量

多项式系数,以向量形式返回。

  • 如果输入为 n×n 方阵 A,则 p 包含 A 的特征多项式的系数。

  • 如果输入是根的向量 r,则 p 包含其根在 r 中的多项式的系数。

在每种情况下,p 中的 n+1 个系数都以如下方式描述多项式

# 提示

对于向量,r = roots(p) 和 p = poly(r) 互为反函数,负责舍入误差、排序和缩放。

# 算法

用于 poly 和 roots 的算法阐明了现代特征值计算方法中一个有趣的方面。poly(A) 生成 A 的特征多项式,roots(poly(A)) 计算该多项式的根,而这些根是 A 的特征值。但 poly 和 roots 都使用基于相似变换的 eigvals。传统方法实际上与之相反,它是将特征值定义为特征多项式根。

如果 A 是 n×n 矩阵,poly(A) 生成系数 p[1] 至 p[n+1],对于以下方程,p[1] = 1

.

算法是:

z = eigvals(A)
p = zeros(n+1) 
p[1] = 1.0
for j in 1:n
    p[2:j+1] = p[2:j+1]-z[j]*p[1:j]
end

此递归通过展开乘积来获得:

可以证明 poly(A) 在 A 的舍入误差内生成矩阵特征多项式中的系数。即使 A 的特征值为病态的情况下,这也成立。用于获取特征多项式的传统算法不使用特征值,并且没有此类符合要求的数值属性。

# 另请参阅

conv | polyval | polyvalm | residue | roots