1)问题表述:
给定一个长度为n的向量:a=[a1,a2,..,an]
,我需要计算向量b=[b1,b2,..bn]
,这样:
b1=a1+a2+...+an
b2=a1a2+a1a3+...+a1an+a2a3+...+a2an+...+a{n-1}an
b3=a1a2a3+a1a2a4+...+a1a2an+a1a3a4+...
...
bn=a1a2a3...an
b
的每个连续条目都包含{
有没有人知道有效的算法,或者可能是一个实现这种算法的现有库?在
我在想
^{pr2}$所有其他条目也是如此。在
2)为什么我需要这个:
我想用拉格朗日插值多项式展开进行一维函数积分。我的问题是牛顿-科茨公式的推广。这个公式用于计算定积分。与牛顿·科茨不同,我想计算给定函数f在所选配点处的完全反导数,因此我必须对每个拉格朗日插值多项式进行积分。在
我不需要工作代码。我更感兴趣的是算法,以及这是否已经实现。在
谢谢, 米哈伊尔
编辑:示例:
让a=[1,2,3,4]
。在
那么
b=[1+2+3+4,1*2+1*3+1*4+2*3+2*4+3*4,1*2*3+1*2*4+1*3*4+2*3*4,1*2*3*4]=[10,35,50,24]
该输出:
^{pr2}$为了完整起见,我想建议使用递归的我自己的替代解决方案。很容易注意到,如果对于某些}(使得第一个
a=[a1,a2,...,an]
我们知道b=[b1,b2,...bn]
,而对于向量{n
项与向量a
一致),那么解决方案将是:因此,基于递归的解决方案很简单:
^{pr2}$结果与上述解决方案相同,但是基准测试表明@blhsing提出的解决方案更有效。在
相关问题 更多 >
编程相关推荐