1

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

例如,如果输入为3*x*x^3 + 2*x^5*x^(-3) - 2*x*x^2,则输出为3*x^4 + 2*x^2 - 2*x^3

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

或者,有没有办法让 Maximax^0在排序时将其视为多项式项,而不是将常量推到表达式的开头/结尾?

4

1 回答 1

1

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

正如我所说,人们可以通过用户定义的规则来更好地控制简化。目标是重新实现内置的传统恒等式,例如1 + 1简化为2x + x2*xx*xx^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

于 2021-01-21T19:24:36.153 回答