我试图用scipy的特殊函数来评估勒让德多项式P_n(x)
scipy.special.eval_legendre(n, x)
允许您在某些点评估勒让德。然后我想将这些勒让德多项式加在一起,\ Sigma_n P_n(x)。
首先在几个n值处评估P_n(x),让我们说10.定义一个数组
arr = np.arange(10) = array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
您可以在这些值处评估P_n(x)。
然而,我的论点是100乘100矩阵。所以,
eval_legendre(np.arange(10), matrix)
不起作用,因为有广播错误。这很容易克服。
但是,我想取所有这些勒让德多项式的总和
" Sum = P_0(x)+ P_1(x)+ P_2(x)+ ... + P_10(x)"
使用
import numpy as np
np.sum()
这更复杂,因为我在对每个P_n(x)求和。
我怀疑正确的方法就像
for i in arr:
np.sum(i, matrix)
有更干净/整洁的方法吗?
答案 0 :(得分:1)
这应该做的工作:
sum( [eval_legendre(x,matrix) for x in range(1,10)] )
每次调用eval_legendre
函数都会返回传递给它的矩阵形状的矩阵。所以我们可以使用列表理解来列出这些矩阵,并按照你的建议加以总结。