我有一个小的,条件良好的Hermitian矩阵L,其特征值为[0,2]。在尝试计算L的倒数范数时,我得到了奇怪的结果:
>> norm(inv(L))
ans =
2.0788
>> min(eig(L))
ans =
0.5000
这很奇怪,因为逆的第二范数应该是矩阵的最小特征值的等倒数。
我知道机器算法引入的错误,但在这个小的,埃尔米特和条件良好的例子中,我预计它可以忽略不计。
这是矩阵https://www.dropbox.com/s/nh1wegrnn53wb6w/matrix.mat
我在Linux mint 16(Petra)上使用matlab 8.2.0.701(R2013b)。
答案 0 :(得分:5)
这不是一个数字问题,因为你已经指出矩阵是条件良好的。
逆的第二范数应该是矩阵的最小特征值的等倒数
仅当矩阵是具有正特征值的埃尔米特(即正定)时才是这样。来自维基百科:矩阵A的谱范数是A的最大奇异值,即正半定矩阵A * A的最大特征值的平方根
所以在这里你可以计算逆的范数:
[v,d] = eig(L'*L);
1.0/sqrt(min(diag(d))) = 2.0788539
norm(inv(L)) = 2.0788539
正如我们所料。