[mathjax]

在看文章的时候总是能遇到各种计算问题,比如这个:求一个级数 (s(t)),使它在 (\infty) 处的 Taylor 展开具有形式:[\sum_{m\ge 2}\frac1{m}t^{-m}.]

手算验证当然费时费力,其实只要掌握 Mathematica 的最基本使用方法,我们就可以很容易计算出 (s(t)) 前若干项的表达式.

Mathematica 中计算级数展开的命令是 Series[], 它不但可以计算在有限点处的展开式,还可以计算函数在 (\infty) 处的展开。所以,如果我们给定函数 f[t],考虑它在 (\infty) 展开到 (k) 阶的表达式,只需用

Series[f[t], {t, Infinity, k}]

所以,我们先待定 (s(t) = -t (1+ a t^{-1} + b t^{-2} + c t^{-3} + d t^{-4} + …)),计算 [\frac12 s(t)^{-2}+\frac13 s(t)^{-3} + \frac14 s(t)^{-4}] 的 Taylor 展开,令其各项系数等于 (\frac1{m}),就可以递推地计算出 (a,b,c,\cdots)。下面是代码:

`

s[t] := -t*(1 + at^(-1) + bt^(-2) + ct^(-3) + dt^(-4))

f[t] := 1/2* s[t]^(-2) + 1/3 * s[t]^(-3) + 1/4 * s[t]^(-4)

Series[f[t], {t, Infinity, 3}]

`