Skip to main content
IBM Quantum Platform

Simulazione della rete tensoriale

qiskit_addon_aqc_tensor.simulation

Questo modulo fornisce un'interfaccia per la simulazione di reti tensoriali che non dipende dal backend utilizzato.

Attualmente esiste una sola implementazione, che utilizza il simulatore di stato matrice-prodotto (MPS) di Qiskit Aer come backend.


Backend disponibili


Funzioni

Le seguenti funzioni forniscono un'interfaccia comune che può essere utilizzata con qualsiasi backend supportato. Indipendentemente dal backend utilizzato, queste funzioni vengono invocate come un'interfaccia comune.

In ogni funzione che segue, la documentazione mostra tutte le implementazioni disponibili per quella funzione. Il componente aggiuntivo sceglierà quale implementazione utilizzare in base ai tipi di argomenti forniti. (Questo paradigma è chiamato "dispacciamento multiplo")

tensornetwork_from_circuit

tensornetwork_from_circuit(qc, settings, /)

GitHub

Creare uno stato di rete tensoriale simulando un circuito quantistico.

Il tipo dello stato della rete tensoriale corrisponderà al tipo dell'oggetto settings . Ad esempio, un QiskitAerSimulationSettings farà sì che questa funzione restituisca un QiskitAerMPS.

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

Parametri

Tipo di restituzione

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

Parametri

Tipo di restituzione

TensorNetworkState

Tipo di restituzione

TensorNetworkState

Parametri

apply_circuit_to_state

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

GitHub

Applicare un circuito quantistico a uno stato della rete tensoriale.

Lo stato dell'ingresso (psi) non viene modificato.

Tipo di restituzione

TensorNetworkState

Risultati

Il nuovo Stato.

Parametri

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

Parametri

Tipo di restituzione

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

Parametri

Tipo di restituzione

TensorNetworkState

Applicare un circuito quantistico a uno stato della rete tensoriale.

Lo stato dell'ingresso (psi) non viene modificato.

Risultati

Il nuovo Stato.

Parametri

Tipo di restituzione

TensorNetworkState

compute_overlap

compute_overlap(psi_1, psi_2, /)

GitHub

Calcolo della sovrapposizione di due stati quantistici: ψ1ψ2\langle \psi_1 | \psi_2 \rangle.

NOTA: A differenza di numpy.dot, le implementazioni di questo metodo eseguono la coniugazione complessa sul primo argomento.

Parametri

Tipo di restituzione

complex

Risultati

valore del prodotto complesso del punto.

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

GitHub

Parametri

Tipo di restituzione

complesso

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

Parametri

Tipo di restituzione

complesso


Classi astratte

Si tratta di classi astratte, implementate da ciascun backend.

TensorNetworkState

class TensorNetworkState

GitHub

Basi: object

Stato astratto della rete tensoriale.

TensorNetworkSimulationSettings

class TensorNetworkSimulationSettings

GitHub

Basi: object

Impostazioni di troncamento astratto.

Questa pagina è stata utile?
Segnala un bug, un errore di battitura o richiedi contenuti su GitHub.