chebfft.py 文件源码

python
阅读 24 收藏 0 点赞 0 评论 0

项目:spmpython 作者: mikaem 项目源码 文件源码
def chebfft(v):
    N = len(v) - 1
    if (N == 0): w = 0;
    x = cos(pi*arange(0,N+1)/N)
    K = fft.fftfreq(2*N, 0.5/N)
    K[N] = 0
    ii = arange(0,N)
    v = hstack([v])
    V = hstack([v, flipud(v[1:N])])
    U = real(fft.fft(V))
    uu = dct(v, 1)
    uv = hstack((uu, uu[1:-1][::-1]))
    W = real(fft.ifft(1j*K*U))
    ww = dst(K*uv, 1)
    from IPython import embed; embed()
    w = zeros(N+1)
    w[1:N] = -W[1:N]/sqrt(1-x[1:N]**2)
    w[0] = sum(ii.T**2*U[0:len(ii)])/float(N) + 0.5*N*U[N]
    w[N] = sum(((-1)**(ii+1))*(ii.T**2)*U[0:len(ii)])/float(N) + 0.5*(-1)**(N+1)*N*U[N]

    return w
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号