python中的符号方程求解器

时间:2016-12-02 10:48:07

标签: python latex equation solver

我想要一个python函数,它解决了给定参数的给定方程组。例如:

 >>>>foo("""\begin{cases}
 & c^2=\frac{1}{\epsilon_0 \cdot \mu_0}\\ 
 & k_E=\frac{1}{4 \cdot \pi \epsilon_0} \\ 
 & \epsilon_0=1+\chi_0
\end{cases}""","\chi_0",("c","\mu_0"))
#outputs:
\frac{c^2 \cdot \mu_0-1}{c^2 \cdot \mu_0}

>>>>foo("""\begin{cases}
 & c^2=\frac{1}{\epsilon_0 \cdot \mu_0}\\ 
 & k_E=\frac{1}{4 \cdot \pi \epsilon_0} \\ 
 & \epsilon_0=1+\chi_0
\end{cases}""","\chi_0",("k_E","\pi"))
#outputs:
\frac{1-k_E \cdot 4 \cdot \pi}{k_E \cdot 4 \cdot \pi}

>>>>foo("A+B+C=D","A",("B","C","D"))
#outputs:
D-B-C

示例函数foo的第一个参数是equation。第二个参数是变量来解决。第三个参数是可以在解决方案中使用的参数元组。在示例中,方程系统是用LaTeX编写的,但它并不重要,求解器使用的是什么语言。 我应该使用可导入的模块吗?

1 个答案:

答案 0 :(得分:0)

结帐sympy。它被许多项目广泛用于符号处理,因此很可能它已经涵盖了

solvers部分尝试linsolve([x + y + z - 1, x + y + 2*z - 3 ], (x, y, z)),它将解决x。如果您要解决y,请将(x,y,z)替换为(y,x,z),依此类推