如何在Sage中允许任意常量

时间:2014-05-05 23:32:24

标签: sage

我是一名微积分学生,我经常使用Sage来检查工作。通常,有必要允许两个表达式之间的恒定差异。例如,在找到反衍生物时,两个结果ln(2*x)ln(x)是等效的,但当然bool(ln(2*x) == ln(x))会返回False。有没有办法定义变量C,以便bool(ln(2*x) == ln(x) + C)返回True

1 个答案:

答案 0 :(得分:2)

嗯,这是一个非常好的问题。据我所知,答案是否定的。在任何情况下,总是检查事物是否等于一个常数是任意计算成本......

那就是说,这对你的案子来说很烦人 - 而且对于更复杂的情况也是如此;如果您根据所使用的简化选择不同的方法来为复杂的三角形组合组合找到反导数,这种情况会一直发生。

但是......我想知道这是否重要。难道你不能检查有问题的函数的衍生物吗?你必须对领域有点小心,但你基本上说的是“我想检查它是否与我得到的答案相同”,当你需要的只是“做我得到的答案而且Sage给出的那个有相同的衍生物“。事实上,就像检查长除法最容易使用乘法一样,检查反导数最容易使用导数。

为了避免您认为这是一个copout,here is a fun interactive thing to try我希望在您的用例中使用。