如何計算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