2
我使用sympy来产生符号多项式方程。我有大约30个变量和大约20个常量变量。我的方程式达到的最高功率是一个平方项。如何在线性方程组中找到唯一的非简并方程
我需要采取这些方程的2^13,并找出它们中有多少是唯一的(即,不是彼此的线性组合,而不是退化)。否则说,我需要找到由方程组产生的矩阵的秩。这些方程中的大多数是简并的,它们是彼此的线性组合。但是,最终,我需要从数据中提取独特的方程。
我尝试了系统如下:
- 创建一个空矩阵。
- 迭代每个方程。对于每个等式,将其转化为矩阵的行,并通过添加新行来检查矩阵的等级是否增加。
- 如果排名增加,则将该行添加到空矩阵中
- 打印生成的矩阵。
如果做得正确,这应该给所有独特的方程。但是,numpy.linalg.matrix_rank()不适用于sympy符号。不幸的是,我有大约20个由sympy符号表示的常量。
如何找到我的独特方程?所有这些都将解决我的问题:
- 一个明确的解决方案,使非退化的方程
- 一种用于评估在有sympy符号矩阵的秩的方法。
- 或者,sympy是否具有内置功能来确定sympy方程是否是其他sympy方程的线性组合?