MCMT
class qiskit.circuit.library.MCMT(gate, num_ctrl_qubits, num_target_qubits)
ベース: QuantumCircuit
マルチ制御マルチターゲットゲート、任意の単一制御ターゲットゲート用。
例えば、3つの量子ビットで制御され、2つのターゲット量子ビットに作用するHゲートは、次のように表されます:
───■────
│
───■────
│
───■────
┌──┴───┐
┤0 ├
│ 2-H │
┤1 ├
└──────┘このデフォルトの実装では、ターゲットゲートをターゲット量子ビットの数だけブロードキャストし、Qiskitの汎用制御ルーチンを使用して制御量子ビット上でブロードキャストされたターゲットを制御することで、補助量子ビットを一切必要としません。 アンシラ量子ビットが利用可能であれば、いわゆるV-チェーン分解を用いた、より効率的な手法を採用することができる。 これは.で実装されています MCMTVChain。
新しいマルチ・コントロール・マルチ・ターゲット・ゲートを作成する。
バージョンから非推奨 1.4
クラス qiskit.circuit.library.generalized_gates.mcmt.MCMT は Qiskit 1.4 で非推奨となりました。 発売日から3ヶ月以内に削除されます。 代わりにMCMTGateを使用する。
パラメーター
- gate (Gate | Callable[[QuantumCircuit, circuit.Qubit, circuit.Qubit], circuit.Instruction]) – 制御量子ビットで制御されたゲートが、対象量子ビットに適用される。 ゲート方式でも回路方式でも構いません。 呼び出し可能オブジェクトの場合は、Gate型にキャストされます。
- num_ctrl_qubits (int) – 制御量子ビットの数。
- num_target_qubits (int) – 対象となる量子ビットの数。
レイズ
- AttributeError – ゲートを制御可能なゲートに変換できない場合。
- AttributeError - コントロールまたはターゲットの数が0の場合。
属性
num_ancilla_qubits
アンシラの数を返す。
name
タイプ: str
人間が読める回路名。
例
from qiskit import QuantumCircuit
qc = QuantumCircuit(2, 2, name="my_circuit")
print(qc.name)my_circuit方法
control
inverse
このページは役に立ちましたか?
バグや誤字の報告、またはコンテンツの要求はGitHubで行ってください。