blueqatにおけるソースコードを載せます。
from blueqat import *
import numpy as np
import copy
import math
def binphase(n, t, circ):
cres = circ.copy()
cres.h[t]
for j in range(2, n - t + 1):
cres.cphase(2.0 * np.pi / 2**j)[t + j - 1, t]
return cres
def qft(n, xket, circ):
cres = circ.copy()
for j in range(n):
cres = binphase(n, j, cres)
return cres
x = [0, 0, 0, 1]
c = Circuit(4)
c.h[:]
cres = c.copy()
r = [j for j in range(16)]
result = cres.run(shot = 100)
print(x, result)
```
問1 逆量子フーリエ変換を実装してください。
問2 4量子ビットにおけるもっとも周波数の高い波はどのような状態からできるか。