Python 多变量多项式包
我需要表示多个变量的多项式,也就是这样的东西:
x^3 + xy^4 + xz^2w + uq^2we^3
我看过scipy这个库,发现它似乎只支持最多三个变量的多项式。我想对这些多项式进行的主要操作有:
1) 多项式的相乘
2) 对多项式的某一个变量进行积分(定积分)
3) 将多项式(固定变量和次数)拟合到数据点上
如果有人能给我一些线索,那就太好了。如果有人已经做好了这些工作,那就更省事了。
另外,我想说的是,我从来没有接触过张量,但我觉得这些操作用某种张量来表达可能会很自然?有没有好的张量库可以用来尝试一下,看看如何把这些操作用张量来表示?再次强调,我完全没有接触过张量,但我相信我能很快学会。
1 个回答
5
1),2) 使用 sympy
。
from sympy import *
x = Symbol('x')
y = Symbol('y')
z = Symbol('z')
w = Symbol('w')
u = Symbol('u')
q = Symbol('q')
e = Symbol('e')
f = x**3 + x*y**4 + x*z**2*w + u*q**2*w*e**3
f2 = (f*f)
F = integrate(f, x)
G = integrate(f, y)
3) 曲线拟合是一个不同的问题。我建议你看看 scipy.optimize
模块。