用python程序编写二元多项式_用于处理多元多项式的库

我需要写一些代码来处理生成和操作多变量多项式。我将用一个简单的例子来概述我的任务。在

假设有三个表达式:2x^2,3y+1,和1z。然后我需要将它们相乘,得到6x^2yz+2x^2z。然后,我想找出这个表达式对x,y,z的偏导数,得到12xyz+4xz,6x^2z和6x^2y+2x^2。在

我的问题是在包含数千个变量的表达式上进行像这样的简单操作,我需要一个简单的方法来系统地完成。我真的很想使用python,因为我已经用numpy/scipy/matplotlib完成了许多与项目相关的功能,但是如果有一个健壮的工具箱,我也愿意使用它。我正在做大学研究,所以我也愿意使用Matlab。在

我还没有找到任何好的python库可以轻松地完成这项工作,理想情况下,我希望使用类似于scipy polynomial routines的库来处理多维多项式。有没有人知道一个好的库似乎适合这个问题,并且很容易集成到已经存在的python代码中?在

谢谢!在

跟进:我花了几天时间与sympy合作,结果发现它非常容易使用。然而,由于我正在研究的问题的规模太慢了,所以我现在要去探索matlab。为了使用小样本量对速度进行极其粗略的估计,计算包含250个变量的2阶多项式的每个偏导数大约需要5秒。在

后续2:我可能应该在我还在研究这个问题的时候就这样做,但我还是让大家知道,matlab符号库在速度上与sympy非常相似。换句话说,对于大型计算来说,它的速度非常慢。这两个库都非常容易使用,所以对于小型计算,我强烈推荐两者之一。在

为了解决我的问题,我手工计算了梯度,简化了它们,然后使用我发现的模式在代码中硬编码一些值。这需要做更多的工作,但使我的代码以指数级的速度增长,最终可以使用。在

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值