Quando si tratta di migliorare la fedeltà dei qubit, una domanda indiretta è se sia possibile migliorare la fedeltà dei gate “modellando” impulsi che sono semplicemente più complessi di impulsi semplici di tipo gaussiano? E la risposta è: “diamo un’occhiata all’impulso _DRAG”!
Il vero motivo dell’interesse per il DRAG Pulse è il commento di Joseph Bardin nella video presentazione sul Cryo Pulse Modulator di Google:
[21:08] Quello che abbiamo capito è che, se non proviamo a fare cose come il trascinamento, ci serve solo un inviluppo simmetrico. Coseno rialzato o gaussiano: sono entrambi simmetrici. Quindi quello che abbiamo fatto è stato costruire una serie di sorgenti di corrente programmabili e poi avere le funzioni di abilitazione appropriate per creare questo tipo di forma d’onda di corrente a forma di torta nuziale. E quindi possiamo programmare le ampiezze e così via.
Questa è l’architettura di Google, ed è davvero intelligente:


Ma cosa serve per adattare un’architettura di questo tipo in modo da poter generare un impulso di resistenza aerodinamica? Per comprendere questa domanda, è necessario prima capire cos’è un impulso di resistenza aerodinamica.
Modello matematico Link to heading
Un impulso DRAG (Derivative Removal by Adiabatic Gate) è composto prendendo un impulso gaussiano standard e aggiungendo una derivata scalata di tale impulso alla sua componente in quadratura. Questo crea un impulso a due componenti, una delle quali è l’inviluppo gaussiano e l’altra è la sua derivata, che contribuisce a ridurre le dispersioni indesiderate verso stati energetici superiori e a correggere gli errori di fase nei qubit superconduttori.
Componenti di un impulso DRAG Impulso gaussiano standard:
La base dell’impulso è un inviluppo gaussiano standard, ovvero una curva liscia a forma di campana. Questa è la componente “in fase” \(i(t)\) dell’impulso.
Derivata gaussiana: all’impulso viene aggiunta una seconda componente, che è la derivata dell’impulso gaussiano standard, scalata da un fattore chiamato \(\beta \). Questa è la componente “in quadratura” \(q(t)\).
Impulso totale: l’impulso DRAG finale è una combinazione di queste due componenti \(v(t)\).
La derivata è espressa dalla seguente equazione:
\[ DRAG(t) = v(t)=i(t)+q(t) = i(t)+ \beta \frac{d(i(t))}{dt} \]Qui non c’è niente di particolare, ma dobbiamo tenere presente che possono esistere molti tipi di DRAG Pulse e che, anche se il DRAG Pulse standard è un DRAG Pulse Gaussiano, nulla ci impedisce di avere composizioni ancora più potenti:
Crediti: APS
Modello programmatico Link to heading
Ora che abbiamo compreso come viene costruito un impulso DRAG, possiamo esaminarne l’implementazione con il Sistema di Controllo Quantistico. In questo caso, analizzerò il Qblox Scheduler, che funge da compilatore di alto livello, consentendo agli utenti di definire gli esperimenti in termini di qubit e impulsi, astraendo al contempo le complessità del controllo degli strumenti di livello inferiore.
Il codice in questione è disponibile su gitlab. Il codice seguente è una versione semplificata del codice originale:
def drag( t: np.ndarray, G_amp, D_amp, duration: float, nr_sigma: float=4, phase: float=0 )
-> np.ndarray:
mu = t[0] + duration / 2
sigma = duration / (2 * nr_sigma)
# In-phase envelope
gauss_env = G_amp * np.exp(-(0.5 * ((t - mu) ** 2) / sigma**2))
# Quadrature envelope
deriv_gauss_env = -D_amp * (t - mu) / sigma * gauss_env
# generate pulses
drag_wave = gauss_env + 1j * deriv_gauss_env
# Apply phase rotation
rot_drag_wave = rotate_wave(drag_wave, phase=phase)
return rot_drag_waveIn realtà è piuttosto semplice, e il codice originale è persino più potente in termini di funzionalità. Consulta la documentazione online per ulteriori informazioni.
Modello di regolatore di impulsi Link to heading
Il codice sopra riportato funziona perché presuppone che l’hardware sottostante funzioni come un generatore di forme d’onda arbitrarie (AWG), ovvero che sia possibile generare qualsiasi onda arbitraria a partire da un buffer di campioni. Ma cosa accadrebbe se dovesse essere generata su un “pulsar” (o modulatore di impulsi), definito come una sorta di logica di controllo situata nello stadio criogenico a 4K?
Modulatore di impulsi di Google: prima generazione Link to heading
Credo che il motivo per cui l’architettura di Google non sia adatta all’impulso DRAG sia che la componente in quadratura dovrebbe essere scalata sia per l’ampiezza, tramite il fattore \(\beta\), sia per la durata, tramite il fattore \(\sigma\). Dovrò verificare se ciò è vero, ma per ora possiamo supporre che la sfida consista nel fatto che la pulsar deve fornire piena flessibilità nella modellazione della forma d’onda I/Q.
In altre parole, il punto non è che l’architettura criogenica di Google non possa generare impulsi DRAG; potrebbe benissimo produrre impulsi I/Q e ottenere il controllo sui qubit. Tuttavia, l’impulso “DRAG standard”, come quello utilizzato per le porte a singolo qubit ad altissima fedeltà, potrebbe risultare subottimale con tale architettura, a meno che non vengano eseguite calibrazioni/compensazioni aggiuntive.
Modulatore di impulsi calibrato: Gen 2 Link to heading
Poiché il video di Google risale al 2019, possiamo supporre che abbiano già sviluppato il loro sistema con la capacità di modellazione degli impulsi DRAG, che chiameremo criopulsar di seconda generazione. Tuttavia, non essendo riuscito a trovare alcuna informazione online sul criopulsar di Google sviluppato da Bardin, possiamo fare riferimento a queste due evoluzioni di altri centri di ricerca:
SPulseGen, noto anche come Generatore di impulsi succinti, dell’Università di Osaka, Giappone
DLR, noto anche come Delayed Leakage Reduction, dell’Università di Delft, Paesi Bassi
Il generatore di SPulseGen è progettato per regolare i parametri dell’impulso (ampiezza, temporizzazione, forma) anziché limitarsi a riprodurre una forma d’onda fissa e approssimativa. Questa flessibilità è importante per implementare una componente DRAG (o una “correzione derivativa”) anche se la forma d’onda è in qualche modo semplificata.

