qiskit.circuit.library.unitary_overlap
qiskit.circuit.library.unitary_overlap(unitary1, unitary2, prefix1='p1', prefix2='p2', insert_barrier=False)
Circuito que devuelve el solapamiento entre dos unitarios .
Los circuitos cuánticos de entrada deben representar operaciones unitarias, ya que deben ser invertibles. Si las entradas tienen parámetros, se sustituyen por ParameterVectors con los nombres “p1” (para el circuito unitary1) y “p2” (para el circuito unitary_2) en el circuito de salida.
Este circuito suele emplearse para calcular la fidelidad:
calculando la probabilidad de estar en la cadena de bits de todos los ceros, o lo que es lo mismo, el valor de la expectativa del proyector .
Circuito de referencia:
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) – Unitario que actúa sobre el vector ket.
- unitary2 (QuantumCircuit) – Unitario cuya inversa opera sobre el vector bra.
- prefix1 (str) – El nombre del vector de parámetros asociado a
unitary1, si está parametrizado. Por defecto"p1". - prefix2 (str) – El nombre del vector de parámetros asociado a
unitary2, si está parametrizado. Por defecto"p2". - insert_barrier (bool) – Si se inserta una barrera entre los dos unitarios.
Eleva
- CircuitError - El número de qubits en
unitary1yunitary2no coincide. - CircuitError - Las entradas contienen medidas y/o reseteos.
Tipo de retorno
¿Le ha resultado útil esta página?
Informe de un error, de una errata o solicite contenido en GitHub.