HardwareEfficientAnsatz

HardwareEfficientAnsatz és un ansatz eficient en hardware adaptat a les topologies dels dispositius quàntics. Opcions de configuració:

  • layers: Nombre de capes repetides de portes.

  • connectivity:

    • circular: Els qubits formen un anell.

    • linear: Els qubits estan connectats linealment.

    • full: Connectivitat total entre tots els qubits.

    • O una llista de tuples que especifiquen explícitament la connectivitat.

  • one_qubit_gate: Trieu la porta parametritzada d’un sol qubit (p. ex., U1, U2, U3).

  • two_qubit_gate: Trieu el tipus d’interacció de dos qubits (p. ex., CNOT, CZ).

  • structure:

    • grouped: Aplica primer totes les portes d’un sol qubit, seguides de totes les portes de dos qubits.

    • interposed: Intercala les portes d’un sol qubit i de dos qubits.

  • final_rotation_layer: Si és True (el valor per defecte), s’afegeix un bloc final d’un sol qubit després de l’últim bloc d’entrellaçament, de manera que el circuit té (layers + 1) blocs parametritzats i acaba en rotacions ajustables. Si és False, el circuit té layers blocs parametritzats i acaba en un bloc d’entrellaçament.

Exemple

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

Aquest ansatz es pot utilitzar com un circuit. Per exemple, podem executar aquest ansatz amb el backend QuTiP (cal instal·lar-lo per separat):

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