对角线缩放以提高特征值精度
[T、B] =平衡(A)
[S, P, B] =平衡(A)
B =平衡(A)
(A, B =平衡“noperm”)
[T、B] =平衡(A)
返回一个相似变换T
这样B = T \ * T
,B
具有尽可能近似相等的行和列规范。T
是对角矩阵的一种排列,其元素为2的整数次幂,以防止引入舍入误差。如果一个
是对称的,然后B = =
和T
是单位矩阵。
[S, P, B] =平衡(A)
返回比例向量年代
和置换向量P
分开。转换T
和平衡矩阵B
得到了来自一个
,年代
,P
通过T (: P) =诊断接头(S)
和B (P, P) =诊断接头(1. / S) *一*诊断接头(S)
.
B =平衡(A)
只返回平衡矩阵B
.
(A, B =平衡“noperm”)
尺度一个
不需要排列它的行和列。
这个例子展示了基本的思想。矩阵一个
有大的元素在右上方,小的元素在左下方。它远非对称的。
A = [1 100 10000;1 . 01 100;.0001 .01 1] A = 1.0e+04 * 0.0001 0.0100 1.0000 0.0000 0.0001 0.0100 0.0000 0.0000 0.0001
平衡产生一个对角矩阵T
元素是2的幂和一个平衡矩阵B
这更接近于对称一个
.
[T,B] = (A) T = 1.0e+03 * 2.0480 000 0.0320 00 0.0003 B = 1.0000 1.5625 1.2207 0.6400 1.0000 0.7813 0.8192 1.2800 1.0000
要看对特征向量的影响,首先要计算的特征向量一个
,这里显示为V
.
[V E] = eig(一个);V V = 0.9999 -0.9999 0.0100 0.0059 + 0.0085i 0.0059 - 0.0085i 0.0001 0.0000 - 0.0001i 0.0000 + 0.0001i
注意,所有三个向量的第一个分量都是最大的。这表明V
是严重的;事实上电导率(V)
是8.7766 e + 003
.接下来,看特征向量B
.
[V E] = eig (B);V V = 0.6933 -0.6993 0.4437 0.2619 + 0.3825i 0.2619 - 0.3825i 0.5679 0.2376 - 0.4896i 0.2376 + 0.4896i
现在特征向量表现得很好电导率(V)
是1.4421
.病态条件集中在比例矩阵中;电导率(T)
是8192
.
这个例子很小,缩放也不是很严重,所以计算出的特征值一个
和B
同意舍入误差之内;平衡对计算结果的影响很小。
平衡会破坏某些矩阵的性质;小心使用它。如果一个矩阵包含了由于舍入误差而导致的小元素,平衡可能会将它们放大,使它们与原始矩阵的其他元素一样重要。
非对称矩阵具有条件差的特征值。矩阵中的小扰动,如舍入误差,会导致特征值的大扰动。特征向量矩阵的条件数,
电导率(V) =规范(V) *规范(发票(V))
在哪里
[V, T] = eig (A)
将矩阵摄动的大小与特征值摄动的大小联系起来。的条件号一个
它本身与特征值问题无关。
平衡是将特征向量矩阵的任何不利条件集中成对角比例的一种尝试。平衡通常不能将非对称矩阵转化为对称矩阵;它只尝试使每一行的范数等于相应列的范数。
请注意
MATLAB®特征值函数,eig (A)
,自动平衡一个
在计算它的特征值之前。关闭平衡eig (A,“nobalance”)
.