SymPy 模块,确定方程是线性的还是非线性的?

SymPy module, identify equation as linear or non-linear?

使用SymPy模块,有没有办法告诉我方程是线性的还是非线性的?如果不是,您对实施这种方法的建议是什么。我从文档中注意到 solve() 返回值根据系数变化。

我只是需要它作为高中生的简单介绍。回答一个问题,我发现标记函数是否是线性的。

非常感谢。

答案取决于您接下来要做什么。要获得 True/False 个答案,请尝试 Poly(expr, x).is_linear。这将扩展表达式并告诉您它是否在 x.

中是线性的

linear_coeffs 将在遇到 non-linear 项时引发错误,或者给出给定变量的线性系数,solveset.linear_coeffs(2*x+3*y+z**2,x,y) -> [2, 3, z**2](其中最后一个元素是常数项在表达式中)。

linear_eq_to_matrixsolve_linear也是可能的。