如何以与假设一致的方式规范化自由基

时间:2017-06-29 21:53:43

标签: symbolic-math sage

Sage docs中,他们说函数canonicalize_radical()根据其在无穷远处的行为选择分支。用他们自己的话来说,这意味着

  

转型期间不考虑假设。这可能导致分支选择与您的假设不一致。

简而言之,这是一件坏事。答案的一个简单例子是

assume(x<0) sqrt(x^2).canonicalize_radical() 返回x,其行为为assume(x>0)。至少我们可以预期不同假设的行为会有所不同。

使用Sage,有没有一种方法可以始终如一地执行此操作,并始终与假设保持一致?我的主要目标是简化,所以也许还有另外一个我不知道的功能。

1 个答案:

答案 0 :(得分:0)

在Sage Trac服务器以及Sage开发人员列表和Maxima开发人员列表上有很长的对应关系。这就是为什么它现在被称为canonicalize_radical; Maxima文档非常清楚,这在某些表达式类中是规范的,而不是函数(多值或不是多值)。这可能不是你正在寻找的答案,但千里马人听起来像是因为分支削减而最好的人希望。

还有许多其他的简化例程,也在Sympy和Sage的其他部分......