Skip to main content
IBM Quantum Platform

Tensor-Netzwerk-Simulation

qiskit_addon_aqc_tensor.simulation

Dieses Modul bietet eine Schnittstelle zur Tensornetzsimulation, die unabhängig davon ist, welches Backend verwendet wird.

Derzeit gibt es eine einzige Implementierung, die den Qiskit Aer Matrix-Product State (MPS) Simulator als Backend verwendet.


Verfügbare Backends


Funktionen

Die folgenden Funktionen bieten eine gemeinsame Schnittstelle, die mit jedem unterstützten Backend verwendet werden kann. Unabhängig davon, welches Backend Sie verwenden, werden Sie diese Funktionen als eine gemeinsame Schnittstelle aufrufen.

In der nachstehenden Dokumentation sind für jede Funktion die verschiedenen Implementierungen aufgeführt, die für diese Funktion verfügbar sind. Das Addon wählt die zu verwendende Implementierung auf der Grundlage der von Ihnen angegebenen Argumenttypen aus. (Dieses Paradigma wird als "Mehrfachversand" bezeichnet.)

tensornetwork_from_circuit

tensornetwork_from_circuit(qc, settings, /)

GitHub

Erzeugen Sie einen Tensornetzzustand durch Simulation eines Quantenschaltkreises.

Der Typ des Tensor-Netzwerk-Zustands entspricht dem Typ des settings Objekts. QiskitAerMPSBeispielsweise führt ein QiskitAerSimulationSettings dazu, dass diese Funktion ein zurückgibt.

tensornetwork_from_circuit(qc: qiskit.circuit.quantumcircuit.QuantumCircuit, settings: qiskit_addon_aqc_tensor.simulation.aer.simulation.QiskitAerSimulationSettings | plum._type.ModuleType[qiskit_aer.AerSimulator], /, *, out_state: numpy.ndarray | None = None) → qiskit_addon_aqc_tensor.simulation.aer.state.QiskitAerMPS

GitHub

Parameter

Rückgabetyp

TensorNetworkState

tensornetwork_from_circuit(qc: qiskit.circuit.quantumcircuit.QuantumCircuit, settings: qiskit_addon_aqc_tensor.simulation.quimb.QuimbSimulator, /, *, out_state: numpy.ndarray | None = None) → plum._type.ModuleType[quimb.tensor.CircuitBase] | plum._type.ModuleType[quimb.tensor.Circuit]

GitHub

Parameter

Rückgabetyp

TensorNetworkState

Rückgabetyp

TensorNetworkState

Parameter

apply_circuit_to_state

apply_circuit_to_state(qc, psi, settings, /, *, out_state=None)

GitHub

Anwendung eines Quantenschaltkreises auf einen Tensornetzzustand.

Der Eingangszustand (psi) wird nicht verändert.

Rückgabetyp

TensorNetworkState

Rückgabe

Der neue Staat.

Parameter

apply_circuit_to_state(qc: qiskit.circuit.quantumcircuit.QuantumCircuit, psi: qiskit_addon_aqc_tensor.simulation.aer.state.QiskitAerMPS, settings: qiskit_addon_aqc_tensor.simulation.aer.simulation.QiskitAerSimulationSettings | plum._type.ModuleType[qiskit_aer.AerSimulator], /, *, out_state: numpy.ndarray | None = None) → qiskit_addon_aqc_tensor.simulation.aer.state.QiskitAerMPS

GitHub

Parameter

Rückgabetyp

TensorNetworkState

apply_circuit_to_state(qc: qiskit.circuit.quantumcircuit.QuantumCircuit, circ0: plum._type.ModuleType[quimb.tensor.CircuitBase] | plum._type.ModuleType[quimb.tensor.Circuit], settings: qiskit_addon_aqc_tensor.simulation.quimb.QuimbSimulator, /, *, out_state: numpy.ndarray | None = None) → plum._type.ModuleType[quimb.tensor.CircuitBase] | plum._type.ModuleType[quimb.tensor.Circuit]

GitHub

Parameter

Rückgabetyp

TensorNetworkState

Anwendung eines Quantenschaltkreises auf einen Tensornetzzustand.

Der Eingangszustand (psi) wird nicht verändert.

Rückgabe

Der neue Staat.

Parameter

Rückgabetyp

TensorNetworkState

compute_overlap

compute_overlap(psi_1, psi_2, /)

GitHub

Berechnen Sie die Überlappung zweier Quantenzustände: ⟨ψ1∣ψ2⟩\langle \psi_1 | \psi_2 \rangle.

HINWEIS: Im Gegensatz zu numpy.dot führen Implementierungen dieser Methode die komplexe Konjugation am ersten Argument durch.

Parameter

Rückgabetyp

complex

Rückgabe

wert des komplexen Punktprodukts.

compute_overlap(mps1: qiskit_addon_aqc_tensor.simulation.aer.state.QiskitAerMPS, mps2: qiskit_addon_aqc_tensor.simulation.aer.state.QiskitAerMPS, /) → complex

GitHub

Parameter

Rückgabetyp

Komplex

compute_overlap(circ1: plum._type.ModuleType[quimb.tensor.CircuitBase] | plum._type.ModuleType[quimb.tensor.Circuit], circ2: plum._type.ModuleType[quimb.tensor.CircuitBase] | plum._type.ModuleType[quimb.tensor.Circuit], /) → complex

GitHub

Parameter

Rückgabetyp

Komplex


Abstrakte Klassen

Dies sind abstrakte Klassen, die von jedem Backend implementiert werden.

TensorNetworkState

class TensorNetworkState

GitHub

Basen: object

Abstrakter Zustand des Tensornetzes.

TensorNetworkSimulationSettings

class TensorNetworkSimulationSettings

GitHub

Basen: object

Abstrakte Trunkierungseinstellungen.

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