解説
問題 A1 では、「重ね合わせ状態」にある 1 量子ビットを生成しました。
では、 個の量子ビットがそれぞれ重ね合わせ状態にあるとき、 個の量子ビットの状態をどのように表現できるでしょうか?
1つの量子ビットを測定すると、計算基底状態 と が等しい確率 で観測されることから、 個の量子ビット を順に測定すると、 から までの 個の計算基底状態が等しい確率 で観測されます。
すなわち、この状態 は 個の計算基底状態の一様な重ね合わせ状態として、次式で表されます。
結果として、 個の量子ビットそれぞれにアダマールゲートを作用させることで、この問題を解くことができます。
解答例
解答例は以下の通りです。
from qiskit import QuantumCircuit
def solve(n: int) -> QuantumCircuit:
qc = QuantumCircuit(n)
qc.h(range(n))
return qc
単に for ループを用いて実装することもできます。
from qiskit import QuantumCircuit
def solve(n: int) -> QuantumCircuit:
qc = QuantumCircuit(n)
for i in range(n):
qc.h(i)
return qc