我正在 matlab 中实现计算给定矩阵 A 的 Hessenberg 矩阵。我理解数学并且我手动计算了它,但我一直在使用相同的解决方案。
矩阵 A =
-149.0000 -42.2037 -156.3165
537.6783 152.5511 554.9272
0 -0.0728 2.4489
我的结果=
-149.0000 -42.2037 -156.3165
537.6783 152.5511 554.9272
0 -0.0728 2.4489
matlab中的hess结果=
-149.0000 42.2037 -156.3165
-537.6783 152.5511 -554.9272
0 0.0728 2.4489
我获得的结果是仅使用一个 Given 旋转
G{1}(3,4)
1.0000 0 0
0 0.9987 0.0502
0 -0.0502 0.9987
G{1}(3,4).transpose * A * G{1}(3,4) 应该得到正确的解决方案。
如您所见,我获得的结果有一些不属于它们的减号。我的实现是错误的还是 hess 的实现是错误的,或者它们都是有效的?
提前谢谢了!