2
我使用sympy來產生符號多項式方程。我有大約30個變量和大約20個常量變量。我的方程式達到的最高功率是一個平方項。如何在線性方程組中找到唯一的非簡併方程
我需要採取這些方程的2^13,並找出它們中有多少是唯一的(即,不是彼此的線性組合,而不是退化)。否則說,我需要找到由方程組產生的矩陣的秩。這些方程中的大多數是簡併的,它們是彼此的線性組合。但是,最終,我需要從數據中提取獨特的方程。
我嘗試了系統如下:
- 創建一個空矩陣。
- 迭代每個方程。對於每個等式,將其轉化爲矩陣的行,並通過添加新行來檢查矩陣的等級是否增加。
- 如果排名增加,則將該行添加到空矩陣中
- 打印生成的矩陣。
如果做得正確,這應該給所有獨特的方程。但是,numpy.linalg.matrix_rank()不適用於sympy符號。不幸的是,我有大約20個由sympy符號表示的常量。
如何找到我的獨特方程?所有這些都將解決我的問題:
- 一個明確的解決方案,使非退化的方程
- 一種用於評估在有sympy符號矩陣的秩的方法。
- 或者,sympy是否具有內置功能來確定sympy方程是否是其他sympy方程的線性組合?