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))