Skip to main content
IBM Quantum Platform

qiskit.circuit.library.hidden_linear_function

qiskit.circuit.library.hidden_linear_function(adjacency_matrix)

GitHub

隠れた線形関数問題を解く回路。

2D 隠れ一次関数問題は、 2D 隣接行列Aによって決定される。ここで、グリッド上で最近傍の要素だけが非ゼロのエントリーを持つ。 各行/列は、1つのバイナリ変数 xix_i に対応する。

隠れ一次関数問題は以下の通り:

二次形式を考える

q(x)=i,j=1nxixj (mod 4)q(x) = \sum_{i,j=1}^{n}{x_i x_j} ~(\mathrm{mod}~ 4)

そして q(x)q(x)、Aのヌルスペース上に制限する。 その結果、一次関数となる。

2i=1nzixi (mod 4)xKer(A)2 \sum_{i=1}^{n}{z_i x_i} ~(\mathrm{mod}~ 4) \forall x \in \mathrm{Ker}(A)

そして目標は、この一次関数(等価的にベクトル [z0,...,zn1][z_0, ..., z_{n-1}] )を回復することである。解は複数存在し得る。

[1では]、古典的な計算機では、 nn と対数的に成長する回路が必要であるのに対し、本回路は量子コンピュータ上でこの問題を一定の深さで解くことが示されている。したがって、この回路は、浅い回路による量子の利点の例である。

基準回路:

from qiskit.circuit.library import hidden_linear_function
A = [[1, 1, 0], [1, 0, 1], [0, 1, 1]]
circuit = hidden_linear_function(A)
circuit.draw('mpl')
先のコードで出力された回路図。

パラメーター

adjacency_matrix (list |ndarray) – 0-1リストからなる対称的なn行n列のリスト。 n は量子ビットの数となる。

レイズ

CircuitError - Aが対称でない場合。

戻りの型

QuantumCircuit

参照:

[1] S. Bravyi, D. Gosset, R. Koenig, Quantum Advantage with Shallow Circuits, 2017. arXiv:1704.00690

このページは役に立ちましたか?
バグや誤字の報告、またはコンテンツの要求はGitHubで行ってください。