是否有任何python函数(可能来自numpy或scipy)计算扩展中x ** r的系数(1 xx ** 2 x ** 3 … x **(k-1))** n ,其中k> = 1,n> = 0且0 <= r <= n(k-1)?

这有时被称为多项式系数(PC)(参见,例如,here).

如果没有,你能想到一种有效的计算方法吗? (我对天真/贪婪的方式不感兴趣).

解决方法:

你实际上正在进行[1,1,1,…,1,1,1]的n次卷积.

因此,您是否考虑在足够零填充的阵列上使用FFT,将其元素提升到幂n并使用逆FFT来恢复所有系数

(1+x+x**2+x**3+...+x**(k-1))**n

然后只是阅读你感兴趣的那些?

更新:

由于FFT是循环的,因此您需要一个不小于其中的项数的数组

(1+x+x**2+x**3+...+x**(k-1))**n

或者换句话说,(k-1)* n 1使结果不会在末端环绕(或者至少在它们这样做时它们只向受影响的元素添加零).通常它的长度也应该是2的幂,因为这是FFT算法所要求的(实现不需要它将用零填充输入直到它).

在类似C的伪代码中:

unsigned int m = 1;

while(m

complex c[m];

for(unsigned int i=0;i!=k;++i) c[i] = complex(1.0, 0.0);

for(unsigned int i=k;i!=m;++i) c[i] = complex(0.0, 0.0);

c = fft(c);

for(unsigned int i=0;i!=m;++i) c[i] = pow(c[i], double(n));

c = inv_fft(c);

在此结束时,复数组c的第r个元素的实部等于x ** r的系数和零的虚部.

现在,由于这都是以浮点形式完成的,因此您应该知道这些元素将累积舍入错误.您可以通过将它们四舍五入到最接近的整数来部分纠正这一点,但要注意,对于足够大的k和n,这些误差将超过0.5,因此这会产生因某些小的相对误差而关闭的结果.

在网上快速搜索显示,numpy分别具有FFT及其逆,numpy.fft.rfft和numpy.fft.irfft的实现,您可以在输入数据为真时使用.

标签:python,math,numpy,polynomials

python多项式运算_python – 用于计算“多项式系数”的numpy / scipy函数相关推荐

  1. python 多项式求系数_在Python中用于计算“多项式系数”的numpy / scipy函数

    是否有任何 python函数(可能来自numpy或scipy)计算扩展中x ** r的系数(1 xx ** 2 x ** 3 - x **(k-1))** n ,其中k> = 1,n> = ...

  2. 编程练习:编写一个函数,用于计算某长方形面积的函数

    编写一个函数,用于计算某长方形面积的函数.要求:函数的输入是一个长方形的长和宽,且为整数.计算并输出长宽分别为3和4的长方形的面积.(PHP编程) 编写一个PHP文件,命名为php16.php,代码如 ...

  3. python 数组 运算_python数据分析(二) python numpy--数组和矢量运算--数组对象

    Numpy numpy是数值计算最重要的基础包,几乎所有的科学运算的模块底层所用的都是numpy数组. Numpy本身没有提供多么高级的数据分析功能,他所提供的功能主要是: 1.具有矢量算术运算(用数 ...

  4. python数组初始化_Python科学计算库Numpy数组的初始化和基本操作

    umPy系统是Python的一种开源的数值计算扩展.这种工具可用来存储和处理大型矩阵,比Python自身的嵌套列表(nested list structure)结构要高效的多(该结构也可以用来表示矩阵 ...

  5. python怎么来算面积_Python实现计算长方形面积(带参数函数demo)

    Python实现计算长方形面积(带参数函数demo) 如下所示: # 计算面积函数 def area(width, height): return width * height def print_w ...

  6. python 高维数据_Python数据分析入门|利用NumPy高效处理高维数据

    矢量化 NumPy数组可以将许多数据处理任务表述为简洁的数组表达式,否则需要编写循环.用数组表达式代替循环的做法,通常被称为矢量化.通常矢量化数组运算要比等价的纯Python方式快上一两个数量级,尤其 ...

  7. python 日期运算_Python中关于日期的计算总结

    1.获取当前时间的两种方法: 代码如下: import datetime,time now = time.strftime("%Y-%m-%d %H:%M:%S") print n ...

  8. python下表运算_python科学计算_numpy_广播与下标

    多维数组下标 多维数组的下标是用元组来实现每一个维度的,如果元组的长度比维度大则会出错,如果小,则默认元组后面补 : 表示全部访问: 如果一个下标不是元组,则先转换为元组,在转换过程中,列表和数组的转 ...

  9. python 幂运算_python幂运算

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! "**"运算这个"**"比较简单,就是标 ...

最新文章

  1. Tableau必知必会之如何用颜色 突显 前N项和后N项
  2. 论文笔记:DeepID2
  3. 详细介绍Linux shell脚本系列基础学习(列表)
  4. WebSocket实战
  5. python 雪花id_基于python实现雪花算法过程详解
  6. 多线程的那点儿事(之原子锁)
  7. 想更换手机卡,但它绑定了支付宝,微信,银行卡等,该怎么办啊?
  8. 学生信息管理系统课程设计 java_java课程设计(学生信息管理系统)
  9. python语言实例-Python代码样例列表
  10. Gym 101669J SEERC 2017 Cunning Friends
  11. 马斯克被指性骚扰空姐,已支付170万封口费,马一龙:这是他们卑鄙的剧本!...
  12. 2022年计算机保研夏令营经验总结,11所院校经历,预推免上岸北大
  13. 微信小程序 从某个页面直接返回首页
  14. qq令牌64位密钥提取_QQ令牌工具 活令牌查询动态密码(大哥牌)
  15. 用Shader Graph的Flipbook节点实现水花效果
  16. 基于向量加权平均算法的函数寻优和工程优化
  17. Win11微信来消息任务栏右下角图标不闪烁怎么办?
  18. 使用tkinter开发GUI程序4 -- tkinter常见控件的特征属性(第二部分)
  19. 第十七章 使用系统监视器 - 使用 ^%SYSMONMGR 实用程序
  20. 【Jodd】Jodd工具

热门文章

  1. WSE 3.0 文档翻译:安装WSE3.0
  2. 开机自动挂载与autofs触发挂载
  3. Git入门教程(上)
  4. ORACLE数据库对比表结构
  5. SharePoint 2013 处理videoplayerpage.aspx下的个人图片显示有误问题
  6. 用JPUSH极光推送实现服务端向安装了APP应用的手机推送消息(C#服务端接口)
  7. python cmdb资产_SuperCMDB - 资产管理+跳板审计
  8. 二叉链表和职工管理系统结合_基于二叉链表的二叉树实现
  9. Python中的collections模块的相关练习
  10. php类属性命名驼峰还是下划线,PHP实现驼峰命名和下划线命名互转