我想知道是否在模2(或甚至一般用於該目的模k)的高斯消元法曾經被地方實施,這樣我就不必另起爐竈,只是使用可用資源?高斯消元法在模2 Python代碼
回答
你正在尋找該算法的僞代碼存在並且是:
// A is n by m binary matrix
i := 1 // row and column index
for i := 1 to m do // for every column
// find non-zero element in column i, starting in row i:
maxi := i
for k := i to n do
if A[k,i] = 1 then maxi := k
end for
if A[maxi,i] = 1 then
swap rows i and maxi in A and b, but do not change the value of i
Now A[i,i] will contain the old value of A[maxi,i], that is 1
for u := i+1 to m do
Add A[u,i] * row i to row u, do this for BOTH, matrix A and RHS vector b
Now A[u,i] will be 0
end for
else
declare error – more than one solution exist
end if
end for
if n>m and if you can find zero row in A with nonzero RHS element, then
declare error – no solution.
end if
// now, matrix A is in upper triangular form and solution can be found
use back substitution to find vector x
從這個pdf
二進制算術兩者意味着算術模2,這是你在找什麼在你的問題,如果我沒有錯。
不幸的是我沒有代碼,Python,但如果你熟悉Python,你可以簡單地爲您提供方便自己的方式通過轉換線以上的僞代碼到Python行,這個任務應該是既不困難也不長。
我使用了「高斯消去modulo 2 python」,但沒有找到你正在尋找的python代碼,但我認爲這是很好的,因爲在翻譯過程中你可以更好地理解算法和方法。編輯1:如果你也熟悉C#並且不需要努力將C#翻譯成Python,那麼Michael Anderson對這個question的回答也可能對你有所幫助。
編輯2:張貼的答案後,我繼續搜索,發現this
「在任何領域的」暗示「過模2」,甚至「過模K」對任意k ≥ 2.
它包含源代碼的Java版本和的Python版本太多。
據的最後一個環節我給你的Python版本fieldmath.py包括類BinaryField其假設是模2如你所願。
享受!
我只希望高斯 - 喬丹消除和高斯消除是不是兩個不同的東西。
編輯3:如果你也熟悉VC++並且翻譯VC++到Python是而不是爲你付出努力那你也可以試試this。
我希望這也回答了你的問題。
這可能是我在這裏得到的最好答案。非常感謝:) –
我很高興你對我的回答感到滿意,但遺憾的是我之前沒有注意到你的問題,因爲這個問題必須等待1年9個月,差不多2年,直到收到一個令人滿意的答案。 –
這很好。這在2年前會非常有用:) –
- 1. 高斯消除代碼
- 2. 高斯喬丹消除楓葉代碼
- 3. 我需要在C中拆分高斯消除法的代碼
- 4. 高斯消元變換和征服算法的替代方法
- 5. python上的線性代數(高斯消元)
- 6. Gimp高斯模糊 - 代碼解釋
- 7. 高斯消除帶回代換代碼c
- 8. 我需要幫助建立矩陣用高斯消元法在Python
- 9. 高斯消除
- 10. 怎麼做高斯消元法在R(不要使用「解決」)
- 11. 高斯模糊算法
- 12. C中的高斯消除法
- 13. 奇怪的結果高斯消元法與SCILAB
- 14. 此高斯消除僞代碼的第一步是否正確?
- 15. 模擬高斯噪聲數據的Python高斯擬合
- 16. 使用高斯消除法在GF(2)中查找矩陣的排名
- 17. 遞歸高斯消除算法
- 18. 音頻代碼在斯威夫特2的代碼工作
- 19. 高斯模糊模塊2.4
- 20. Python代碼從html代碼中消失
- 21. J:高斯 - 喬丹消除
- 22. 圖書館或代碼降噪高斯?
- 23. 很多高斯混合模型的MATLAB代碼
- 24. 高斯 - 喬丹消除在C
- 25. Java中的高斯消去
- 26. 高斯函數python
- 27. 斯威夫特:如何取消代碼
- 28. 在OpenMP中的高斯消除 - 無法並行化
- 29. 高斯 - 約旦消除
- 30. OpenMP中的高斯消除
的可能的複製[是否有高斯消元法在Python標準的解決方案?](http://stackoverflow.com/questions/15638650/is-there-a-standard-solution-for-gauss-elimination-in-蟒蛇) – ergonaut
這不是一個重複的...我在問2在高斯消除! –