Metodo di putzer per l'Elevamento a potenza di matrice

sdrabb1
qualcuno potrebbe cortesemente descrivermi in maniera dettagliata l'algoritmo di Putzer per l'elevamento a potenza di una matrice o indicarmi delle pagine dove poter documentarmi riguardo a questo?
non riesco a trovare niente su Internet....

$ A^n=sum_(i = 0)^(n-1) c_(i+1)(n)*M_i $


ringrazio in anticipo! :-D

Risposte
vict85
Questo è dove è stato presentato

http://www.jstor.org/discover/10.2307/2 ... 2707846443

sdrabb1
Ti ringrazio ma potresti descrivermi il metodo? Che nn riesco a capire la parte con
La quale si ricava $ c_(i+1)(n) $

Bshow
Una volta saputo che \(\displaystyle c_1 (0)=1 \) e che \(\displaystyle c_n(0)=0 \) per ogni \(\displaystyle n>1 \) , la formula per i coefficienti è semplicemente :

\(\displaystyle c_{i+1} (n+1)= s_{i+1} c_{i+1} (n) + s_i c_i (n)\)

dove gli \(\displaystyle s_1,...,s_n \) sono gli autovalori della matrice

Tintorz
Si tratta di calcolare gli autovalori della matrice sulla quale devi calcolare la potenza, dopodiché impostare il sistema tenendo conto delle condizioni iniziali(valide per ogni esercizio) \(c_{1}(0)=1,c_{2}(0)=0,...,c_{n}(0)=0\) dove \(n\) è il numero degli autovalori.
Il sistema si imposta così:


$c_{1}(N+1)=\lambda_{1]c_{1}(N)$
\(c_{2}(N+1)=\lambda_{2}c_{2}(N)+c_{1}(N)\)
...
\(c_{n}(N+1)=\lambda_{n}c_{n}(N)+c_{n-1}(N)\)

dove \(\lambda_{i}\) sono gli autovalori della matrice e \(n\) il loro numero CONTATI con LE MOLTEPLICITA' ALGEBRICHE(quindi se due hanno lo stesso valore es. \(\lambda_{1}=2\) e \(\lambda_{2}=2\) si scrivono nel sistema come si procedesse normalmente, in altre parole non si ignorano autovalori solo perché uguali).
$N$ e $N+1$ rappresentano rispettivamente lo stato presente e successivo, quindi $c(N)$ indica i valori della successione ad uno stato precedente e $c(N+1)$ successivo. Essendo poi \(c_{n}\) una serie, bisogna determinarne il carattere ed infine la somma.

Cominciamo quindi con lo scrivere:
\(c_{1}(1)=\lambda_{1}c_{1}(0)\)
Di solito qui si capisce subito che questa successione ha termine generale \(\lambda^N\) dove $N$ è la potenza della matrice che si vuole calcolare, quindi si scrive: \(c_{1}(N)=\lambda_{1}^N\)

Facciamo lo stesso per la seconda(e così via):
\(c_{2}(1)=\lambda_{2}c_{2}(0)+c_{1}(0)\)
Per le condizioni iniziali il primo termine a destra si annulla, riscrivendo:
\(c_{2}(1)=c_{1}(0)\)
Continuiamo con gli stati successivi per capire il carattere(e la somma) della serie:
\(c_{2}(2)=\lambda_{2}c_{2}(1)+c_{1}(1)=\)(per la soluzione nello stato precedente)\( \lambda_{2}c_{1}(0) + c_{1}(1)\)
\(c_{2}(3)=...\)

Stessa cosa per gli altri \(c_{n}\) con \(n\) autovalori, risulta una successione dipendende sempre da \(c_{1}\).
Una volta capito il comportamento della serie, bisogna utilizzare un po' di conoscenze di analisi per calcolarne la somma.
Ad esempio, se fosse una semplice serie(geometrica) \(c_{1}(0)+c_{1}(1)+...c_{1}(n)\) avremo \(\Sigma \lambda_{1}^N\) e la somma:

\(S= \frac{1-q^n}{1- q}\) (serie geometrica generale)
quindi nel nostro caso:
$c_{n}(N)= \frac{1-\lambda_{1}^n}{1- \lambda_{1}$

Ora si utilizza la formula che hai specificato all'inizio del post calcolando le matrici \(M_{i}\) partendo da \(M_{0}= I\),\(M_{1}=(A-\lambda_{i}I)*M_{0}, ..., M_{i}=(A-\lambda_{i}I)*M_{i-1}\)

Che questo sia di esempio per tutti, che anch'io ho sudato per capire questo algoritmo. Saluti e buona fortuna!

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.