符号数学Python?

2024-04-27 22:15:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我对数学和编程非常感兴趣,并计划从头开始符号数学项目。

  1. 这是个好主意吗?

  2. 从哪里开始?

  3. 我们应该如何处理这个问题 项目?

  4. 有什么好的资源吗?

提前谢谢。


Tags: 项目编程符号数学资源感兴趣计划主意
3条回答

1.这个项目主意好吗?

是的;我希望它能提供一个无止境的有趣的工作来源,这将非常迅速地测试和扩展您的编程能力。

2.从哪里开始?

我支持其他建议,你应该看看现有的工作。SAGE给人留下了深刻的印象,如果你征求我的意见,我建议你先写一个基本的系统,用数字和符号来做算术;然后看看SAGE,写一个模块来扩展这个系统,换句话说,成为一个更大的东西的贡献者,而不是试图独自完成它。再看看Mathematica和Maple,Macsyma和Axiom。后两个是免费的(我认为),但它们都有很好的在线记录,是一个伟大的想法和挑战的来源。

3.如何处理这个项目?

就像吃大象一样。一口一口。更严重的是,我认为有一些核心问题,比如表达式的表示,以及一些基本功能(多项式上的算术),你可以切齿。

4.有什么好的资源吗?

很多很多。谷歌搜索“计算机代数”,“术语重写”。看看亚马逊上有什么。而且,如果你有访问权限,请查看ACM数字图书馆

祝你好运。

符号数学是一个有趣的项目。在你的问题上,是否有人使用它似乎无关紧要,所以请投入。

这些年来我写了两本。最酷的是一个for SQL where子句——它对SQL做了一些琐碎的符号操作来折叠一些附加的和条件。不是一个完整的“解算器”或“优化器”或任何东西,只是一些可能的任何SQL where子句的符号操作。对于调试器来说就不那么酷了;它通过复杂的数学运算(象征性地)计算出变量的堆栈偏移量。

首先定义数学表达式元素的类——操作数、运算符、函数等

您必须决定这些对象必须参与哪些操作。获取表达式的具体值是一个简单而明显的过程。从所有变量都有绑定的情况开始。

然后处理一些变量保持未绑定的情况,并且只能计算表达式的一部分。

然后处理将表达式重新排列为规范形式。一、 你做了一个部分评估,得到了Add( Variable(x), Add( Variable(x), Lit(3) ) )。您需要编写规则将其转换为Add( Multiply( Lit(2), Variable(x) ), Lit(3) )

一个非常酷的练习是优化圆括号,以便打印的输出包含捕获含义所需的最少圆括号。

有很多,很多其他的“表达式转换”规则,我们都在学校学习做代数操作。很多。

特别是,在某些情况下,重新排列方程以分离变量可能非常困难。

做导数变换是很容易的,但是符号积分在很多特殊情况下确实很难。

基本的都很有趣。取决于你想走多远,它会越来越难。

  1. 这是一个练习编程技巧的好项目。但如果你想创建一个真正的图书馆,其他人会想使用这是一个项目,你不想开始阿伦和从头开始。。。

  2. 从哪里开始:看看已经存在的解决方案,想想你想做的是什么。你的项目与其他项目有何不同?

  3. 资源:SymPy is a Python library for symbolic mathematics

相关问题 更多 >