next up previous contents
Next: About this document ... Up: Applicazione del GCM al Previous: Determinazione dell'autovalore minimo   Indice

Il problema generalizzato

Date due matrici quadrate $ A$ e $ B$ di ordine $ n$ si definisce problema generalizzato agli autovalori ed autovettori la ricerca degli scalari $ \lambda_i$ e dei vettori $ \bv_i$ tali che:

$\displaystyle A \bv_i = \lambda_i B \bv_i \;\;\;\;\;\;\; i=1,n$ (38)

La soluzione del problema generalizzato trova frequente applicazione nell'ingegneria civile, ad esempio per il calcolo delle lunghezze d'onda corrispondenti alle frequenze proprie di vibrazione di una struttura complessa caratterizzata da una matrice di rigidezza ed una matrice di capacità. Lo studio dinamico delle vibrazioni di una membrana elastica uniformemente tesa ricade in tale ambito.

Il problema generalizzato può facilmente ricondursi in linea teorica a quello fondamentale semplicemente premoltiplicando ambo i membri dell'equazione (38) per $ B^{-1}$:

$\displaystyle B^{-1} A \bv_i = \lambda_i \bv_i \;\;\;\;\;\;\; i=1,n$ (39)

Gli autovalori $ \lambda_i$ ed i corrispondenti autovettori $ \bv_i$ sono pertanto gli autovalori e gli autovettori della matrice $ B^{-1} A$. Tale osservazione, tuttavia, non è di aiuto per la determinazione di $ \lambda_i$ e $ \bv_i$, in quanto l'inversione di una matrice non è mai un'operazione agevole e computazionalmente conveniente.

Si assuma che $ A$ e $ B$ siano due matrici simmetriche e definite positive. Questa eventualità è di norma verificata nelle applicazioni ingegneristiche in cui si voglia determinare l'autovalore minimo per il problema generalizzato in un modello discretizzato mediante gli elementi finiti. Si può in tal caso definire una nuova forma quadratica definita positiva:

$\displaystyle q_g \left( \bz \right) = \frac{\bz^T A \bz}{\bz^T B \bz}$ (40)

dotata di $ n$ punti di stazionarietà corrispondenti agli autovettori $ \bv_i$ e tale che $ q_g \left( \bv_i \right) = \lambda_i$. Si osservi come il quoziente di Rayleigh possa essere interpretato come il caso particolare della (40) in cui $ B$ è l'identità.

La minimizzazione del campo scalare $ q_g$ per determinare l'autovalore minimo del problema generalizzato può essere effettuata applicando sempre lo schema del GCM alla (40). Ripetendo la procedura descritta nel paragrafo precedente, si cercherà di approssimare $ \bv_n$ mediante una successione di vettori $ \bz_k$ costruiti secondo la formula ricorrente:

$\displaystyle \bz_{k+1} = \bz_k + \alpha_k \bp_k$ (41)

in cui $ \alpha_k$ viene determinato minimizzando $ q_g$ in $ \bz_{k+1}$. Definendo per semplicità di notazione gli scalari:
$\displaystyle a$ $\displaystyle =$ $\displaystyle \bp_k^T A \bz_k$ (42)
$\displaystyle b$ $\displaystyle =$ $\displaystyle \bp_k^T A \bp_k$ (43)
$\displaystyle c$ $\displaystyle =$ $\displaystyle \bp_k^T B \bz_k$ (44)
$\displaystyle d$ $\displaystyle =$ $\displaystyle \bp_k^T B \bp_k$ (45)
$\displaystyle e$ $\displaystyle =$ $\displaystyle \bz_k^T A \bz_k$ (46)
$\displaystyle m$ $\displaystyle =$ $\displaystyle \bz_k^T B \bz_k$ (47)

e:

$\displaystyle \Delta = \left( de - bm \right)^2 - 4 \left( bc - ad \right) \left( am - ce \right)$ (48)

il parametro $ \alpha_k$ si calcola come:

$\displaystyle \alpha_k = \frac{\left( de - bm \right) + \sqrt{\Delta}}{2 \left( bc - ad \right)}$ (49)

La convergenza dello schema va controllata mediante il residuo $ \br_{k+1}$:

$\displaystyle \br_{k+1} = A \bz_{k+1} - q_g \left( \bz_{k+1} \right) B \bz_{k+1}$ (50)

nella condizione:

$\displaystyle r_r = \frac{\left\vert \br_{k+1} \right\vert}{\left\vert A \bz_{k+1} \right\vert} <$   toll (51)

Se la condizione (51) non è verificata, si aggiorna la direzione di ricerca $ \bp_k$ mediante:

$\displaystyle \bp_{k+1} = K^{-1} \bg_{k+1} + \beta_k \bp_k$ (52)

dove $ K^{-1}$ è un'opportuna matrice di precondizionamento (ad esempio, la decomposta incompleta di $ A$), il gradiente $ \bg_{k+1}$ è:

$\displaystyle \bg_{k+1} = \frac{2 \br_{k+1}}{\bz_{k+1}^T B \bz_{k+1}}$ (53)

e lo scalare $ \beta_k$ si determina imponendo la $ A$-ortogonalità fra $ \bp_{k+1}$ e $ \bp_k$:

$\displaystyle \beta_k = - \frac{\bg_{k+1}^T K^{-1} A \bp_k}{\bp_k^T A \bp_k}$ (54)

Lo schema va inizializzato scegliendo un vettore arbitrario $ \bz_0$ e calcolando i corrispondenti $ \br_0$, $ \bg_0$ e $ \bp_0$. Si procede con la stima della nuova approssimazione (41) mediante la (49), per la quale vanno adottate le definizioni (42)-(47) e (48). Se la condizione (51), calcolata mediante la (50), è vericata, si assume $ \bv_n = \bz_{k+1}$ e $ \lambda_n=q_g
\left( \bz_{k+1} \right)$. Altrimenti, si aggiorna $ \bp_k$ con la (52) mediante la (53) e la (54), e si ritorna alla (41).

Si osservi, infine, che la stima dell'autovalore minimo e dell'autovettore ad esso associato per un problema generalizzato è più costosa dell'analogo problema non generalizzato. Ad ogni iterazione si devono, infatti, calcolare 5 prodotti matrice-vettore: $ A \bp_k$, $ A \bz_{k+1}$, $ B \bp_k$, $ B \bz_{k+1}$ e $ K^{-1}
\bg_{k+1}$ (i prodotti $ A \bz_k$ e $ B \bz_k$ sono infatti disponibili dall'iterazione precedente). Tale spesa aggiuntiva non è comunque paragonabile a quella che sarebbe necessaria invertendo inizialmente la matrice $ B$ ed applicando la procedura descritta nel precedente paragrafo alla matrice $ B^{-1} A$.


next up previous contents
Next: About this document ... Up: Applicazione del GCM al Previous: Determinazione dell'autovalore minimo   Indice
Massimiliano Ferronato 2005-10-19