Skip to main content
IBM Quantum Platform

MCMT

class qiskit.circuit.library.MCMT(gate, num_ctrl_qubits, num_target_qubits)

GitHub

Basen: QuantumCircuit

Das mehrfach gesteuerte Mehrzieltor, für ein beliebiges einfach gesteuertes Zieltor.

Beispielsweise wird das H-Gatter, das über 3 Qubits gesteuert wird und auf 2 Ziel-Qubits wirkt, wie folgt dargestellt:

───■────
   │
───■────
   │
───■────
┌──┴───┐
┤0     ├
│  2-H │
┤1     ├
└──────┘

Diese Standardimplementierung benötigt keine Hilfsqubits, da das Zielgatter an die Anzahl der Zielqubits gesendet wird und die generische Steuerungsroutine von Qiskit verwendet wird, um das gesendete Ziel auf den Steuerqubits zu steuern. Wenn Ancilla-Qubits zur Verfügung stehen, kann eine effizientere Variante unter Verwendung der sogenannten V-Ketten-Zerlegung genutzt werden. Dies ist in MCMTVChain. implementiert.

Erstellen Sie ein neues Multi-Control Multi-Target-Gate.

Veraltet seit Version 1.4

Die Klasse qiskit.circuit.library.generalized_gates.mcmt.MCMT ist ab Qiskit 1.4 veraltet. Sie wird frühestens 3 Monate nach dem Datum der Veröffentlichung entfernt. Verwenden Sie stattdessen MCMTGate.

Parameter

  • gate (Gate | Callable[[QuantumCircuit, circuit.Qubit, circuit.Qubit], circuit.Instruction]) – Das Gate wird auf den Steuerqubits angesteuert und auf die Zielqubits angewendet. Es kann sich entweder um eine Gate- oder eine Schaltungsmethode handeln. Wenn es sich um ein „Callable“ handelt, wird es in ein „Gate“ umgewandelt.
  • num_ctrl_qubits (int) – Die Anzahl der Kontrollqubits.
  • num_target_qubits (int) – Die Anzahl der Zielqubits.

Erhöht

  • AttributeError – Wenn das Tor nicht in ein kontrolliertes Tor umgewandelt werden kann.
  • AttributeError - Wenn die Anzahl der Kontrollen oder Ziele 0 ist.

Attribute

num_ancilla_qubits

Gibt die Anzahl der Ancillas zurück.

name

Typ: str

Ein von Menschen lesbarer Name für den Stromkreis.

Beispiel

from qiskit import QuantumCircuit

qc = QuantumCircuit(2, 2, name="my_circuit")
print(qc.name)
my_circuit

Methoden

control

control(num_ctrl_qubits=1, label=None, ctrl_state=None, annotated=False)

GitHub

Geben Sie die kontrollierte Version der MCMT-Schaltung zurück.

inverse

inverse(annotated=False)

GitHub

Rückgabe der inversen MCMT-Schaltung, die sich selbst darstellt.

Parameter

annotated (bool)

War diese Seite hilfreich?
Melden Sie auf GitHub einen Fehler, einen Tippfehler oder fordern Sie Inhalte an.