Questa pagina è stata tradotta automaticamente.
Completa un sondaggio di 1 minuto sulla qualità di questa traduzione.
Miglioramento degli algoritmi a reti tensoriali per studiare sistemi quantistici complessi a molti corpi con MATLAB
Dott.ssa Anna Francuz, Università di Vienna
“Utilizzando MATLAB, il mio team ha sviluppato un approccio più stabile ed efficiente per la differenziazione degli algoritmi a reti tensoriali. Stiamo applicando attivamente questo workflow per approfondire la nostra comprensione dei sistemi quantistici con forte entanglement.”
Un punto di riferimento nella ricerca sul calcolo quantistico è stato il raggiungimento del vantaggio quantico: dimostrare che i computer quantistici possono superare i sistemi classici in compiti pratici come l’ottimizzazione, la crittografia o la scoperta di nuovi farmaci. Prima di costruire computer quantistici su larga scala, tuttavia, è necessario eseguire test su scala più ridotta e confrontare i risultati di tali test con la teoria. Questo lavoro, con particolare attenzione ai sistemi quantistici a molti corpi con forte entanglement, è l'obiettivo principale della mia ricerca presso l'Università di Vienna.
Negli ultimi 20 anni, le reti tensoriali hanno dimostrato di essere tra i migliori strumenti disponibili per studiare sistemi con forte entanglement. Ciò è dovuto, in gran parte, al modo in cui riducono la complessità computazionale (rispetto ai metodi quantistici di Monte Carlo, ad esempio) sfruttando la struttura dell'entanglement. Lavorando con le reti tensoriali, i ricercatori possono utilizzare tecniche di ottimizzazione per trovare lo stato fondamentale di un sistema quantistico, a partire dal quale calcolare la magnetizzazione e altri osservabili, così da comprenderne le proprietà e confrontare direttamente i risultati con i dati sperimentali.
Fino a poco tempo fa, eseguire questa ottimizzazione era problematico, poiché gli approcci precedenti si basavano su calcoli approssimativi del gradiente, un elemento cruciale nel processo di differenziazione che sostiene l’ottimizzazione. Oltre a errori significativi, questo inconveniente spesso faceva sì che le ottimizzazioni non riuscissero a trovare il minimo globale. I ricercatori hanno affrontato alcune di queste difficoltà passando alla differenziazione automatica (AD), ma sono emersi altri problemi, come divergenze nella differenziazione della scomposizione ai valori singolari (SVD) e questioni fondamentali legate al modo in cui l’AD era implementata nel codice.
Con MATLAB®, il mio team ha sviluppato un approccio più stabile ed efficiente per la differenziazione degli algoritmi di rete tensore. Abbiniamo questa nuova implementazione della differenziazione automatica a due altri elementi chiave: la contrazione delle reti tensoriali tramite una toolbox della comunità MATLAB e il calcolo ad alte prestazioni con MATLAB Parallel Server™. Stiamo implementando questo workflow per comprendere al meglio i sistemi quantistici con forte entanglement.
MATLAB e reti tensoriali nella fisica quantistica
Di Temo Vekua, MathWorks
L'applicazione delle reti tensoriali nella fisica quantistica è stata avviata da un eminente fisico e leader nel campo della teoria dell'informazione quantistica, il dott. Ignacio Cirac del Max Planck Institute of Quantum Optics di Monaco. Due decenni fa, il dott. Cirac e il dott. Frank Verstraete svilupparono una teoria delle reti tensoriali per descrivere i sistemi quantistici a molti corpi. La Dott.ssa Francuz fa risalire la sua discendenza accademica al Dott. Cirac: Il suo mentore, il dott. Norbert Schuch, è stato ricercatore post-dottorato presso il Max Planck Institute, docente presso la Technical University di Monaco con il dott. Cirac e in seguito responsabile di un gruppo di ricerca presso il Max Planck Institute of Quantum Optics di Garching, prima di diventare professore presso l'Università di Vienna.
Il Dott. Cirac si è affidato a MATLAB per le sue prime implementazioni di reti tensoriali. Il Dott. Cirac e il suo team di circa 40 ricercatori continuano a utilizzarlo ancora oggi. “Utilizzo MATLAB principalmente per la programmazione scientifica”, spiega. “MATLAB funziona bene per me e, se usato nel modo giusto, può essere efficiente quanto i linguaggi compilati.” Il riconoscimento di MATLAB come strumento essenziale in questo campo rispecchia il pensiero della Dott.ssa Francuz, che osserva: “Non mi considero una programmattrice eccezionale. In realtà, sono una fisica che usa MATLAB per svolgere lavori con reti tensoriali mai realizzati prima.”
Dopo aver dimostrato il valore delle reti tensoriali nello studio di sistemi quantistici fortemente correlati a bassa dimensione (1D e 2D), il dottor Cirac e il suo team stanno attualmente lavorando per estendere il metodo ai sistemi 3D.
Contrazione della rete tensoriale, differenziazione automatica e ottimizzazione
Quando i ricercatori in fisica quantistica impiegano reti tensoriali, spesso si lavora con sistemi infiniti a traslazione invariata. Questi sistemi si estendono all’infinito e hanno proprietà identiche in ogni punto se spostati (traslati) di una certa distanza. Ciò significa che l’Hamiltoniana — un operatore che rappresenta l’energia totale del sistema quantistico — presenta una ripetizione periodica o un’uniformità in tutto il sistema. Quindi, ogni volta che calcoliamo uno di questi osservabili, dobbiamo prima contrarre la rete tensoriale in una forma gestibile (Figura 1). Per implementarlo nel nostro workflow, utilizziamo ncon, una funzione MATLAB sviluppata e condivisa con la comunità da Robert N.C. Pfeifer, Glen Evenbly e altri colleghi. La funzione ncon ci consente di contrarre in modo efficiente le reti tensoriali e di approssimare l'ambiente infinito di un osservabile locale con un valore finito.
Figura 1. Uno stato |Ψ(A)⟩ nel reticolo quadrato mostrato in B (a destra) viene generato contraendo gli indici virtuali (di colore nero) di un tensore in A (a sinistra). (Crediti dell’immagine: Francuz, A., Schuch, N., & Vanhecke, B. (2025). Stable and efficient differentiation of tensor network algorithms. Phys. Rev. Res., 7(1), 013237. American Physical Society. https://doi.org/10.1103/PhysRevResearch.7.013237. Concesso con licenza CC BY 4.0.)
Una volta contratta la rete tensoriale, che è rappresentata come oggetti dlarray in MATLAB, il passo successivo è usare AD per calcolare il gradiente dell'energia, che deve essere minimizzato quando si calcola lo stato fondamentale. Nell'implementare il nostro approccio AD in MATLAB, abbiamo affrontato tre problemi critici con le implementazioni AD esistenti: elevato utilizzo di memoria, instabilità nei calcoli del gradiente e imprecisioni nella retropropagazione dei gradienti.
Il primo problema era l'elevato utilizzo di memoria associato ad AD. Gli approcci generici di differenziazione automatica richiedono una notevole quantità di memoria, per memorizzare gli oggetti intermedi generati durante la procedura iterativa della matrice di trasferimento angolare (CTM), necessaria a calcolare efficacemente gli osservabili locali. La matrice di trasferimento angolare (CTM) è un metodo iterativo utilizzato per approssimare la contrazione delle reti tensoriali bidimensionali, in particolare negli stati proiettati a coppie entangled (PEPS). Sebbene un approccio alternativo che prevede la differenziazione dell’equazione del punto fisso possa alleviare questo problema di memoria, questo introduce complicazioni legate alla fissazione del gauge. La fissazione del gauge garantisce coerenza nella rappresentazione dei tensori risolvendo ambiguità, ma la sua implementazione affidabile è stata finora difficile da ottenere. Abbiamo individuato la causa principale di queste difficoltà e proposto due metodi pratici per fissare il gauge in modo affidabile, risolvendo così il problema della memoria.
Il secondo problema significativo era l'instabilità nel calcolo del gradiente della SVD, una componente cruciale dell'algoritmo CTM. Il gradiente è mal condizionato e diventa indefinito nei casi di degenerazioni, dove più valori singolari sono uguali. Queste degenerazioni possono destabilizzare i calcoli del gradiente, poiché anche piccole modifiche nell'input possono causare variazioni sproporzionatamente grandi nei vettori singolari. Per risolvere questo problema, abbiamo scoperto e sfruttato una simmetria di gauge nascosta all'interno della rete tensoriale CTM. Sebbene questo approccio vada oltre l’ambito convenzionale della differenziazione automatica, ci ha permesso di sviluppare una soluzione stabile, compatibile con i framework di AD.
Infine, abbiamo affrontato le imprecisioni nelle equazioni utilizzate in precedenza per la retropropagazione dei gradienti attraverso la SVD troncata. Queste equazioni presupponevano erroneamente che lo spettro troncato fosse zero, omettendo un termine essenziale e causando errori significativi. La retropropagazione dei gradienti, che consiste nel calcolare come le variazioni dei parametri si propagano attraverso una sequenza di operazioni, richiede calcoli precisi dei gradienti per un’ottimizzazione accurata. Abbiamo derivato una formulazione del gradiente corretta per la SVD troncata, tenendo conto dello spettro troncato. Questa correzione ha migliorato notevolmente la precisione, richiedendo solo piccole modifiche al codice AD esistente.
Dopo aver implementato i miglioramenti della differenziazione automatica in MATLAB, eravamo pronti a utilizzare i gradienti generati dalla nostra implementazione di AD per compiti di ottimizzazione, come la minimizzazione dell’energia per trovare lo stato fondamentale dei sistemi quantistici. Per questa parte del workflow, utilizziamo un algoritmo Broyden-Fletcher-Goldfarb-Shanno (L-BFGS) a memoria limitata basato sulla funzione fminunc da Optimization Toolbox™, passando la funzione personalizzata che abbiamo scritto per calcolare il gradiente (Figura 2).
Figura 2. Grafico di ottimizzazione che mostra due gradienti diversi. L'ottimizzazione si blocca rapidamente utilizzando il gradiente dell'AD convenzionale (quadrati arancioni). L’ottimizzazione converge a un minimo globale riavviando il processo utilizzando il gradiente derivante dalla versione migliorata della differenziazione automatica (cerchi verdi). (Crediti dell’immagine: Crediti dell’immagine: Francuz, A., Schuch, N., & Vanhecke, B. (2025). Stable and efficient differentiation of tensor network algorithms. Phys. Rev. Res., 7(1), 013237. American Physical Society. https://doi.org/10.1103/PhysRevResearch.7.013237. Concesso con licenza CC BY 4.0.)
Calcolo parallelo con MATLAB sul Austrian Scientific Computing
I diagrammi di fase sono uno strumento fondamentale nello studio dei sistemi quantistici a molti corpi perché forniscono una rappresentazione visiva delle diverse fasi (stati) di un sistema in funzione di vari parametri, tra cui il tempo. Per creare diagrammi di fase, è necessario variare un parametro nell’Hamiltoniana su un determinato intervallo e calcolare lo stato fondamentale per ogni valore del parametro. Questo ci permette di identificare le transizioni di fase quando il sistema cambia bruscamente il suo comportamento: ad esempio, passando da uno stato superconduttore a uno isolante.
Calcolare lo stato fondamentale per numerosi valori di parametro in sequenza su un singolo laptop può essere un processo estremamente lento e i requisiti di memoria spesso superano le capacità dei laptop standard. Per questo, prevediamo di eseguire queste elaborazioni sul Austrian Scientific Computing (ASC) utilizzando MATLAB Parallel Server™. Il ASC ospita i supercomputer più potenti dell’Austria, tra cui VSC-4, che dispone di 790 nodi per un totale di 37.920 core, e VSC-5, con 710 nodi e un totale di 98.560 core.
Per iniziare, ho partecipato a un workshop tenuto dagli ingegneri di MathWorks, che trattava il calcolo parallelo con MATLAB e l’uso di MATLAB sui sistemi HPC del ASC. Eseguire calcoli paralleli dello stato fondamentale sul ASC permetterà al nostro team di calcolare rapidamente le proprietà di sistemi quantistici virtuali, che potremo confrontare direttamente con le proprietà di sistemi reali misurate sperimentalmente.
Infatti, stiamo attualmente pianificando di utilizzare MATLAB Parallel Server su ASC per studiare i diagrammi di fase per un simulatore quantistico programmabile in grado di operare con 256 bit quantistici (qubit). L'esplorazione di questo e di altri sistemi simili con reti tensoriali 2D è uno degli obiettivi della nostra ricerca in corso.
Pubblicato nel 2025