(1) A x = s x , s in C.
(yleensä merkitään s:n sijasta lambda, mutta kun HTML ..., samasta syystä
käytämme tyhmän näköistä joukkoonkuulumismerkkiä "in")
Yhtälöllä on aina triviaaliratkaisiu x=0, olipa s mikä tahansa
kompleksiluku.
Kysymys kuuluu:
A x = s x <==> (A-s I)x = 0Kyseessä on siis homogeeniyhtälö, jonka kerroinmatriisi sisältää parametrin s. Se pitää valita siten, että HY:llä on ei-triv. ratkaisuja, ts. Gaussin eliminaation on tuotettava ainakin 1 nollarivi, joten det(A-s I)=0 .
1. om. vekt. : parametrit: 1,0,0 2. om. vekt. : parametrit: 0,1,0 3. om. vekt. : parametrit: 0,0,1Huom!
Kysymys. Voiko kiertokuvauksella olla ominaisarvoja/vektoreita?
Ehdotus: Jos kiertokulma on 0 tai Pi, niin kyllä, mutta muuten ei?
Mutta: Algebran peruslauseen mukaan jokaisella polynomiyhtälöllä on ratkaisu kompleksitasossa. Siten kiertokuvauksellakin on ominaisarvoja, mutta ne ovat kompleksisia. Itse asiassa kompleksiluvulla kertominen merkitsee kiertämistä tasossa.
Ominaisarvon s alg. kertal. merk Ms
Lause (SYM) Symmetrisen (yleisemmin hermiittisen) matriisin
ominaisarvot ovat reaaliset ja eri ominaisarvoihin liittyvät ominaisvektorit
ovat ortogonaaliset.
Tod: Ei vaikea. [QED]
Lause (SYMDIAG), syvällinen
Symmetrisen matriisin jokaisen ominaisarvon algebrallinen ja geometrinen
kertaluku on sama. Ts. ominaisvektoreista voidaan muodostaa (jopa ortonormeerattu kanta.) Rn:ään. Merkitsee myös: Symmetrinen matriisi on
diagonalisoituva.
Tod: "Syvällinen" tarkoittaa: todistus ylittää kurssin vaatimustason, vaan
ei tuloksen soveltaminen. [QED]
> with(linalg): A:=matrix([[8,6,6],[-3,-1,-3],[-6,-6,-4]]); [ 8 6 6] [ ] A := [-3 -1 -3] [ ] [-6 -6 -4] > Id:=diag(1,1,1); [1 0 0] [ ] Id := [0 1 0] [ ] [0 0 1] > p:=det(A-lambda*Id); 2 3 p := -4 + 3 lambda - lambda > factor(p); 2 -(lambda + 1) (-2 + lambda) > omarvot:=solve(p=0,lambda); omarvot := -1, 2, 2 > Cmat:=evalm(A-lambda*Id); [8 - lambda 6 6 ] [ ] Cmat := [ -3 -1 - lambda -3 ] [ ] [ -6 -6 -4 - lambda] > Cmat1:=subs(lambda=-1,op(Cmat)); [ 9 6 6] [ ] Cmat1 := [-3 0 -3] [ ] [-6 -6 -3] > Cmat2:=subs(lambda=2,op(Cmat)); [ 6 6 6] [ ] Cmat2 := [-3 -3 -3] [ ] [-6 -6 -6] > G1:=gaussjord(Cmat1); [1 0 1 ] [ ] G1 := [0 1 -1/2] [ ] [0 0 0 ] > G2:=gaussjord(Cmat2); [1 1 1] [ ] G2 := [0 0 0] [ ] [0 0 0] #B1:=backsub(G1,o,'t'); subs(t[1]=1,op(B1)); #B2:=backsub(G2,o,'t'); #v1:=subs(t[1]=1,t[2]=0,op(B2));v2:=subs(t[1]=0,t[2]=1,op(B2)); > B1:=backsub(G1,o,'t'); subs(t[1]=1,op(B1)); B1 := [-t[1], 1/2 t[1], t[1]] [-1, 1/2, 1] > B2:=backsub(G2,o,'t'); B2 := [-t[2] - t[1], t[2], t[1]] > v1:=subs(t[1]=1,t[2]=0,op(B2));v2:=subs(t[1]=0,t[2]=1,op(B2)); v1 := [-1, 0, 1] v2 := [-1, 1, 0] > eigenvectors(A); [2, 2, {[-1, 0, 1], [-1, 1, 0]}], [-1, 1, {[-2, 1, 2]}] >> A=[8,6,6;-3,-1,-3;-6,-6,-4] A = 8 6 6 -3 -1 -3 -6 -6 -4 >> p=poly(A) p = 1.0000 -3.0000 -0.0000 4.0000 >> lam=roots(p) lam = 2.0000 2.0000 -1.0000 >> rref(A-lam(1)*eye(3)) ans = 1 0 0 0 1 0 0 0 1 % OHHOH!! miten ihmeessä >> format long >> lam lam = 2.00000002344808 1.99999997655192 -1.00000000000001 >> A-lam(1)*eye(3) ans = 5.99999997655192 6.00000000000000 6.00000000000000 -3.00000000000000 -3.00000002344808 -3.00000000000000 -6.00000000000000 -6.00000000000000 -6.00000002344808 >> rank(ans) ans = 3 % Joopa joo, tässä tuli senverran virhettä, että Matlab päätteli % rangin 3:ksi. >> rref(A-lam(3)*eye(3)) ans = 1.00000000000000 0 1.00000000000000 0 1.00000000000000 -0.50000000000000 0 0 0 % No kolmas ominaisarvo meni järjellisesti. % Annetaan Matlabin näyttää kykynsä: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Lasketaan numeerisesti luotettavalla ja tehokkaalla tavalla: >> format short >> [V,D]=eig(A) V = 0.8018 0.6667 0.6880 -0.2673 -0.3333 -0.7248 -0.5345 -0.6667 0.0368 D = 2.0000 0 0 0 -1.0000 0 0 0 2.0000