Per quanto riguarda il DLR, esso aggira il requisito di una modellazione IQ “complessa”: invece di necessitare di un canale di quadratura derivativo continuo, utilizza ripetizioni ritardate dell’impulso in banda base per generare interferenza distruttiva delle componenti spettrali indesiderate (di dispersione).

Sia DLR che SPulseGen sono progettati per affrontare la stessa sfida del controllo ad alta fedeltà e a bassa dispersione dei qubit, il tutto in un contesto di hardware a bassissimo consumo energetico con vincoli criogenici, ma con un approccio di segno opposto:
SPulseGen: mantiene DRAG e rende la sua generazione più economica e compatta.
DLR: elimina la necessità dell’hardware di DRAG (modulazione I/Q) inventando un nuovo modo per ottenere la stessa soppressione della dispersione spettrale tramite interferenza temporale.
Conclusion Link to heading
Ecco, questo promemoria di sabato, creato con una mappa mentale, mi ha aiutato a capire meglio l’impulso DRAG. Dal punto di vista della logica di controllo nella fase 4K, modellare questi impulsi non è qualcosa di cui preoccuparsi.
La sfida odierna è quella di apprendere la calibrazione e la compensazione ottimali che producano la massima fedeltà. Approcci come Delayed Leakage Reduction della TU Delft faranno sicuramente la differenza.
Una sfida ancora più interessante si presenta quando la calibrazione deve avvenire in modo continuo, come nel caso dell’apprendimento per rinforzo basato su reti neurali (RL). Ciò solleva la questione se la rete neurale debba/possa/vorrebbe funzionare allo stadio criogenico 4K, magari utilizzando metodi di caratterizzazione in situ.
Nel frattempo, sono in corso numerosi nuovi sviluppi nel campo degli ASIC per l’IA a bassissimo consumo energetico, come blumind.ai, che faranno la differenza. Ma rimandiamo l’analisi di architetture IC alternative a un documento futuro.
Che periodo emozionante, vero?
References
- QuTech360 w/ Fabio Sebastiano: Cryo-CMOS electrical interfaces for quantum processors
- Control of transmon qubits using a cryogenic CMOS integrated circuit (QuantumCasts)
- Leakage reduction in fast superconducting qubit gates via optimal control
- Reducing Leakage of Single-Qubit Gates for Superconducting Quantum Processors Using Analytical Control Pulse Envelop
- The benefits of high-resolution pulses for quantum computers
- Frequency Up-Conversion Schemes for Controlling Superconducting Qubits
- Qiskit pulse library
- A Scalable Cryo-CMOS 2-to-20GHz Digitally Intensive Controller for 4×32 Frequency Multiplexed Spin Qubits/Transmons in 22nm FinFET Technology for Quantum Computers
- Cryo-CMOS SoC
- Calibrating Magnetic Flux Control in Superconducting Circuits by Compensating Distortions on Time Scales from Nanoseconds up to Tens of Microseconds