def __init__(self, n):
self.degree = n
self.points = -numpy.cos(numpy.pi * (numpy.arange(n) + 0.5) / n)
# n -= 1
N = numpy.arange(1, n, 2)
length = len(N)
m = n - length
K = numpy.arange(m)
v0 = numpy.concatenate([
2 * numpy.exp(1j*numpy.pi*K/n) / (1 - 4*K**2),
numpy.zeros(length+1)
])
v1 = v0[:-1] + numpy.conjugate(v0[:0:-1])
w = numpy.fft.ifft(v1)
assert max(w.imag) < 1.0e-15
self.weights = w.real
return
评论列表
文章目录