【发布时间】:2016-04-01 17:14:29
【问题描述】:
在sage 中,对未知函数进行泰勒展开是相当容易的f(x),
x = var('x')
h = var('h')
f = function('f',x)
g1 = taylor(f,x,h,2)
如何在 sympy 中做到这一点?
更新
asmeurer 指出,这是一个很快就会在拉取请求 http://github.com/sympy/sympy/pull/1888 中提供的功能。我使用 pip 安装了分支,
pip install -e git+git@github.com:renatocoutinho/sympy.git@897b#egg=sympy --upgrade
但是,当我尝试计算 f(x) 的系列时,
x, h = symbols("x,h")
f = Function("f")
series(f,x,x+h)
我收到以下错误,
TypeError: 未绑定的方法 series() 必须使用 f 实例调用 第一个参数(取而代之的是 Symbol 实例)
【问题讨论】:
-
你不能。只需使用循环和
diff。该函数称为series而不是taylor。 -
github.com/sympy/sympy/pull/1888 有一个拉取请求来完成这项工作。
-
@asmeurer 太棒了!这还没有合并到主分支中,是否仍然可以使用 pip 安装它。还是我需要克隆 repo,应用补丁,然后从源代码构建?
-
@asmeurer 我尝试使用 git apply 将github.com/sympy/sympy/pull/1888.patch 应用于 sympy 的最新主副本,但失败了。你有什么推荐的?
-
最简单的方法是在他的分支上工作,直到合并该拉取请求。