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, /)
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
Parametri
- qc (QuantumCircuit)
- settings (TensorNetworkSimulationSettings)
Tipo di restituzione
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]
Parametri
- qc (QuantumCircuit)
- settings (TensorNetworkSimulationSettings)
Tipo di restituzione
Tipo di restituzione
Parametri
- qc (QuantumCircuit)
- settings (TensorNetworkSimulationSettings)
apply_circuit_to_state
apply_circuit_to_state(qc, psi, settings, /, *, out_state=None)
Applicare un circuito quantistico a uno stato della rete tensoriale.
Lo stato dell'ingresso (psi) non viene modificato.
Tipo di restituzione
Risultati
Il nuovo Stato.
Parametri
- qc (QuantumCircuit)
- psi (TensorNetworkState)
- settings (TensorNetworkSimulationSettings)
- out_state (ndarray | None)
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
Parametri
- qc (QuantumCircuit)
- psi (TensorNetworkState)
- settings (TensorNetworkSimulationSettings)
- out_state (ndarray | None)
Tipo di restituzione
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]
Parametri
- qc (QuantumCircuit)
- psi (TensorNetworkState)
- settings (TensorNetworkSimulationSettings)
- out_state (ndarray | None)
Tipo di restituzione
Applicare un circuito quantistico a uno stato della rete tensoriale.
Lo stato dell'ingresso (psi) non viene modificato.
Risultati
Il nuovo Stato.
Parametri
- qc (QuantumCircuit)
- psi (TensorNetworkState)
- settings (TensorNetworkSimulationSettings)
- out_state (ndarray | None)
Tipo di restituzione
compute_overlap
compute_overlap(psi_1, psi_2, /)
Calcolo della sovrapposizione di due stati quantistici: .
NOTA: A differenza di numpy.dot, le implementazioni di questo metodo eseguono la coniugazione complessa sul primo argomento.
Parametri
- psi_1 (
TensorNetworkState) – primo stato quantico. - psi_2 (
TensorNetworkState) – secondo stato quantico.
Tipo di restituzione
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
Parametri
- psi_1 (TensorNetworkState)
- psi_2 (TensorNetworkState)
Tipo di restituzione
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
Parametri
- psi_1 (TensorNetworkState)
- psi_2 (TensorNetworkState)
Tipo di restituzione
Classi astratte
Si tratta di classi astratte, implementate da ciascun backend.