Skip to main content
IBM Quantum Platform

Simulação de rede tensorial

qiskit_addon_aqc_tensor.simulation

Esse módulo fornece uma interface para a simulação de rede tensorial que é independente de qual backend é usado.

Atualmente, há uma única implementação, que usa o simulador de estado de produto matricial (MPS) Qiskit Aer como backend.


Back-ends disponíveis


Funções

As funções a seguir fornecem uma interface comum que pode ser usada com qualquer backend compatível. Independentemente do backend usado, você invocará essas funções como uma interface comum.

Em cada função abaixo, a documentação mostra todas as implementações distintas disponíveis para essa função. O addon escolherá qual implementação usar com base nos tipos de argumentos que você fornecer. (Esse paradigma é chamado de "despacho múltiplo")

tensornetwork_from_circuit

tensornetwork_from_circuit(qc, settings, /)

GitHub

Crie um estado de rede tensorial simulando um circuito quântico.

settings O tipo do estado da rede tensorial corresponderá ao tipo do objeto. Por exemplo, um QiskitAerSimulationSettings fará com que essa função retorne um 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

Parâmetros

Tipo de retorno

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

Parâmetros

Tipo de retorno

TensorNetworkState

Tipo de retorno

TensorNetworkState

Parâmetros

apply_circuit_to_state

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

GitHub

Aplique um circuito quântico a um estado de rede tensorial.

O estado de entrada (psi) não é modificado.

Tipo de retorno

TensorNetworkState

Retorna

O novo estado.

Parâmetros

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

Parâmetros

Tipo de retorno

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

Parâmetros

Tipo de retorno

TensorNetworkState

Aplique um circuito quântico a um estado de rede tensorial.

O estado de entrada (psi) não é modificado.

Retorna

O novo estado.

Parâmetros

Tipo de retorno

TensorNetworkState

compute_overlap

compute_overlap(psi_1, psi_2, /)

GitHub

Calcule a sobreposição de dois estados quânticos: ψ1ψ2\langle \psi_1 | \psi_2 \rangle.

OBSERVAÇÃO: ao contrário de numpy.dot, as implementações desse método executarão a conjugação complexa no primeiro argumento.

Parâmetros

Tipo de retorno

complex

Retorna

valor do produto escalar complexo.

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

GitHub

Parâmetros

Tipo de retorno

complexo

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

Parâmetros

Tipo de retorno

complexo


Classes abstratas

Essas são classes abstratas, implementadas por cada backend.

TensorNetworkState

class TensorNetworkState

GitHub

Bases: object

Estado da rede tensorial abstrata.

TensorNetworkSimulationSettings

class TensorNetworkSimulationSettings

GitHub

Bases: object

Configurações de truncamento abstrato.

Esta página foi útil?
Relate um bug, erro de digitação ou solicite conteúdo no GitHub.