【发布时间】:2015-01-30 14:31:53
【问题描述】:
在下面的例子中,为什么第一个series(f,n=infinity,9);返回了一系列的8号订单,但是执行完series(f,n=infinity,10);之后才返回了一系列的9号订单?
【问题讨论】:
标签: maple
在下面的例子中,为什么第一个series(f,n=infinity,9);返回了一系列的8号订单,但是执行完series(f,n=infinity,10);之后才返回了一系列的9号订单?
【问题讨论】:
标签: maple
series 命令帮助页面的 Description 部分的第三段提到 order 参数指定了计算的截断顺序,不一定是返回系列的顺序。
此外,还有一个记忆表,因此在计算后续的低截断顺序查询时,可能会快速截断返回的高阶结果。 (Order 环境变量的处理方式与Digits 环境变量有些相似,因为在进行更粗略的查询时,更好或更准确的保存结果可能会被快速截断/舍入。)
在请求清除 series 的记忆表后,必须再次实际计算低阶查询(使用指定的计算截断顺序),而不仅仅是查找和截断。
restart:
kernelopts(version);
Maple 17.02, X86 64 WINDOWS, Sep 5 2013, Build ID 872941
f := 1 + (n-1)*6/n^3 - (1+6/n^3)^(n-2) * (1+6/n^3/(1+(n^2/2)*6/n^3)):
series(f,n=infinity,9);
198 810 /1 \
--- - --- + O|--|
6 7 | 8|
n n \n /
series(f,n=infinity,10);
198 810 2952 11070 / 1 \
--- - --- + ---- - ----- + O|---|
6 7 8 9 | 10|
n n n n \n /
series(f,n=infinity,9);
198 810 2952 /1 \
--- - --- + ---- + O|--|
6 7 8 | 9|
n n n \n /
forget(series);
series(f,n=infinity,9);
198 810 /1 \
--- - --- + O|--|
6 7 | 8|
n n \n /
【讨论】:
order 参数被记录为(内部)计算中使用的顺序,但根本没有记录有一个记忆表在起作用的事实,这就是让我感到困惑(再加上这个例子的输出顺序不是线性的:8 给出 8,9 最初也给出 8,10 给出 10)。我在maplesoft.com/support/help/maple/view.aspx?path=Order 上发表了评论并得到了相同的答案。希望以后帮助改进。