【发布时间】:2016-10-22 18:24:44
【问题描述】:
我正在尝试将我的脚本从mathematica 迁移到sage。我陷入了一些看起来很简单的事情。
我需要处理任意大的多项式,例如
a00 + a10*x + a01*y + a20 *x^2 + a11*x*y + ...
我只认为它们是 x 和 y 上的多项式,我需要给定这样一个多项式 P 来获得它的单项式列表。
例如,如果 P = a20*x^2 + a12*x*y^2 我想要一个 [a20*x^2,a12*x*y^2] 形式的列表。
我发现 sage 中的多项式有一个名为 coefficients 的类函数,它返回系数,还有一个名为 mononomials 的类函数,它返回没有系数的单项式。将这两个列表相乘,得到我想要的结果。
问题在于,要使其正常工作,我需要将所有 a 显式声明为变量,而这并不总是可行的。
有什么方法可以告诉 sage 任何形式为 a[number][number] 的东西都是变量吗?或者有什么方法可以在 sage 中定义整个变量族?
在一个完美的世界里,我想让 sage 表现得像数学一样,因为任何没有定义的东西都被认为是一个变量,但我想这太乐观了。
【问题讨论】: