2

我愿意计算一个不完全明确的函数的 Frechet/Gateaux 导数,我的问题是:最有效的方法是什么?你会推荐我使用哪种语言?

准确地说,我的问题是我有一个函数,比如 F,它是多维函数对(即从 R^n 到 R^k)的乘积之和的欧几里得范数的平方。

AFAIK,如果我使用 Maple 或 Maxima,他们会要求我明确公式中涉及的函数,而我想让它们保持抽象。然后,我需要计算 Frechet/Gateaux 导数以保持表达式简单。确实,当我按照标准方式进行时,我开始将欧几里得范数的平方发展为平方和,并且有很多索引。我的目标是做一个三阶整数余数的泰勒展开式,在我看来,这个表达式在人类看来是不可行的(公式超过一页 A4 纸)。

因此,我更喜欢使用 Frechet/Gateaux 导数,这将允许我保留标量积而不是总和。

由于所涉及的函数与其导数有一些相似之处(由于存在指数),因此只需了解少量规则。所以我想我可以自己制作这样一个专用的计算机代数系统。

我开始学习 LISP,因为我读到它对我的问题很有效,但我现在有点迷茫,因为这种语言非常不同,我仍然习惯于用 C/Python/Perl 来思考。 ..

这是另一个问题:您是否有一些关于如何制作符号计算的代数系统的课程或文章的链接(最好是在 LISP 中)?欢迎任何建议。

非常感谢您的回答。

4

1 回答 1

0

我的建议是使用千里马。Maxima 受到 Lisp 的启发,并在 Lisp 中实现,因此使用 Maxima 将为您节省大量时间和麻烦。如果 Lisp 适合您的问题,Maxima 更是如此。

Maxima 将允许您在表达式中使用未定义的术语;没有必要定义所有术语。

向 Maxima 邮件列表 (maxima@math.utexas.edu) 发送消息以寻求具体建议。请详细说明您要完成的工作。

于 2012-12-18T20:53:59.117 回答