Python中的方程求解器

时间:2011-03-10 19:27:17

标签: python parsing equation-solving

给出一个简单的等式,如:

x = y + z

如果你绑定另外两个变量,你可以得到第三个变量(即:y = x - zz = x - y)。将其放入代码中的简单方法:

def solve(args):
    if 'x' not in args:
        return args['y'] + args['z']
    elif 'z' not in args:
        return args['x'] - args['y']
    elif 'y' not in args:
        return args['x'] - args['z']
    else:
        raise SomeError  

我显然可以采用一个等式,解析它并简化它以达到同样的效果。 但我相信这样做会重新发明轮子。那么我现成的车轮在哪里?

1 个答案:

答案 0 :(得分:9)

考虑使用Sympy。它包括解决方程式的各种工具等等。

以下摘自docs

>>> from sympy import I, solve
>>> from sympy.abc import x, y

>>> solve(x**4-1, x)
[1, -1, -I, I]