python – 同情的多变量系列扩展

前端之家收集整理的这篇文章主要介绍了python – 同情的多变量系列扩展前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

有没有人知道是否有内置函数同意获得表单的多元系列扩展

f(x,y) = a + b*x + c*y + d*x**2 + e*x*y + f*y**2 + ...

即按所有变量的升序排列?

提前致谢.

最佳答案
简短的回答是,目前(sympy build 0.7.5),没有内置函数可以处理多变量序列扩展.

似乎只支持在一个变量中对多变量函数进行系列扩展.您可以在函数文档here中的_eval_nseries的docstring中看到这一点.如果这对您很重要,您可以对Issue Tracker发表评论或加入mailinglist.

所以,要清楚,这有效:

In [1]: import sympy as sp
In [2]: x,y = sp.symbols('x,y')
In [3]: g = sp.exp(-x*y)
In [4]: g
Out[4]: exp(-x*y)
In [5]: g.series(x,0)
Out[5]: 1 - x*y + x**2*y**2/2 - x**3*y**3/6 + x**4*y**4/24 - x**5*y**5/120 + O(x**6)
In [6]: g.series(y,0)
Out[6]: 1 - x*y + x**2*y**2/2 - x**3*y**3/6 + x**4*y**4/24 - x**5*y**5/120 + O(y**6)

但在以下任何一项中都没有您想要的功能

In [7]: g.series((x,y),(0,0))
Out[7]: exp(-x*y)

In [8]: g.series((x,0),(y,0))
Out[8]: exp(-x*y)

In [9]: g.series(x,y,0)
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
403         if len(dir) != 1 or dir not in '+-':
   2404             raise ValueError("Dir must be '+' or '-'")
   2405 

TypeError: object of type 'int' has no len()

In [10]: g.series(x,0)
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
403         if len(dir) != 1 or dir not in '+-':
   2404             raise ValueError("Dir must be '+' or '-'")
   2405 

TypeError: object of type 'int' has no len()

猜你在找的Python相关文章