|
|
iBac = materialul ULTRACOMPLET de pregătire pentru bac la mate. Dacă vrei poţi.
|
|
|
|
|
Autor |
Mesaj |
|
Salut.
Cum pot calcula aceasta limita:
?
Am incercat ceva brute force, sa calculez primele 5 puteri si am ajuns la concluzia ca matricea va arata in felul urmator:
As vrea sa ma pot folosi de valorile proprii ale matricei date.
Le-am calculat (sunt 0, 1/2 , 1).
M-am gandit deocamdata la metoda puterii
1 fiind valoare proprie dominanta,
si notand matricea cu A:
A*x=1*x=x;
A^2*x=A*A*x=A*x=x;
A^k*x = A^(k-1)*A*x = ... =A*x=x
deci A^k*x=x;
Vectorul propriu asociat valorii proprii 1,calculabil cu metoda puterii, este [1 0 0], deci
A^k * [1 0 0] = [1 0 0]
dar din acest sistem nu pot obtine informatii decat pentru prima coloana a lui A^k.
Pot deduce in vreun alt mod forma matricei A^k, folosindu-ma in continuare doar de vectorul propriu asociat valorii proprii dominante?
Exista si alta metoda pentru a calcula limita initiala?
|
|
Va referiti la matricea
?
|
|
Da, scuze pentru forma in care a aparut, dar LaTeX chiar nu suporta acest tip de intrare de bun simt.
|
|
Puterea a 5-a este
Daca va uitati la puterile lui 2 implicate, puteti deduce usor forma generala.
|
|
Fie A matricea data.
Fie a,b,c valorile proprii pe care le-ati calculat.
Calculati va rog trei vectori proprii corespunzatori, u,v,w.
Ei formeaza o baza pentru ca valorile proprii sunt diferite doua cate doua.
Fie e,f,g vectorii bazei canonice, i.e. vectorii coloana din matricea unitate.
A se scrie apoi matricea S care duce e,f,g respectiv in u,v,w.
(Cum se obtine S din u,v,w?)
Fie L (in loc de Lambda) matricea diagonala cu intrarile diagonale a,b,c.
Atunci avem desigur:
ASe = Au = au = S(ae) = SLe ,
ASf = Av = bv = S(bf) = SLf ,
ASg = Aw = cw = S(cg) = SLg ,
deci AS = SL pe o baza, deci AS = SL ca aplicatii liniare.
De aici rezulta A = SLT cu T inversa lui S, deci
AA...A = SLT SLT ... SLT = S L TS L TS ... TS L T = S LL...L T
Desigur ca stim limita sirului puterilor lui L...
--- df (gauss)
|
|
@enescu - acolo m-am referit la faptul ca din A^5 mi-am dat seama cum ar trebui sa arate A^k
@gauss - m-ati pierdut cu acel sistem, dar am testat rezultatul si este corect; exista si o alta metoda care sa evite calculul tuturor vectorilor proprii si al inversei unei matrici nestructurate?
|
|
[Citat] @enescu - acolo m-am referit la faptul ca din A^5 mi-am dat seama cum ar trebui sa arate A^k
|
Da, mi-am dat seama ulterior. Nu citisem bine matricea limita, scuze.
|
|
[Citat] exista si o alta metoda care sa evite calculul tuturor vectorilor proprii si al inversei unei matrici nestructurate? |
Mai simplu probabil ca nu se poate in cazul general. Singurul caz particular pe care-l cunosc este teorema Perron-Frobenius, care permite calculul limitei puterilor pentru matrici stohastice. In acel caz matricea limita este o matrice care are toate liniile identice.
---
Euclid
|
|
Modul meu de gandire este din pacate deformat de cunostintele standard pe care le am si pe care a trebuit sa le buchisesc cu studentii in ore de exercitii.
Problemele poate ca se anihileaza intr-o secunda daca fac calculele (cu calculatorul, dar de asa natura incat sa se vada si cu ochiul liber) si la fiecare pas spun care este structura ce poate fi folosita respectiv jaloanele de verificare.
Voi rezolva / prezenta gazul "generic", care desi nu poate fi considerat a fi cel mai "general", ajunge pentru a ne forma o idee de cum merg lucrurile.
Calculatorul "stie" deja cele de mai sus, de exemplu in sage (program CAS ~ Computer Algebra System - sigla) - program care (spre deosebire de matlab, dar asemanator cu maple ($) si mathematica ($)) are o aritmetica exacta (deci nu converteste 1/2 la 0.5 de exemplu) :
A = matrix( QQ, 3, 3, [ 1,1,0, 0,0,-1, 0,0,1/2 ] )
A # vreau sa vad matricea..
latex(A)
A.eigenvalues()
A.charpoly()
A.charpoly().factor()
A.eigenvectors_right()
A.jordan_form()
J, S = A.jordan_form(transformation=True)
J
S
S.inverse()
A.eigenvectors_left()
A^5
Codul de mai sus este simplu, nu poate fi vorba de "programare" ci doar de "cerere". (Asemanator cu modul de a tipari in calculatorul de buzunar 56x8765.)
Prin Copy+Paste in interpreterul sage se obtine rularea:
sage: A = matrix( QQ, 3, 3, [ 1,1,0, 0,0,-1, 0,0,1/2 ] )
sage: A # vreau sa vad matricea..
[ 1 1 0]
[ 0 0 -1]
[ 0 0 1/2]
sage: latex(A)
\left(\begin{array}{rrr}
1 & 1 & 0 \\
0 & 0 & -1 \\
0 & 0 & \frac{1}{2}
\end{array}\right)
sage: A.eigenvalues()
[1, 1/2, 0]
sage: A.charpoly()
x^3 - 3/2*x^2 + 1/2*x
sage: A.charpoly().factor()
(x - 1) * (x - 1/2) * x
sage: A.eigenvectors_right()
[(1, [
(1, 0, 0)
], 1), (1/2, [
(1, -1/2, 1/4)
], 1), (0, [
(1, -1, 0)
], 1)]
sage: A.jordan_form()
[ 1| 0| 0]
[---+---+---]
[ 0|1/2| 0]
[---+---+---]
[ 0| 0| 0]
sage: J, S = A.jordan_form(transformation=True)
sage: J
[ 1| 0| 0]
[---+---+---]
[ 0|1/2| 0]
[---+---+---]
[ 0| 0| 0]
sage: S
[ 1 1 1]
[ 0 -1/2 -1]
[ 0 1/4 0]
sage: S.inverse()
[ 1 1 -2]
[ 0 0 4]
[ 0 -1 -2]
sage: A.eigenvectors_left()
[(1, [
(1, 1, -2)
], 1), (1/2, [
(0, 0, 1)
], 1), (0, [
(0, 1, 2)
], 1)]
sage: A^5
[ 1 1 -15/8]
[ 0 0 -1/16]
[ 0 0 1/32]
Aici toate problemele ar fi incheiate.
Bun, acum cu mana.
Deoarece matricea are evident determinantul 0, 0 este valoare proprie. Un vector propriu este ochit cu usurinta, cautam combinatii liniare intre coloane.
Prima coloana minus a doua este vectorul coloana nula. Bun, deci
[1 -1 0]'
(vector coloana, acel "prim" este transpunerea)
e vector propriu pentru valoarea proprie 0.
Daca plasam 0 pe pozitia 3x3 in matricea Jordan asociata, atunci coloana a 3-a a matricii de schimbare de baza de la baza canonica la o baza formata din vectori proprii convenabili poate fi completata cu acest vector. Acest lucru se si vede din forma matricii S.
Matricea data are evident si pe 1 ca valoare proprie, deoarece daca "scadem 1 pe diagonala lui A" dam de o coloana nula. Evident, [1 0 0]' este vector propriu corespunzator.
Cu 1/2 lucrurile nu mai sunt asa simple, dar daca scadem 1/2 pe diagonala dam de
sage: A-(1/2)*identity_matrix(QQ,3)
[ 1/2 1 0]
[ 0 -1/2 -1]
[ 0 0 0]
si trebuie sa dam de o combinatie liniara a coloanelor care se anuleaza.
Desigur, putem folosi prima coloana pentru a decima acel 1 din a doua, iar pe a treia pentru a decima acel (-1/2) din a doua.
De exemplu, dam de combinatia liniara nula:
(C2) -2(C1) -(1/2)C3 = 0.
Deci (sortand coloanele), [-2 1 -1/2]' este vector propriu, dar masina prefera sa-l normeze la [1 -1/2 1/4] . Eu as fi luat cu mana mai degraba [4 -2 1]' .
In acest mod, eu as fi dat cu mana de matricea
[ 1 4 1]
[ 0 -2 -1]
[ 0 1 0]
si as fi inceput (in examen scris) argumentarea mentionand ca "acestia" sunt vectorii proprii, pe coloane, pentru valorile proprii...
(Pentru cei ce studiaza fizica: Care sunt produsele vectoriale dintre cate doi vectori diferiti din matricea de mai sus?)
Determinantul acestei matrici este -1 (vazand ca prin Sarrus sau dezvoltare dupa prima coloana / ultima linie), deci inversa se calculeaza usor calculand adjuncta (transpusa). Desigur ca intrarile in matricea adjuncta sunt intregi.
Am da astfel repede de inversa:
[ 1 1 -2]
[ 0 0 1]
[ 0 -1 -2] Dar am da la fel de repede, daca am cauta vectori proprii la stanga, de asa natura incat sa dam de produse (de matrici (1x3)(3x1)) care sa fie 1 (de umblat cu o constanta), respectiv 0 (de demonstrat!).
Nu insist asupra detaliilor, ci asupra structurii...
Special pentru astfel de cazuri recomand folosirea de CAS (sisteme algebrice computerizate), incat multe constructii standard pot fi urmarite usor pe multe cazuri particulare. Consider ca nu este un act de inteligenta, ci de munca bruta pentru un calcul de valori/ vectori proprii. De ce sa nu lasam masina sa faca treaba?! (Stiu, la unele examene se intampla inca ca in secolul XIX.)
--- df (gauss)
|
|
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.
|
|
Cred ca nu m-am exprimat concis destul. (Am incercat sa descriu cele ce de fapt trebuie facute la facultate ca procedeu standard de "spargere" a lui A.)
Avem
Mai explicit nu se poate. O alta spargere mai utila nu cred ca se poate da, iar daca se poate da, asta nu mai e problema mea. Eu ma orientez in general dupa procedee standard, cu care se rezolva probleme standard. Problema propusa este o astfel de problema standard. Procedeul folosit se cunoaste sub numele de "diagonalizare" (daca se poate - si aici se poate), caz particular de generalizarea acestui procedeu, generalizare cunoscuta sub numele de aducere la forma canonica Jordan (peste corpul numerelor complexe in general) printr-o schimbare de baza (data de matricea S).
--- df (gauss)
|
Legendă:
|
Access general
|
Conţine mesaje necitite
|
47555 membri,
58578 mesaje.
|
|
|
|
|
|
|
© 2007, 2008, 2009, 2010 Pro-Didactica.ρ
|