2 求解代数方程
求解代数方程的主要函数是
solveset
。其语法为:
solveset(equation, variable=None, domain=S.Complexes)
式中,等式可以是
Eq
实例或表达式的形式(假定为零)。
还有一个函数叫做
solve
,也可以用来解方程。它的语法为
solve(equations, variables)
,后面会介绍它的用途。
当求解一个等式时,
solveset
的输出有:有限集,域,映射集
如果无解,则返回一个空集,如果无法找到解决方案,则返回一个条件集合。
在
solveset
模块中,使用
linsolve
求解线性方程组。下面是
linsolve
的语法示例:
注:
(1)解的顺序对应于给定符号的顺序。
(2)
nonlinsolve
不会返回LambertW形式的解(如果存在LambertW形式解的话)。
solve
则可用于这种情况:
(3)
nonlinsolve
不能很好地求解具有三角函数的方程组。
solve
也可用于此类情况(但不能给出所有解决方案)
solveset
只给出每个解。要得到包含多重性的多项式的解,使用
roots
。
roots
的输出
{0: 1, 3: 2}
意思是:0是重数为1的根,3是重数为2的根。
solveset
无法求解由LambertW(超越方程求解器)求解的方程。
而
solve
可以: