多くの試行錯誤を経て、次のPythonコード行を見つけました。
for N in range(2**1,2**3):
print [(2**n % (3*2**(2*N - n))) % (2**N-1) for n in range(2*N+1)]
次の出力を生成します。
[1, 2, 1, 2, 1]
[1, 2, 4, 1, 4, 2, 1]
[1, 2, 4, 8, 1, 8, 4, 2, 1]
[1, 2, 4, 8, 16, 1, 16, 8, 4, 2, 1]
[1, 2, 4, 8, 16, 32, 1, 32, 16, 8, 4, 2, 1]
[1, 2, 4, 8, 16, 32, 64, 1, 64, 32, 16, 8, 4, 2, 1]
つまり、2 の累乗は2**(N-1)
、1 まで、2 の累乗は逆になります。これはまさに私の問題(fftおよびウェーブレット関連)に必要なものです。しかし、なぜそれが機能するのかよくわかりませんか?私が理解している最後の剰余演算は、シリーズの真ん中にある 1 を提供します。最初の剰余演算の係数 3 が頭を悩ませています。誰でも説明できますか?具体的には、基数 2 と係数 3 の関係は?