Metodo delle potenze

Messaggioda gangiaemi » 14/01/2010, 19:36

Buonasera a tutti, questo è il mio primo post.
Mi chiamo Emiliano.

Ho il seguente problema :
Devo realizzare un algoritmo per un progettino semplice. Devo realizzare in particolare l'algoritmo per il "METODO DELLE POTENZE".
Chiaramente la parte implementativa non è un problema.
Ho un dubbio su questa cosa qui :
Il presupposto è che la matrice in questione contiene solo ed esclusivamente numeri reali.
Il metodo delle potenze, da quanto scritto sul libro , converge in questi casi :

1: Data la matrice A, questa deve essere Diagonalizzabile;
2: il vettore x0 ha una componente non nulla lungo l'autovettore v1, corrispondente a lambda1;
3: l'autovalore di modulo massimo è separato dagli altri;

per 2 e 3 ho capito.
Per quanto riguarda 1, ho pensato questa cosa qui :

posso ridurre la matrice A ad una matrice triangolare superiore od inferiore C (credo sia equivalente alla matrice di partenza
A) cosi posso vedere gia se ha degli autovalori distinti sulla diagonale principale e poi applicare il metodo delle potenze alla matrice originaria per il calcolo degli autovalori ed autovettori?

Vi ringrazio per la disponibilità
A presto
E.
gangiaemi
Starting Member
Starting Member
 
Messaggio: 1 di 2
Iscritto il: 14/01/2010, 19:18

Messaggioda dissonance » 14/01/2010, 19:57

Ciao Emiliano. E' da parecchio che non tocco queste cose quindi prendi quanto dico col beneficio del dubbio.

Credo che quanto proponi non sia realizzabile praticamente. Per portare la matrice nella forma triangolare (forma canonica di Schur) dovresti spendere molte più operazioni di quante te ne servano per il metodo delle potenze. Inoltre questo introdurrebbe degli errori non trascurabili, non mi pare sia semplice implementare un algoritmo stabile per la forma canonica di Schur.
dissonance
Moderatore
Moderatore
 
Messaggio: 2941 di 27760
Iscritto il: 24/05/2008, 19:39
Località: Nomade

Messaggioda gangiaemi » 14/01/2010, 23:20

Ciao, grazie per la risposta. Sei stato molto tempestivo.
Io avevo pensato all'algoritmo di gauss che gia porta in forma triangolare superiore( la matrice con tutti zeri al di sotto della diagonale principale).
Questo perche cosi mi evitavo di dover calcolare il polinomio caratteristico per tutta la matrice.
In questo modo invece, moltiplico solo gli elementi della diagonale (gli altri sono tutti zero).
Mi ripeto, mi serve solo per vedere se la matrice di partenza puo essere o meno diagonalizzabile.
L'algoritmo di gauss converge in maniera veloce per matrici non molto grandi.
Che ne pensi(pensate ovviamente :) )?

Grazie ancora dissonance.
E.
gangiaemi
Starting Member
Starting Member
 
Messaggio: 2 di 2
Iscritto il: 14/01/2010, 19:18

Messaggioda dissonance » 15/01/2010, 00:13

NO! Attento, questo è un errore classico: l'algoritmo di Gauss non conserva la similitudine. Se passi da una matrice all'altra con l'algoritmo di Gauss perdi tutte le informazioni riguardo gli autovalori. Ti faccio un esempio.

Prendiamo la matrice $A=((1, 0), (1, 1))$: essa non è diagonalizzabile, perché ha l'unico autovalore $1$ con molteplicità geometrica $1$. Ma applichiamo un passo dell'algoritmo di Gauss: in questo caso semplice si tratta solamente di sottrarre la prima riga dalla seconda, ottenendo $((1, 0), (0, 1))$, una matrice diagonale.

Non ti fare confondere dal fatto che quest'ultima matrice ha solo l'autovalore $1$: anche questa informazione si perde con l'algoritmo di Gauss. Esempio: applichiamo un passo dell'algoritmo di Gauss alla matrice $B=((1, 1), (1, 2))$, ovvero sottraiamo alla seconda riga la prima. Otteniamo $((1, 1), (0, 1))$ che ha l'unico autovalore $1$; ma la matrice $B$ aveva i due autovalori $\frac{1+- sqrt(5)}{2}$.

Il metodo di Gauss è pensato per i sistemi di equazioni lineari, perché se applicato alla matrice dei coefficienti di un sistema lineare la trasforma nella matrice dei coefficienti di un sistema equivalente. Ma con la teoria spettrale non c'entra assolutamente nulla.
dissonance
Moderatore
Moderatore
 
Messaggio: 2943 di 27760
Iscritto il: 24/05/2008, 19:39
Località: Nomade


Torna a Analisi Numerica e Ricerca Operativa

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite