A2: Generate Uniform Superposition State

実行時間制限:3 秒

メモリ制限:512 MiB

配点:200点

問題文

整数 nn が入力として与えられる。
ゼロ状態から一様重ね合わせ状態 A\ket{A} を作り出す操作を nn 量子ビットをもつ量子回路 qc\mathrm{qc} 上に実装せよ。
一様重ね合わせ状態 A\ket{A} は次式で定義される。

A=12ni=02n1i=12n(0...0n+...+1...1n)\begin{align} \ket{A} &= \frac{1}{\sqrt{2^n}} \sum_{i=0}^{2^n-1} \ket{i} \nonumber\\ & = \frac{1}{\sqrt{2^n}} (\ket{\underbrace{0...0}_n} + ... + \ket{\underbrace{1...1}_n}) \nonumber \end{align}

制約

  • 1n101 \leq n \leq 10
  • グローバル位相 の変化は問わない。
  • 提出されるコードは次のフォーマットにしたがうこと
from qiskit import QuantumCircuit
 
 
def solve(n: int) -> QuantumCircuit:
    qc = QuantumCircuit(n)
    # Write your code here:
 
    return qc

入力例

  • n=2n = 2
    実装された量子回路 qc\mathrm{qc} は次式を満たす。
00qc14(00+10+01+11)\ket{00} \xrightarrow{\mathrm{qc}} \frac{1}{\sqrt{4}} (\ket{00} + \ket{10} + \ket{01} + \ket{11})

ヒント

開く
  • 次のようにして、量子回路 qc\mathrm{qc} のすべての量子ビットに何らかの量子ゲート gg を作用させることができます。
qc.g(range(n))

解答を提出するにはログインしてください。