Simulación de red tensorial
qiskit_addon_aqc_tensor.simulation
Este módulo proporciona una interfaz para la simulación de redes tensoriales que es independiente del backend que se utilice.
En la actualidad, existe una única implementación, que utiliza el simulador de estado matriz-producto (MPS) de Qiskit Aer como backend.
Backends disponibles
Funciones
Las siguientes funciones proporcionan una interfaz común que puede utilizarse con cualquier backend compatible. Independientemente del backend que utilice, invocará estas funciones como una interfaz común.
En cada una de las siguientes funciones, la documentación muestra todas las implementaciones disponibles para esa función. El addon elegirá qué implementación utilizar en función de los tipos de argumentos que proporciones. (Este paradigma se denomina "despacho múltiple")
tensornetwork_from_circuit
tensornetwork_from_circuit(qc, settings, /)
Crea un estado de red tensorial simulando un circuito cuántico.
El tipo de estado de la red tensorial se corresponderá con el tipo del settings objeto. Por ejemplo, un QiskitAerSimulationSettings hará que esta función devuelva 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
Parámetros
- qc (QuantumCircuit)
- settings (TensorNetworkSimulationSettings)
Tipo de retorno
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]
Parámetros
- qc (QuantumCircuit)
- settings (TensorNetworkSimulationSettings)
Tipo de retorno
Tipo de retorno
Parámetros
- qc (QuantumCircuit)
- settings (TensorNetworkSimulationSettings)
apply_circuit_to_state
apply_circuit_to_state(qc, psi, settings, /, *, out_state=None)
Aplica un circuito cuántico a un estado de red tensorial.
El estado de entrada (psi) no se modifica.
Tipo de retorno
Devuelve
El nuevo Estado.
Parámetros
- 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
Parámetros
- qc (QuantumCircuit)
- psi (TensorNetworkState)
- settings (TensorNetworkSimulationSettings)
- out_state (ndarray | None)
Tipo de retorno
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]
Parámetros
- qc (QuantumCircuit)
- psi (TensorNetworkState)
- settings (TensorNetworkSimulationSettings)
- out_state (ndarray | None)
Tipo de retorno
Aplica un circuito cuántico a un estado de red tensorial.
El estado de entrada (psi) no se modifica.
Devuelve
El nuevo Estado.
Parámetros
- qc (QuantumCircuit)
- psi (TensorNetworkState)
- settings (TensorNetworkSimulationSettings)
- out_state (ndarray | None)
Tipo de retorno
compute_overlap
compute_overlap(psi_1, psi_2, /)
Calcular el solapamiento de dos estados cuánticos: .
NOTA: A diferencia de numpy.dot, las implementaciones de este método realizarán la conjugación compleja en el primer argumento.
Parámetros
- psi_1 (
TensorNetworkState) – primer estado cuántico. - psi_2 (
TensorNetworkState) – segundo estado cuántico.
Tipo de retorno
Devuelve
valor del producto punto complejo.
compute_overlap(mps1: qiskit_addon_aqc_tensor.simulation.aer.state.QiskitAerMPS, mps2: qiskit_addon_aqc_tensor.simulation.aer.state.QiskitAerMPS, /) → complex
Parámetros
- psi_1 (TensorNetworkState)
- psi_2 (TensorNetworkState)
Tipo de retorno
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
Parámetros
- psi_1 (TensorNetworkState)
- psi_2 (TensorNetworkState)
Tipo de retorno
Clases abstractas
Son clases abstractas, implementadas por cada backend.