如何计算NxN矩阵C#的行列式?用C#计算NxN矩阵行列式
2
A
回答
3
7
OP张贴another question具体询问关于4x4矩阵的问题,该矩阵已被封闭为与此问题完全相同的副本。好吧,如果你不是在寻找一个通用的解决方案,而是被限制在单独4X4矩阵,那么你可以使用这个难看,但尝试和真正的代码:
public double GetDeterminant() {
var m = _values;
return
m[12] * m[9] * m[6] * m[3] - m[8] * m[13] * m[6] * m[3] -
m[12] * m[5] * m[10] * m[3] + m[4] * m[13] * m[10] * m[3] +
m[8] * m[5] * m[14] * m[3] - m[4] * m[9] * m[14] * m[3] -
m[12] * m[9] * m[2] * m[7] + m[8] * m[13] * m[2] * m[7] +
m[12] * m[1] * m[10] * m[7] - m[0] * m[13] * m[10] * m[7] -
m[8] * m[1] * m[14] * m[7] + m[0] * m[9] * m[14] * m[7] +
m[12] * m[5] * m[2] * m[11] - m[4] * m[13] * m[2] * m[11] -
m[12] * m[1] * m[6] * m[11] + m[0] * m[13] * m[6] * m[11] +
m[4] * m[1] * m[14] * m[11] - m[0] * m[5] * m[14] * m[11] -
m[8] * m[5] * m[2] * m[15] + m[4] * m[9] * m[2] * m[15] +
m[8] * m[1] * m[6] * m[15] - m[0] * m[9] * m[6] * m[15] -
m[4] * m[1] * m[10] * m[15] + m[0] * m[5] * m[10] * m[15];
}
它假定您存储矢量数据一个16元件阵列中称为_values
(的double
在这种情况下,但float
将工作太),按以下顺序:
0, 1, 2, 3,
4, 5, 6, 7,
8, 9, 10, 11,
12, 13, 14, 15
0
的标准方法是LU decomposition。您可能想使用库而不是自己编写它。我不知道C#,但40年的标准是LAPACK。
相关问题
- 1. C程序来计算一个NxN矩阵的行列式
- 2. 递归计算矩阵(nxn)的行列式
- 3. 计算矩阵行列式
- 4. 计算矩阵的行列式
- 5. 计算复矩阵的行列式fortran90
- 6. 使用python计算矩阵行列式的行列式
- 7. 矩阵行列式算法C++
- 8. 用于nxn矩阵的walsh表C
- 9. NxN递归计算数组行列式C#
- 10. 搜索nxn矩阵
- 11. C矩阵行列式计算 - 内存泄漏
- 12. 如何计算行列式矩阵的2x2 -C
- 13. 从2x3阵列矩阵计算行列式
- 14. 矩阵表达式计算
- 15. 序言:nxn矩阵的n列表
- 16. 使用lapack在C/C++中计算矩阵的逆矩阵
- 17. 如何使用lapack ++(2.5+)计算行列式矩阵++(2.5+)
- 18. 用cublas设备API计算矩阵行列式
- 19. 创建NxN矩阵mathematica
- 20. 矩阵计算
- 21. 矩阵计算
- 22. 计算矩阵
- 23. 很少用巨矩阵计算与用小矩阵进行大量计算
- 24. C++库用于计算矩阵指数
- 25. 旋转矩阵按列计算而不是按行计算
- 26. 将nx1矩阵转换为nxn方阵
- 27. 递归计算N×N矩阵行列式
- 28. 斯威夫特的矩阵行列式计算器
- 29. 矩阵行列式计算器的递归函数
- 30. 计算矩阵的行列式的问题
这功课吗? – 2010-05-27 15:58:12
定义不够:http://en.wikipedia.org/wiki/Determinant?当您尝试在C#上实现它时,您是否遇到过一些您可能会遇到的特定问题? – 2010-05-27 15:59:31
给我们你到目前为止的代码,我们会帮助你。但我们不会为你编码。 – 2010-05-27 16:19:17