Skip to main content
IBM Quantum Platform

Simulation de réseau de tenseurs

qiskit_addon_aqc_tensor.simulation

Ce module fournit une interface pour la simulation de réseaux tensoriels qui ne dépend pas du backend utilisé.

Actuellement, il n'existe qu'une seule implémentation, qui utilise le simulateur d'état matrice-produit (MPS) de Qiskit Aer comme backend.


Backends disponibles


Fonctions

Les fonctions suivantes fournissent une interface commune qui peut être utilisée avec n'importe quel backend pris en charge. Quel que soit le backend que vous utilisez, vous invoquerez ces fonctions en tant qu'interface commune.

Pour chaque fonction ci-dessous, la documentation présente toutes les implémentations distinctes disponibles pour cette fonction. L'addon choisira l'implémentation à utiliser en fonction des types d'arguments que vous fournissez. (Ce paradigme est appelé "répartition multiple")

tensornetwork_from_circuit

tensornetwork_from_circuit(qc, settings, /)

GitHub

Créer un état de réseau tensoriel en simulant un circuit quantique.

Le type d'état du réseau de tenseurs correspondra au type de l'objet settings . QiskitAerMPSPar exemple, un QiskitAerSimulationSettings entraînera le retour d'un par cette fonction.

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

Paramètres

Type de retour

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

Paramètres

Type de retour

TensorNetworkState

Type de retour

TensorNetworkState

Paramètres

apply_circuit_to_state

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

GitHub

Appliquer un circuit quantique à un état de réseau tensoriel.

L'état d'entrée (psi) n'est pas modifié.

Type de retour

TensorNetworkState

Retours

Le nouvel État.

Paramètres

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

Paramètres

Type de retour

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

Paramètres

Type de retour

TensorNetworkState

Appliquer un circuit quantique à un état de réseau tensoriel.

L'état d'entrée (psi) n'est pas modifié.

Retours

Le nouvel État.

Paramètres

Type de retour

TensorNetworkState

compute_overlap

compute_overlap(psi_1, psi_2, /)

GitHub

Calculer le chevauchement de deux états quantiques : ψ1ψ2\langle \psi_1 | \psi_2 \rangle.

NOTE : Contrairement à numpy.dot, les implémentations de cette méthode effectueront la conjugaison complexe sur le premier argument.

Paramètres

Type de retour

complex

Retours

valeur du produit complexe de points.

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

GitHub

Paramètres

Type de retour

complexe

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

Paramètres

Type de retour

complexe


Classes abstraites

Il s'agit de classes abstraites, mises en œuvre par chaque backend.

TensorNetworkState

class TensorNetworkState

GitHub

Bases : object

État du réseau tensoriel abstrait.

TensorNetworkSimulationSettings

class TensorNetworkSimulationSettings

GitHub

Bases : object

Paramètres de troncature abstraite.

Cette page a-t-elle été utile ?
Signaler un bogue, une coquille ou proposer du contenu sur GitHub.