Autor |
Mesaj |
|
[Citat] Dar daca as putea sa structurez matricea A intr-o alta forma , sau sa o factorizez, as putea gasi ceva mai rapid pentru a calcula limita?
Mai luati in considerare si faptul ca k tinde la infinit, nu ma intereseaza cat e A^1337.Ma gandesc ca ar trebui sa fie mai simplu daca folosesc acest aspect. |
Daca vrem musai sa evitam calculul valorilor proprii, putem proceda astfel:
- Descompunem polinomul caracteristic p sub forma
unde q nu are pe 1 ca radacina.
- Examinam polinomul q. Daca, cumva are radacini in afara discului unitate, sau pe disc cu exceptia punctului z=1 atunci limita nu exista (argument: descompunerea Jordan).
- Daca dimensiunea algebrica a valorii proprii 1 nu coincide cu cea geometrica atunci limita nu exista (din nou rezulta din descompuinerea Jordan).
- Descompunem spatiul in suma directa:
unde V este invariant fata de A detalii
Deoarece polinoamele
sunt prime intre ele gasim (algoritmul lui Euclid) alte doua polinoame u, v cu proprietatea ca
Cu aceasta observatie rezulta
si se poate alege
- Fie
o baza a lui
si fie
o baza a lui V (detaliile ascunse mai sus chiar ne arata cum putem calcula aceste baze!!!!!!!!!). Matricea de tranzitie S de la baza canonica la baza
este practic formata din vectorii bazei scrisi sub forma de coloana. In orice caz, avem relatia
unde M actioneaza pe V si are toate valorile proprii in discul unitate (deschis). prin urmare
Evident, daca stim sa calculam valorile proprii, metoda cea mai buna este cea prezentata de Gauss...
Revenind la exemplul de fata, cele de mai sus se concretizeaza astfel:
-
.
- Polinomul q are radacinile in inetriorul discului unitate (ne prefacem ca nu le putem calcula precis)
-
z=1 fiind valoare proprie de multiplicitate unu, aceasta este si dimensiunea subspatiului propriu asociat (asa-zisa dimensiune geometrica).
- Avem
- Selectam cate un set de coloane linear independente si alegem S in consecinta:
- Surpriza:
---
Euclid
|
|
Pe aceasta ultima metoda, pentru o matrice de rang mai mare si neavand o structura triunghiulara, calculul matricei S ar fi durat o vesnicie.
Am citit in documentatia din Matlab urmatorul lucru:
"Matrix power. X^p is X to the power p, if p is a scalar. If p is an integer, the power is computed by repeated squaring. If the integer is negative, X is inverted first. For other values of p, the calculation involves eigenvalues and eigenvectors, such that if [V,D] = eig(X), then X^p = V*D.^p/V."
Deci daca as fi vrut sa calculez A^65536 ar fi calculat destul de rapid, dar A^(65536-1) ar fi durat aproape dublu, cand in mod normal as fi putut sa inmultesc pe A^65536 cu A^-1. Au rezolvat ceva prin generalizare in afara de simplitatea codului ?
Am retinut din acest topic faptul ca forma Jordan este o metoda foarte eficienta de a calcula puterile unei matrice, dar doar mi-am pus problema in felul urmator: Daca pe mine ma intereseaza doar convergenta la infinit a matricei, de ce ar fi utila o metoda care imi permite sa calculez si niste puteri intermediare?
In Matlab, avand matricea initiala A din primul post, A^200 - B, unde B este A^infinit dedusa teoretic, imi returneaza o matrice cu elemente de ordinul 10^(-50), iar de la o anumita putere depasesc precizia calculatorului si imi returneaza numerele ca fiind intregi. Sa fie acesta cel mai bun test pentru a calcula aceasta limita, fortand procesorul sa-mi calculeze toate puterile pana cand nu le mai poate retine ? Dar daca gasesc o matrice care va converge la o anumita forma dupa a 10000-a putere?
As vrea oarecum sa ma pot folosi de limitele cunoscute. Pe matricea exemplu e evident ca dupa cativa pasi, A(2,3) si A(3,3) sunt -1/(2^n) si -2/(2^n+1).
|
|
[Citat] Pe aceasta ultima metoda, pentru o matrice de rang mai mare si neavand o structura triunghiulara, calculul matricei S ar fi durat o vesnicie. |
Ori n-am fost destul de clar, ori dv. nu ati inteles cele de mai sus, ori n-am inteles noi intrebarea originala...
---
Euclid
|
|
Ma refeream la faptul ca, in acest exemplu, polinomul caracteristic se calculeaza destul de simplu, iar q este un polinom de grad mic. Daca matricea mea avea rangul 10000, pe metoda dvs. acest lucru nu ar fi insemnat calculul unor puteri foarte mari ale matricei A (A^9999, ... ) ?
|
|
[Citat] Ma refeream la faptul ca, in acest exemplu, polinomul caracteristic se calculeaza destul de simplu, iar q este un polinom de grad mic. Daca matricea mea avea rangul 10000, pe metoda dvs. acest lucru nu ar fi insemnat calculul unor puteri foarte mari ale matricei A (A^9999, ... ) ? |
O baza a subspatiului propriu
se poate calcula direct (sistem de ecuatii omogen...).
De fapt, una dintre argumentele de la inceputul acelui rationament implica chiar
Daca ne gandim bine, avem si
In cazul nostru
Vectorul
formeaza o baza in
. O baza a spatiului
este formata din vectorii
. Luam
Surpriza:
Morala (pe care am vrut sa insist) este identificarea oricarui subspatiu complementar al lui
INVARIANT la actiunea operatorului A
---
Euclid
|