qiskit.circuit.library.unitary_overlap
qiskit.circuit.library.unitary_overlap(unitary1, unitary2, prefix1='p1', prefix2='p2', insert_barrier=False)
Circuito que retorna a sobreposição entre duas unidades .
Os circuitos quânticos de entrada devem representar operações unitárias, pois devem ser invertíveis. Se as entradas tiverem parâmetros, eles serão substituídos por ParameterVectors com os nomes “p1” (para o circuito unitary1) e “p2” (para o circuito unitary_2) no circuito de saída.
Esse circuito é normalmente empregado no cálculo da fidelidade:
calculando a probabilidade de estar na cadeia de bits all-zeros ou, de forma equivalente, o valor esperado do projetor .
Circuito de referência:
import numpy as np
from qiskit.circuit.library import efficient_su2, unitary_overlap
# get two circuit to prepare states of which we compute the overlap
circuit = efficient_su2(2, reps=1)
unitary1 = circuit.assign_parameters(np.random.random(circuit.num_parameters))
unitary2 = circuit.assign_parameters(np.random.random(circuit.num_parameters))
# create the overlap circuit
overlap = unitary_overlap(unitary1, unitary2)
overlap.draw('mpl')
Parâmetros
- unitary1 (QuantumCircuit) – Unidade atuando no vetor ket.
- unitary2 (QuantumCircuit) – Unitária cujo inverso opera no vetor bra.
- prefix1 (str) – O nome do vetor de parâmetros associado a
unitary1, se ele for parametrizado. O padrão é"p1". - prefix2 (str) – O nome do vetor de parâmetros associado a
unitary2, se ele for parametrizado. O padrão é"p2". - insert_barrier (bool) – Se deve inserir uma barreira entre as duas unidades.
Aumentos
- CircuitError - O número de qubits em
unitary1eunitary2não corresponde. - CircuitError - As entradas contêm medições e/ou redefinições.
Tipo de retorno
Esta página foi útil?
Relate um bug, erro de digitação ou solicite conteúdo no GitHub.