HardwareEfficientAnsatz
HardwareEfficientAnsatz es un ansatz eficiente en hardware adaptado a las topologías de dispositivos cuánticos. Opciones de configuración:
layers: Número de capas repetidas de puertas.
connectivity:
circular: Los qubits forman un anillo.linear: Los qubits están conectados linealmente.full: Conectividad de todos con todos.O una lista de tuplas que especifican explícitamente la conectividad.
one_qubit_gate: Elige la puerta parametrizada de un qubit (p. ej.,
U1,U2,U3).two_qubit_gate: Elige el tipo de interacción de dos qubits (p. ej.,
CNOT,CZ).structure:
grouped: Aplica primero todas las puertas de un qubit, seguidas de todas las puertas de dos qubits.interposed: Intercala puertas de un qubit y de dos qubits.
Ejemplo
from qilisdk.digital.ansatz import HardwareEfficientAnsatz
from qilisdk.digital import U3, CNOT
ansatz = HardwareEfficientAnsatz(
nqubits=4,
layers=3,
connectivity="Circular",
one_qubit_gate=U3,
two_qubit_gate=CNOT,
structure="Interposed"
)
ansatz.draw()
Este ansatz puede usarse luego como un circuito. Por ejemplo, podemos ejecutar este ansatz usando el backend QuTiP (que debe instalarse por separado):
from qilisdk.backends import QutipBackend
from qilisdk.functionals import DigitalPropagation
from qilisdk.readout import Readout
backend = QutipBackend()
backend.execute(DigitalPropagation(ansatz), readout=Readout().with_sampling(nshots=1000))