在某些特定情况下,当特征值重复时,有没有一种方法可以使用较少的命令来获得广义特征向量?如果每个特征值的重复次数为1,则可以使用[V,D] = eig(A)
命令,但是对于多个特征值,该命令无效。
在某些特定情况下,当特征值重复时,有没有一种方法可以使用较少的命令来获得广义特征向量?如果每个特征值的重复次数为1,则可以使用[V,D] = eig(A)
命令,但是对于多个特征值,该命令无效。
A = [ 35 -12 4 30 ;
22 -8 3 19 ;
-10 3 0 -9 ;
-27 9 -3 -23 ];
然后我们将探讨它的特征多项式、特征值和特征向量。
poly(A)
ans =
1.0000 -4.0000 6.0000 -4.0000 1.0000
这些是特征多项式的系数,因此它为(λ-1)^4。
[V, D] = eigensys(A)
V =
[ 1, 0]
[ 0, 1]
[-1, 3]
[-1, 0]
D =
[1]
[1]
[1]
[1]
w1 = [1 0 -1 -1]';
w2 = [0 1 3 0]';
与单重性数为4的特征值λ=1相关联,因此具有缺陷2。
因此我们设置了4x4单位矩阵和矩阵B=A-λI。
Id = eye(4);
B = A - L*Id;
当 L=1 时,我们计算 B^2 和 B^3。
B2 = B*B
B3 = B2*B
u1 = [1 0 0 0]';
u2 = B*u1
u2 =
34
22
-10
-27
u3 = B*u2
u3 =
42
7
-21
-42
eigensys
已经不存在了。可以使用eig(sym(A))
作为替代,但输出的结果可能不完全匹配。另外,poly
的替代方法是charpoly
,它返回符号结果。 - horchler