Next: Estrapolazioni necessarie nel DMC
Up: Ottimizzazione
Previous: Importanza della funzione d'onda
  Indice
  Indice analitico
Per ottenere una funzione d'onda di qualità migliore, in modo da poter essere usata nel DMC, si è provveduto ad ottimizzare i parametri liberi dello pseudopotenziale (eq. 3.4) e del backflow (eq. 3.15).
Esistono varie possibilità per ottimizzare i parametri: minimizzare l'energia, minimizzare la varianza dell'energia, oppure una combinazione lineare di entrambe. La minimizzazione della varianza si basa sulla considerazione che la varianza dell'energia è zero su qualunque autostato (vedi [45]), se
, allora:
|
(3.21) |
Nell'ottimizzare la funzione d'onda con il VMC esiste però un problema, tipico delle ottimizzazioni fatte con il metodo Monte Carlo, cioè che l'errore statistico può mascherare il guadagno ottenuto per piccole variazioni dei parametri. Per risolvere questo problema è possibile utilizzare algoritimi di minimizzazione costruiti per minimizzare funzioni in presenza di rumore (ad esempio Stochastic Gradient Approximation), oppure ricorrere al ``campionamento correlato'' ed utilizzare poi algoritmi deterministici di minimizzazione [29]. Noi abbiamo optato per questa seconda possibilità: per ottimizzare i parametri, si sono salvate un certo numero di configurazioni rappresentative della funzione d'onda e su queste si è calcolata la nuova funzione d'onda con parametri diversi . Per calcolare l'energia con i nuovi parametri possiamo scrivere:
Dove
è la funzione d'onda con i nuovi parametri e
è la vecchia funzione d'onda che abbiamo campionato. Se:
possiamo calcolare l'energia con i nuovi parametri sulle vecchie configurazioni scrivendola come:
Stesso discorso può essere fatto anche per la varianza. Questo ci permette di valutare il valor medio di energia e varianza sulla nuova funzione di prova
senza doverla ricampionare ad ogni cambio dei parametri. Inoltre risolve il problema del diverso errore statistico che ogni nuovo compionamento comporta. Infatti utilizzando sempre le stesse configurazioni, l'errore statistico rimane lo stesso per piccoli spostamenti dei parametri. Questo metodo ha anche il vantaggio di essere computazionalmente più efficiente, in quanto non c'è bisogno di ricampionare la funzione d'onda per ogni variazione dei parametri.
Quando però i parametri della nuova funzione diventano molto diversi da quelli di , utilizzare il campionamento fatto con quest'ultima può diventare inefficiente: la nuova funzione potrebbe ormai esssre rappresentata solo da pochi punti con molto peso. Teniamo conto di questo fatto con un peso che ``misura'' la sovrapposizione di
e
. Consideriamo la quantità:
|
(3.23) |
Questa quantità è compresa tra 1 ed N; se tutti i pesi valgono 1 vale N. Abbiamo allora scelto una soglia da confrontare con in modo da poter capire quando il nostro campionamento diveniva inefficiente. In quel caso si è provveduto a salvare i parametri ottenuti ed a ricampionare la funzione d'onda.
Per ottimizzare i parametri abbiamo usato due algoritmi: il simplesso e l'algoritmo di Levenberg-Marquardt. Il primo è più stabile del secondo poichè non fa uso del gradiente della funzione, ma il secondo ha il vantaggio di essere molto più efficiente.
Per quanto riguarda la funzione da minimizzare, abbiamo utilizzato una combinazione lineare di varianza ed energia, che si è rivelata molto funzionale per quasi tutti gli . Per invece, si è preferito utilizzare solamente la varianza, poiché la sua minimizzazione è statisticamente più stabile e questo è molto evidente a bassi .
La minimizzazione della varianza è più robusta rispetto a quella dell'energia per i seguenti motivi:
- ha un minimo noto che è zero
- è definita positiva e per questo non ci possono essere pezzi che si cancellano fra di loro, quindi la regione di minimo nello spazio dei parametri è solitamente più piccola di quella dell'energia
- Il minimo della varianza è indipendente dal valore dei pesi
e quindi è possibile eliminare il controllo sul valore dei pesi stessi (3.23) [29].
Ottimizzando la nostra funzione d'onda, attraverso i parametri della , siamo riusciti ad ottenere energie minori di quelle ottenute con gli pseudotenziali di tipo RPA.
Next: Estrapolazioni necessarie nel DMC
Up: Ottimizzazione
Previous: Importanza della funzione d'onda
  Indice
  Indice analitico
2001-09-28