Python 解析演算的实现算法

Python 解析演算的实现算法,python,algorithm,math,calculus,Python,Algorithm,Math,Calculus,我对用Python编写一个程序感兴趣,该程序可以解析数学表达式并以代数形式对其执行操作。其中大多数都非常简单,比如2x+5x+xy。我的程序将获取该值并返回简化的7x+xy。然而,我也希望最终将它的功能扩展到微积分,因此如果它被赋予类似于integrate:5x的东西,它应该能够返回(5x^2)/2+c。我知道可以使用sympy库,但我有兴趣将其作为一个学习过程来实现。是否有任何算法可以对我可以实现的任意积分/微分进行代数演算,或者这是我在这里为自己设定的更艰巨的任务?如有任何消息来源,将不胜感

我对用Python编写一个程序感兴趣,该程序可以解析数学表达式并以代数形式对其执行操作。其中大多数都非常简单,比如
2x+5x+xy
。我的程序将获取该值并返回简化的
7x+xy
。然而,我也希望最终将它的功能扩展到微积分,因此如果它被赋予类似于
integrate:5x
的东西,它应该能够返回
(5x^2)/2+c
。我知道可以使用sympy库,但我有兴趣将其作为一个学习过程来实现。是否有任何算法可以对我可以实现的任意积分/微分进行代数演算,或者这是我在这里为自己设定的更艰巨的任务?如有任何消息来源,将不胜感激

也许有必要问一下你为什么要这么做,并理解你想要整合的东西,因为我想你可能不知道你实际上遇到了一个非常困难的问题

如果你想找一个练习来学习简单的低阶多项式积分和python——例如,形式为x^2+2x+7的东西——并且想法是学习字符串操作和简单数学,那么无论如何,我认为你应该尝试这样做,看看你能走多远。看看各种与数学相关的图书馆(如Sympy或Numpy),看看你能得到什么


如果你想产生一个强大的工具,用于微积分,那么我认为你应该重新思考你的想法,并考虑使用像WORFRAM阿尔法之类的东西。像这样的项目可能需要数年时间,您可能无法从中获得好的结果。

集成任何功能?用手已经很难做到这一点。许多函数甚至没有闭合形式的反导数。当然,也有一些解析演算的实现。在这些情况下使用的方法是什么?我在哪里可以了解它?阅读Symphy代码库可能会帮助您开始好的,那么我将坚持使用Symphy来涵盖我程序的这一部分。我原以为可能有某种固定的方法可以遵循,但似乎我低估了这个问题的规模。谢谢