B5: Reflection Operator II

実行時間制限:3 秒

メモリ制限:512 MiB

配点:200点

問題文

整数 nn が入力として与えられる。 次式 の行列 AA で定義される操作を、nn 量子ビットをもつ量子回路 qc\mathrm{qc} 上に実装せよ。

A=2ψψIA = 2 \ket{\psi} \bra{\psi} - I

ただし、 II2n×2n2^n \times 2^n の単位行列を表し、ψ\ket{\psi} は次式で定義される。

ψ=12ni=02n1i\ket{\psi} = \frac{1} {\sqrt{2^n}} \sum_{i=0}^{2^n-1} \ket{i}

制約

  • 2n102 \leq n \leq 10
  • 整数はリトルエンディアンにしたがってエンコードすること (例:100=1001\ket{100} = 1 \neq \ket{001})
  • グローバル位相 は問わない。
  • 提出されるコードは次のフォーマットにしたがうこと
from qiskit import QuantumCircuit
 
 
def solve(n: int) -> QuantumCircuit:
    qc = QuantumCircuit(n)
    # Write your code here:
 
    return qc

入力例

  • n=2, ψ=14(00+10+01+11)n=2,\ \ket{\psi} = \frac{1}{\sqrt{4}} ( \ket{00} + \ket{10} + \ket{01} + \ket{11}): 行列 AA は、次式で表現される。
A=2ψψI=(0.50.50.50.50.50.50.50.50.50.50.50.50.50.50.50.5)A = 2 \ket{\psi} \bra{\psi} - I = \begin{pmatrix} -0.5 & 0.5 & 0.5 & 0.5\\ 0.5 & -0.5 & 0.5 & 0.5\\ 0.5 & 0.5 & -0.5 & 0.5\\ 0.5 & 0.5 & 0.5 & -0.5 \end{pmatrix}

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