我有一个52个方程组和浮动系数(通常不是有理数)。这个长长的方程列表存储在变量concrete_eqs
中,而未知数列表(拉格朗日数)存储在lagran
中。系统是线性的
使用solve
,解决方案是:
result = solve(
concrete_focs, lagran
,simplify = False
,exclude = []
)
使用linsolve
,它将是:
linresult = list(linsolve(concrete_focs, lagran))
我用solve
检查了这个解,把它代入到方程中,它给出了正确的结果。使用linsolve
,不仅解决方案不同,而且它们是错误的:当我将它们替换回来时,它们不会解决系统
linsolve
不会抛出任何错误。我使用linear_eq_to_matrix
将方程组转换成矩阵形式,并且系统具有满秩。由于未知数是索引变量,我也尝试用linsolve
和符号来解决系统,但这并没有解决问题
我想用linsolve
解这个线性系统,因为它比solve
快得多,即使对于这个简单的系统
我试图用索引变量在更简单的问题中重现这个问题,但我得到了正确的结果
有没有关于为什么会发生这种情况的线索?(我怀疑这是因为对浮点无理系数的处理,但我不确定。)
目前没有回答
相关问题 更多 >
编程相关推荐