Wstęp do algebry 
Zajęcia nr 2

Układ równań liniowych niejednorodnych

Metoda eliminacji Gaussa-Jordana

Poddajemy macierz rozszerzoną układu równań przekształceniom elementarnym, aby otrzymac postac zredukowaną

3 x + 2 y + z = 11
2 x + 3 y + z = 13
x + y + 4 z = 12

a.v==b

a={{3,2,1},{2,3,1},{1,1,4}} 
a//MatrixForm

b={11,13,12}

v={x,y,z}

Thread[a.v==b]

Stwórzymy macierz rozszerzoną - dodamy do macierzy a kolumnę b.

Dodanie wiersza do macierzy - funkcja Append[]

?Append

A=Transpose[Append[Transpose[a],b]]

A //MatrixForm

MatrixRank[a]

MatrixRank[A]

A[[1]]=A[[1]]/A[[1,1]]
A[[2]]=A[[2]]/A[[2,1]]
A[[3]]=A[[3]]/A[[3,1]]

A[[2]]=A[[2]]-A[[1]]
A[[3]]=A[[3]]-A[[1]]

A //MatrixForm

A[[1]]=A[[1]]/A[[1,2]]
A[[2]]=A[[2]]/A[[2,2]]
A[[3]]=A[[3]]/A[[3,2]]

A[[1]]=A[[1]]-A[[2]]
A[[3]]=A[[3]]-A[[2]]

A  //MatrixForm

A[[1]]=A[[1]]/A[[1,3]]
A[[2]]=A[[2]]/A[[2,3]]
A[[3]]=A[[3]]/A[[3,3]]

A[[1]]=A[[1]]-A[[3]]
A[[2]]=A[[2]]-A[[3]]

A //MatrixForm

A[[1]]=A[[1]]/A[[1,1]]
A[[2]]=A[[2]]/A[[2,2]]

A //MatrixForm

A=Transpose[Append[Transpose[a],b]]

RowReduce[A] //MatrixForm

?RowReduce

Rozwiązanie:
x=1
y=3
z=2

rownania=Thread[a.{x,y,z}==b]

Solve[rownania,{x,y,z}]

LinearSolve[a,b] - daje rozwiązanie ukladu a.v=b

LinearSolve[a,b]

?LinearSolve

Zadanie

Wygenerować macierz a o 3 wierszach i 4 kolumnach oraz wektor b o 3 współrzędnych
Niech elementy Mathematicacierzy i współrzedne wektora to liczby całkowite z przedziału 1-25:

a=Table[RandomInteger[{1,25}],{i,1,3},{j,1,4}]

b=Table[RandomInteger[{1,25}],{i,1,3}]

?Table

?RandomInteger

Rozwiązać równanie a.v=b 

a) przy pomocy metody Gaussa - Jordana
(wskazówki: 
utworzyć macierz rozszerzoną z macierzy a i wektora b, 
przekształcić macierz rozszerzoną do postaci zredukowanej,
znaleźć rozwiązanie (w tym przypadku rozwiązanie z parametrem))

b) przy pomocy LinearSolve[]


c) przy pomocy Solve[]

Zadanie

Wyprowadzić twierdzenie cosinusów (uogólnione twierdzenie Pitagorasa)

z zalezności trygonometrycznych:
a=b cos(γ)+ c cos(β)
b=c cos(α)+ a cos(γ)
c=a cos(β)+ b cos(α)

wskazówki:
 przyjmij, że x=cos(α), y= cos(β), z=cos(γ)
 utwórz macierz rozszerzoną tego układu równań
 zredukuj ją

ClearAll[a,b,c]

Rząd macierzy

M= {{1,2,1,0,8},{1,1/2,1,1/3,4},{1,2,3,1/2,3},{2,4,4,1/2,11}}

M  //MatrixForm

Rząd macierzy

MatrixRank[M]

Minory

Minory o wymiarze 1

Minors[M,1] //MatrixForm

Minory  o wymiarze 2

Minors[M,2,Identity]   //MatrixForm
Minors[M,2]  //MatrixForm

Minory  o wymiarze 3

Minors[M,3,Identity]   //MatrixForm
Minors[M,3]  //MatrixForm

Minory  o wymiarze 4

Minors[M,4,Identity]   //MatrixForm
Minors[M,4]  //MatrixForm

Redukcja ukladu wektorow

RowReduce[M] //MatrixForm

Ortonormalizacja układu wektorów

Orthogonalize[M]  //MatrixForm

Zadanie

Zbadać rząd macierzy:
(({{1, 2, 1, 0, 0}, {3, 3, 4, 4, 8}, {1, 2, 3, 0, 3}, {2, 1, 1, 4, 5}}))

- funkcją MatrixRank[]
- znajdując największy możliwy wymiar niezerowego minora macierzy
- RowReduce[] lub Orthonalize[]

Wartosci własne i wektory wlasne macierzy

m={{1,2,0},{2,0,1},{1,0,0}}

% //MatrixForm

Wartości własne:

Eigenvalues[m]//MatrixForm

Wektory własne:

Eigenvectors[m]//MatrixForm

Wektory własne i wartości własne:

Eigensystem[m] //MatrixForm

Pierwszy wektor wlasny:

Eigenvectors[m][[1]]

drugi wektor wlasny:

Eigenvectors[m][[2]]

trzeci wektor wlasny:

Eigenvectors[m][[3]]

m.Eigenvectors[m][[1]]

Eigenvalues[m][[1]] Eigenvectors[m][[1]]

m.Eigenvectors[m][[1]]==Eigenvalues[m][[1]] Eigenvectors[m][[1]]

Zadanie

Znaleźć wartości i wektory własne macierzy
(({{1, 2, 1, 0}, {3, 3, 4, 4}, {1, 2, 3, 0}, {2, 1, 1, 4}}))
Sprawdzić działanie macierzy na wektory własne