对称双分解

关于矩阵的一个深奥的事实是,任何真正的矩阵可以写成两个对称矩阵的乘积。我已经知道这一事实多年,但从来没有认真探讨了计算方面。所以我用这篇文章来澄清自己的理解我所说的对称双分解。事实证明,有开放的问题。我不认为我们知道如何可靠地计算的因素。但我也不得不承认,即使我们可以计算它们,我不知道任何实际使用。

内容

定理

没有多少人知道这个定理。

定理:任何真正的矩阵等于两个实对称矩阵的乘积。

几乎证明

乍一看这个定理与特征值无关。但这是证据的开始,一个可能的算法。假设一个真正的矩阵一美元,不同的特征值。然后它可以对角化矩阵的特征向量V美元。

$ $ = V D V ^ {1} $ $

因为我们假设没有多个特征值,矩阵V,非奇异的存在,美元和矩阵D是真实的美元和对角线。让

$ $ S_1 = V D V ^ T $ $

$ $ S_2 = V ^ {- t} V ^ {1} $ $

然后S_1和S_2美元美元是真实的,对称的,和他们的产品

$ $ $ $ S_1 S_2 =

这个观点不是证据。它只是让这个定理可能。挑战当矩阵特征值重复,缺乏一套完整的特征向量,所以它不能对角化。一个完整的证据会变换矩阵其理性的规范形式或约旦标准型和构造显式对称因素的街区的规范形式。

自由度

如果一个美元$ n——- n美元和美元

$ $ A = S_1 S_2 $ $

其中每个对称矩阵的n (n + 1) / 2美元独立的元素,这是n ^ 2美元非线性方程n ^ 2 + n美元未知数。看起来会有一个n参数美元家庭的解决方案。金宝搏官方网站几乎在我的证明,每一个特征向量确定只有一个比例因子。这些n美元规模的因素出现在S_1和S_2美元美元复杂,非线性的方法。我认为,允许复杂的规模因素参数化成套解决方案,但我不确定。金宝搏官方网站

硅藻土的规则

我的两条黄金法则的计算:

  • 最困难的事情是计算不存在的东西。
  • 下一个最难计算的东西都不是唯一的。

对称双分解,我们模糊的定理说分解存在,但自由度观察说,它可能不是独一无二的。更糟的是,唯一的算法需要全套的特征向量,这可能不存在。我们将不得不担心这些事情。

LU分解

最重要的分解数值线性代数,我们使用来解决系统的线性方程组,LU分解。它表达了一个交换矩阵作为两个三角形因素的产物。

$ $ P = L U $ $

置换矩阵P美元给我们存在和数值稳定性。把的对角线上的L消除n自由度美元美元,给我们独一无二。

幻方

我们的第一个例子是我最喜欢的一个矩阵。

=魔法(3)
1 = 8 6 3 5 7 4 9 2

使用符号工具箱来计算特征值和向量。

[V D] = eig(信谊(A))
V = [(2 * 6 ^ (1/2)) / 5 - 7/5 - 6 (2 * ^ (1/2)) / 5 - 7/5 - 1) (2/5 - (2 * 6 ^ (1/2)) / 5 (2 * 6 ^ (1/2)) / 5 + 2/5, 1] (1 1 1) D = (2 * 6 ^ (1/2), 0, 0] [0, 2 * 6 ^ (1/2), 0] [0, 0, 15]

注意到的元素VD涉及\ sqrt{6}所以美元是非理性的。现在我们

