3X3矩阵变化的行列式的有效计算?

时间:2013-12-05 17:16:19

标签: c++ c math matrix language-agnostic

假设您获得了3x3值的矩阵,并且只有特定列在迭代之间更改值。

在第1步,我有X:

[2.0, 4.6, 3.4]
[3.2, 6.7, 4.1]
[2.1, 1.4, 5.3]

谁的决定因素是-11.476

现在在第2步,我有X,第二列填充了新值。

[2.0, 6.5, 3.4]
[3.2, 3.4, 4.1]
[2.1, 0.8, 5.3]

考虑到矩阵的先前状态及其先前的行列式,是否有快速计算此矩阵行列式的方法?我想保留以前状态中已知的一些信息。每次迭代只会更改列。

2 个答案:

答案 0 :(得分:3)

如果它始终与更改的列相同,则可以对该列使用Laplace expansion

答案 1 :(得分:2)

如果您的第一列和第三列是常量且只有第二列不同,那么您可以将其转换为公式:

[2.0,a,3.4]
[3.2,b,4.1]
[2.1,c,5.3]

= -a x [3.2,4.1] [2.1,5.3] + b x [2.0,3.4] [2.1,5.3] - c x [2.0,3.4] [3.2,4.1]

= -8.35 x a + 3.46 x b + 2.68 x c

所以现在你有了一个可以使用的公式。