(wx)Maxima:多项式的字面顺序

(wx)Maxima: literal order of polynomials

The documentation for powerdisp 表示选项要么显示为截断的幂级数,要么显示为从最大幂到最小;有什么办法让它显示提供的文字顺序(当明确时)?

例如如果输入是3*x*x^3 + 2*x^5*x^(-3) - 2*x*x^2,输出将是3*x^4 + 2*x^2 - 2*x^3.

我知道在两个术语具有相同权力的情况下会出现歧义,但我很想知道是否有任何方法可以实现这一点,至少对于明确的情况?就个人而言,我很乐意简单地以相同的顺序显示所有术语,即使它们具有相同的功效(没有通过+进行简化)。

或者,有什么方法可以让 Maxima 在排序时将 x^0 视为多项式项,而不是将常量推到表达式的开头/结尾?

这对于评论来说有点太大了,所以我会 post 它作为一个答案。

正如我所说,可以通过用户定义的规则更好地控制简化。目标是重新实现内置的传统身份,例如1 + 1 简化为 2x + x 简化为 2*xx*x 简化为 x^2,等等,然后选择性地将规则应用于表达式。

关于规则系统的文档有点晦涩。查看 Maxima 文档页面 [0],最易读的介绍可能是 [1]。另请参阅 [2] 了解更多信息和历史记录。也可以看看matchdeclaretellsimpafter(目前是[3]和[4])的参考手册说明。特别是参见 tellsimpafter.

末尾的反交换乘法示例

可能开始实施的地方是草拟一份规则列表,其中包含人们想要实施的规则以及计划如何使用它们。

整个过程并不简单,但其中有一些逻辑,我猜它实际上是普遍感兴趣的,因为不时有人要求类似的功能。

[0] https://maxima.sourceforge.io/documentation.html

[1] https://maxima.sourceforge.io/docs/tutorial/en/talon-pattern.pdf

[2]https://maxima.sourceforge.io/misc/Fateman-Salz_Simplifier_Paper.pdf

[3]https://maxima.sourceforge.io/docs/manual/maxima_155.html#index-matchdeclare

[4]https://maxima.sourceforge.io/docs/manual/maxima_155.html#index-tellsimpafter