S1 =简化(V * D *”) S2 =简化(发票(V * '))
S1 = (1047/25, -57/25, 27/5) (-57/25, 567/25, 123/5) (27/5, 123/5, 15) S2 = (3/16, 1/12, 1/16) (1/12, 1/2、1/4) (1/16, 1/4, 25/48)

美元\ sqrt{6} $已经消失了。你可以看到,S1S2是对称的,有理性的条目,就像广告上说的,他们的产品是什么

产品= S1 * S2
产品= [8 1 6][3、5、7][4 9 2]

让我们玩规模因素。我特别喜欢

V (:, 3) = 2 S1 =简化(V * D *) / 48 S2 = 48 *简化(发票(V * V '))
V = [(2 * 6 ^ (1/2)) / 5 - 7/5 - 6 (2 * ^ (1/2)) / 5 - 7/5, 2] [2/5 (2 * 6 ^ (1/2)) / 5 (2 * 6 ^ (1/2)) / 5 + 2/5、2] [1, 2] S1 = (181/100, 89/100, 21/20) (89/100, 141/100, 29/20) (21/20, 29/20, 5/4) S2 = [0, 1] [0, -16] [1, -16, 21]

现在S1小数条目,S2整数的条目,包括两个零。让我们离开这个具有象征意义的世界。

S1 =双(S1) S2 =双(S2)产品= S1 * S2
S1 = 1.8100 0.8900 1.0500 0.8900 1.4100 1.4500 1.0500 1.4500 1.2500 S2 = 5 0 1 0 -16 1 -16 21个产品= 8 1 6 3 5 7 4 9 2

我不能保证能得到这样漂亮的结果与其他的例子。

近有缺陷

假设我想计算的对称双分解约当块的扰动。

e =符号(“e”,“积极”);= (2 1 0 0;0 2 1 0;0 0 2 1;e 0 0 2)
= (2 1 0 0][0、2、1、0][0 0 2 1](e, 0, 0, 2)

这是特征值分解。向量是按比例缩小的这最后一个组件= 1。特征值位于一个圆在复平面集中在2,半径e ^ (1/4)的签名,这是多重性的一个特征值4。

[V D] = eig(一个);V =简化(V) D =简化(D)
V = (- i / e ^(3/4),我/ e ^ (3/4), 1 / e ^ (3/4), 1 / e ^ (3/4)] [1 / e ^ (1/2), 1 / e ^ (1/2), 1 / e ^ (1/2), 1 / e ^ (1/2)] [i / e ^ (1/4), - i / e ^ (1/4), 1 / e ^ (1/4), 1 / e ^ (1/4)] [1, 1, 1, 1] D = [2 - e ^(1/4) *我,0,0,0][0,e ^ (1/4) * + 2, 0, 0] [0, 0, e ^ (1/4) + 2 0] [0, 0, 0, 2 - e ^ (1/4)

这是一种由贪婪导致的对称双分解特征值分解。

S1 =简化(V * D * V。”) S2 =简化(发票(V * V。'))
S1 = [8 0 4 / e / e, 0] [8 4 / e / e 0 0] [8 / e, 0, 0, 4] [0, 0、4、8] S2 = (0, 0, e / 4 0] [0, e / 4 0 0] [e / 4, 0, 0, 0) (0, 0, 0, 1/4)

嗯,这种工作。S1S2是对称的,并且他们的产品等于一个

产品= S1 * S2
产品= (2,1,0,0)[0、2、1、0][0 0 2 1](e, 0, 0, 2)

但是我担心的因素是非常严重了。当我做e小,大的元素S1变大,小的元素S2变得越来越小。分解分解。

一个更好的分解

一个更好的分解是一个旋转。这两个矩阵是对称的,并且他们的产品一个

S2 =符号(rot90(眼(大小(A)))) S1 = S1 / S2产品= * S2
S2 = [0, 0, 0, 1] [0, 0, 1, 0] [0 1 0,0] [1, 0, 0, 0) S1 = [0, 0, 1, 2] [0, 1, 2, 0] [1 2 0,0] [2 0 0 e]产品= (2,1,0,0)[0、2、1、0][0 0 2 1](e, 0, 0, 2)

我可以复制这个分解尺度改变特征向量?这里的代码使用象征性的解决函数来计算新的规模因素。如果你想了解它是如何工作的,下载这个m文件使用链接在这篇文章中,把分号在本节中,或运行发布一遍。

s =符号(“年代”,4 1);V = V *诊断接头(年代);T =简化(发票(V * V。');溶液=解决(T (: 1) s2 (: 1));s = [soln.s1 (1);soln.s2 (1);soln.s3 (1);soln.s4 (1)]
s = (e ^ (3/4) * 1) ^ (1/2) / 2 (- e ^ (3/4) * 1) ^ (1/2) / 2 e ^ (3/8) / 2 (- e ^ (3/4)) ^ (1/2) / 2

这些规模因素与级复数e ^ (3/8) / 2。让我们重新调节特征向量。当然,特征值不会改变。

[V D] = eig(一个);V =简化(V *诊断接头(s))
V = (- (1) ^ (3/4) / (2 * e ^ (3/8)), (1) ^ (1/4) / (2 * e ^ (3/8), 1 / (2 * e ^(3/8)),我/ (2 * e ^ (3/8))) (((1) ^ (1/4) / (2 * e ^ (1/8), 1 / (1) ^ (1/4) / (2 * e ^ (1/8), 1 / (2 * e ^ (1/8)), i / (2 * e ^ (1/8))) (((1) ^ (3/4) * e ^ (1/8)) / 2 - ((1) ^ (1/4) * e ^ (1/8)) / 2, e ^ (1/8) / 2, - (e ^(1/8) *我)/ 2)(((1)^ (1/4)* e ^ (3/8)) / 2, (1 / (1) ^ (1/4) * e ^ (3/8)) / 2, e ^ (3/8) / 2, (e ^(3/8) *我)/ 2)

现在这些特征向量分解为旋转产生相同的稳定。

S1 =简化(V * D * V。”) S2 =简化(发票(V * V。'))
S1 = [0, 0, 1, 2] [0, 1, 2, 0] [1 2 0,0] [2 0 0 e] S2 = [0, 0, 0, 1] [0, 0, 1, 0] [0 1 0,0] [1, 0, 0, 0)

精心选择的扩展特征向量可以良好的基础数值算法?我对此表示怀疑。我们仍在努力计算并非独一无二的东西,使用因素,几乎不存在。它很不稳定。




使用MATLAB®7.14发表

|
  • 打印
  • 发送电子邮件

评论

留下你的评论,请点击在这里MathWorks账户登录或创建一个新的。