我正试图解决Sage中的线性方程组。但是,我想打印解决方案,只有它是唯一的。我尝试在A.solve_right(y)
,A is coefficient matrix
使用y is the right hand side (Ax = y)
。但是,当存在多个解决方案时,这将返回解决方案。我试着检查行列式是否为0,但这仅在具有方阵时才有效。
我一直在考虑两种方法,但找不到合适的方式在Sage中实现我的想法:
n
变量m
方程组的方法。每当我调用A.solve(x),其中A是nxm矩阵,x是长度为n的向量,我应该得到异常" No unique solution"
(如果没有或多于一个解决方案)或解决方案,如果它是独一无二的。A
添加行的方法。当我添加新行时,我检查它是否是前一行的线性组合,如果是,我忽略该行。否则,我添加新行。当我获得n x n matrix A
时,我会检查determinant is not zero
是否打印解决方案。否则我会抛出异常"No unique solution"
。我一直在寻找在线解决方案,但没有成功。我想必须有一些简单的方法来实现这一点,但我的截止日期很短,无法深入了解Sage文档。任何建议都将非常受欢迎!