qiskit.circuit.library.unitary_overlap
qiskit.circuit.library.unitary_overlap(unitary1, unitary2, prefix1='p1', prefix2='p2', insert_barrier=False)
2つのユニタリーの重なりを返す回路 。
入力量子回路は反転可能でなければならないため、ユニタリー演算を表現しなければならない。 入力がパラメータを持つ場合、出力回路ではパラメータは ParameterVectorに置き換えられる。出力回路では、 “p1” (回路 unitary1 )と “p2” (回路 unitary_2 )という名前になる。
この回路は通常、忠実度を計算する際に採用される:
全ゼロビット列に含まれる確率を計算することによって、あるいは等価的に、プロジェクター の期待値を計算することによって。
基準回路:
import numpy as np
from qiskit.circuit.library import efficient_su2, unitary_overlap
# get two circuit to prepare states of which we compute the overlap
circuit = efficient_su2(2, reps=1)
unitary1 = circuit.assign_parameters(np.random.random(circuit.num_parameters))
unitary2 = circuit.assign_parameters(np.random.random(circuit.num_parameters))
# create the overlap circuit
overlap = unitary_overlap(unitary1, unitary2)
overlap.draw('mpl')
パラメーター
- unitary1 (QuantumCircuit) – ケットベクトルに作用するユニタリー。
- unitary2 (QuantumCircuit) – 逆数がブラ・ベクトルに作用するユニタリー。
- prefix1 (str) – パラメータ化されている場合、
unitary1に関連付けられたパラメータ・ベクタの名前。 デフォルトは"p1"。 - prefix2 (str) – パラメータ化されている場合、
unitary2に関連付けられたパラメータ・ベクタの名前。 デフォルトは"p2"。 - insert_barrier (bool) – 2つのユニタリーの間にバリアを挿入するかどうか。
レイズ
- CircuitError -
unitary1とunitary2の量子ビット数が一致しない。 - CircuitError - 入力には、測定値および/またはリセットが含まれる。
戻りの型
このページは役に立ちましたか?
バグや誤字の報告、またはコンテンツの要求はGitHubで行ってください。