使用鼠尾草进行泰勒膨胀的非积分指数

时间:2014-12-04 07:07:52

标签: sage taylor-series

这是我的功能

var('h,r')
f=r^2*arccos((r-h)/r)-(r-h)*sqrt(2*r*h-h^2)

taylor(f,h,0,3)

结果:

-1/5*sqrt(2)*h^(5/2)/sqrt(r) + 4/3*sqrt(2)*h^(3/2)*sqrt(r)

我期望形式为ax ^ 3 + bx ^ 2 + cx + d,但我得到5/2和3/2作为h的指数。那是为什么?

2 个答案:

答案 0 :(得分:2)

问题似乎分为两部分。

  1. Maxima中的程序比名称(泰勒)所暗示的更为通用。 事实上,当泰勒系列不存在时,它会返回其他类型的系列。这包括Laurent系列(负指数)和非整数幂。试试,例如,泰勒(sq /(1 / sin(x)),x,0,5)。
  2. 这可以通过将命令的名称更改为(例如)series()来解决。虽然可能仍然存在命名问题,因为世界上还有其他类型的系列,你可能想要(比方说)某种类型的渐近系列。

    1. 原始海报和一些评论似乎表明,千里马应遵循严格的做法,只遵循命令的性质。如果系统无法执行命令所做的操作,则应该给出错误消息。这并不是千里马所做的。举一个非常简单的例子,如果你输入f(3),并且f未定义,一些系统可能会说"错误,f未定义"。 Maxima返回f(3),因为在这种情况下,f(3)是一个合理的结果,可能允许你继续前进。作为第二个例子,Maxima不知道如何整合的某种形式的集成导致具有整数符号的公式。不是错误"无法整合......"。
    2. 一般性评论:如果您使用Sage仅访问Maxima中的设施,您可能会发现使用Maxima是一种方便,Maxima是一个具有自己的用户界面wxmaxima和绘图程序等的计算机代数系统。

答案 1 :(得分:1)

这基本上直接使用Maxima,所以

(%i11) display2d: false;

(%o11) false
(%i12) f:r^2*acos((r-h)/r)-(r-h)*sqrt(2*r*h-h^2);

(%o12) r^2*acos((r-h)/r)-(r-h)*sqrt(2*h*r-h^2)
(%i13) taylor(f,h,0,3);

(%o13) 4*sqrt(r)*sqrt(2)*h^(3/2)/3-sqrt(r)*sqrt(2)*h^(5/2)/(5*r)

扩展其他点可以得到我们所期望的,所以我猜这是Maxima中的某种错误(或未记录的功能)。

(%i22) taylor(sqrt(x),x,0,5);

(%o22) +sqrt(x)
(%i23) powerseries(sqrt(x),x,0);

(%o23) sqrt(x)

也许他们喜欢Puiseux series?我在https://sourceforge.net/p/maxima/bugs/2850/

报告了这个问题

编辑:当然,问题,平方根功能在零时表现不是特别好!但是我想仍然可以期待别的东西。

相关问题