Processing math: 0%
MNNE:Algebra

Z Skrypty dla studentów Ekonofizyki UPGOW

(Różnice między wersjami)
m (Wektory)
(Zmiana bazy i iloczyn skalarny)
Linia 27: Linia 27:
</source>
</source>
-
Ortogonalizacja Grama-Schmidta
+
== Ortogonalizacja Grama-Schmidta ==
 +
 
 +
Operator rzutowania ortogonalnego wektora <math>\mathbf{v}</math> na wektor <math>\mathbf{u}</math> definiujemy jako:
 +
:<math>\mathrm{proj}_{\mathbf{u}}\,\mathbf{v} = {\langle \mathbf{v}, \mathbf{u}\rangle\over\langle \mathbf{u}, \mathbf{u}\rangle}\mathbf{u}. </math>
 +
 
 +
Wówczas dla układu k wektorów <math>\{\mathbf{v}_1, \ldots,\mathbf{v}_k\}</math> proces przebiega następująco:
 +
[[Plik:Gram–Schmidt process.svg|right|frame|Dwa pierwsze kroki procesu ortogonalizacji]]
 +
:<math>\mathbf{u}_1 = \mathbf{v}_1,</math>
 +
:<math>\mathbf{u}_2 = \mathbf{v}_2-\mathrm{proj}_{\mathbf{u}_1}\,\mathbf{v}_2, </math>
 +
:<math>\mathbf{u}_3 = \mathbf{v}_3-\mathrm{proj}_{\mathbf{u}_1}\,\mathbf{v}_3-\mathrm{proj}_{\mathbf{u}_2}\,\mathbf{v}_3, </math>
 +
:<math>\vdots</math>
 +
:<math>\mathbf{u}_k = \mathbf{v}_k-\sum_{j=1}^{k-1}\mathrm{proj}_{\mathbf{u}_j}\,\mathbf{v}_k, </math>
 +
 
 +
 
 +
Grama-Schmidt
 +
 
<source lang='matlab'>
<source lang='matlab'>

Wersja z 21:37, 23 lut 2011

Wektory

Wektor w przestrzeni euklidesowej N wymiarowej jest reprezentowany przez N liczb. Iloczyn skalarny dwóch wektorów oraz \mathbf b o oznaczany symbolem \mathbf a \cdot \mathbf b określony jest jako:

\mathbf a \cdot \mathbf b = \sum_{i=1}^{N}a_i b_i,

gdzie a_i to i-ty element wektora a. Można pokazać, że iloczyn ten jest też dany przez

\mathbf a \cdot \mathbf b = \|\mathbf a\| \|\mathbf b\| \cos \theta,

gdzie \theta jest kątem między \mathbf a a \mathbf b.

Jeśli jeden wektorów jest wektorem o długości jeden to mnoże go przez dowolny inny wektor może być interpretowane jako rzutowanie na kierunek wyznaczony przez pierwszy wektor.

Baza

Zmiana bazy


Zmiana bazy i iloczyn skalarny

Mamy (x,y)=\sum_{i=1}^{N}x_i y_j

b1=[1;1;1]
b2=[1;0;1]
b3=[1;0;-1]
C=[b1,b2,b3]
C'*C
M=[b1'*b1,b1'*b2,b1'*b3;b2'*b1,b2'*b2,b2'*b3;b3'*b1,b3'*b2,b3'*b3]

Ortogonalizacja Grama-Schmidta

Operator rzutowania ortogonalnego wektora \mathbf{v} na wektor \mathbf{u} definiujemy jako: \mathrm{proj}_{\mathbf{u}}\,\mathbf{v} = {\langle \mathbf{v}, \mathbf{u}\rangle\over\langle \mathbf{u}, \mathbf{u}\rangle}\mathbf{u}.

Wówczas dla układu k wektorów \{\mathbf{v}_1, \ldots,\mathbf{v}_k\} proces przebiega następująco:

Plik:Gram–Schmidt process.svg
Dwa pierwsze kroki procesu ortogonalizacji

\mathbf{u}_1 = \mathbf{v}_1, \mathbf{u}_2 = \mathbf{v}_2-\mathrm{proj}_{\mathbf{u}_1}\,\mathbf{v}_2, \mathbf{u}_3 = \mathbf{v}_3-\mathrm{proj}_{\mathbf{u}_1}\,\mathbf{v}_3-\mathrm{proj}_{\mathbf{u}_2}\,\mathbf{v}_3, \vdots \mathbf{u}_k = \mathbf{v}_k-\sum_{j=1}^{k-1}\mathrm{proj}_{\mathbf{u}_j}\,\mathbf{v}_k,


Grama-Schmidt


e1=b1
e2=b2-(e1'*b2)/(e1'*e1)*e1
e3=b3-( (e1'*b3)/(e1'*e1)*e1 + (e2'*b3)/(e2'*e2)*e2 )
E=[e1,e2,e3]
quiver3([0,0,0],[0,0,0],[0,0,0], C(1,:), C(2,:), C(3,:), 0,'r')
hold on
quiver3([0,0,0],[0,0,0],[0,0,0], E(1,:), E(2,:), E(3,:), 0,'b')
xlim([-1,1])
ylim([-1,1])
zlim([-1,1])
hold off


Ćwiczenia: 
  • obliczyć współrzędne wektora a=(1,2,3) w bazie (e_1+e_2...
  • obliczyc rząd macierzy