next up previous contents
Next: Programma: hydrogen_gauss Up: Problema secolare Previous: Sviluppo in funzioni ortonormali   Contents

Sviluppo in funzioni non ortonormali

I metodi di algebra di lineare permettono di trattare agevolmente anche il caso in cui la base è costituita da funzioni non ortonormali tra loro, in cui cioè

\begin{displaymath}
S_{ij} = \langle b_i \vert b_j \rangle =
\int b_i^* b_j   dv
\end{displaymath} (5.79)

non è pari a $\delta_{ij}$. Gli $S_{ij}$ vengono detti integrali di overlap, per ovvi motivi. Talvolta risulta comodo lavorare con basi di questo tipo.

Considerazioni simili a quelle effettuate all'inizio della sezione precedente indicano che in questo caso la (5.66) assume la forma più generale

\begin{displaymath}
G(c_1,\ldots,c_N) = \sum_{ij} c_i^* c_j ( H_{ij} - \epsilon S_{ij} )
\end{displaymath} (5.80)

e la condizione di minimo (5.70) diventa
\begin{displaymath}
\sum_j ( H_{ij} - \epsilon S_{ij} ) c_j = 0
\end{displaymath} (5.81)

o in forma matriciale
\begin{displaymath}
H {\bf c} = \epsilon S {\bf c}
\end{displaymath} (5.82)

noto come problema agli autovalori generalizzato.

Risolvere un problema agli autovalori generalizzato corrisponde dal punto di vista numerico a risolvere due problemi agli autovalori semplici. Supponiamo infatti di procedere in due stadi, occupandosi prima del problema ausiliario

\begin{displaymath}
S {\bf d} = \sigma {\bf d}
\end{displaymath} (5.83)

Questo è del tutto analogo al problema (5.72). Potremo così trovare una matrice $D$ (ottenuta disponendo gli autovettori per colonne), tale che $D^{-1}SD$ sia diagonale, e i cui elementi non nulli siano gli autovalori $\sigma$. Si otterrà una equazione analoga alla (5.78):
\begin{displaymath}
\sum_i D^*_{ik} \sum_j S_{ij} D_{jn} = \sigma_n \delta_{kn}
\end{displaymath} (5.84)

Supponiamo però di definire un'altra matrice di trasformazione
\begin{displaymath}
A_{ij} \equiv \frac{D_{ij}}{\sqrt{\sigma_j}}
\end{displaymath} (5.85)

Si avrà allora
\begin{displaymath}
\sum_i A^*_{ik} \sum_j S_{ij} A_{jn} = \delta_{kn}
\end{displaymath} (5.86)

o in forma matriciale
\begin{displaymath}
A^{*T} S A = I
\end{displaymath} (5.87)

dove $T$ indica trasposizione. Una matrice $A$ con questa proprietà può dunque essere ottenuta risolvendo un normale problema agli autovalori.

Poniamo ora

\begin{displaymath}
{\bf c} = A {\bf d}
\end{displaymath} (5.88)

Con questa posizione, l'equazione (5.82) diventa
\begin{displaymath}
H A   {\bf d} = \epsilon S A   {\bf d}
\end{displaymath} (5.89)

Moltiplichiamo a sinistra per $A^{*T}$:
\begin{displaymath}
A^{*T} H A   {\bf d} = \epsilon A^{*T} S A   {\bf d} = \epsilon D
\end{displaymath} (5.90)

Pertanto, se risolviamo ora il problema secolare per l'operatore $A^{*T} H A$ troveremo gli autovalori desiderati per l'energia. Per ottenere gli autovettori nella nostra base di partenza basterà, secondo la (5.88), applicare l'operatore $A$ su ciascun autovettore.


next up previous contents
Next: Programma: hydrogen_gauss Up: Problema secolare Previous: Sviluppo in funzioni ortonormali   Contents
furio 2002-02-24