Linearna algebra

Matrike

Vektorje pišemo kot sezname v zavitih oklepajih, npr. {3,2,5}. Matrika je seznam seznamov, npr. {{1,2},{3,4}}, matrike pa kot sezname vektorjev vrstic (npr. {{1, 2, -1}, {0, 3, -2}, {-1, -1, 0}}).
Matriko lahko vnesemo na dva načina:
	- Kot vektor vrstic, kjer je vsaka vrstica vektor.
	- Z menuja Insert Table/Matrix ... 

Operacije z matrikami:
Osnovne operacije na matrikah v Mathematici označimo s + (seštevanje po komponentah), - (odštevanje po komponentah),
* (množenje po komponentah), . (matrično množenje), ... 

Za izračun transponirane matrike uporabimo ukaz Transpose[], za izračun konjugirane matrike pa ukaz ConjugateTranspose[].
Oba kot vhodni parameter dobita matriko. Matrični izpis rezultata zahtevamo z dodatnim ukazom //MatrixForm.
(PAZI pri definiranju matričnih spremenljivk!).

Matrika je obrnljiva natanko tedaj, kadar je njena determinanta različna od 0. Za izračun determinante uporabimo
ukaz Det[], za izračun inverzne matrike pa ukaz Inverse[], ki kot vhodni parameter dobita dano matriko.
Identiteto dimenzije n dobimo z ukazom IdentityMatrix[n]. 

Rang pravokotne matrike je definiran kot red največje kvadratne podmatrike z determinanto različno od 0. Torej,
kvadratna matrika je obrnljiva natanko tedaj, kadar ima poln rang. Rang matrike izračunamo z ukazom MatrixRank[],
ki kot vhodni parameter dobi matriko. Z ukazom RowReduce[] matriko poenostavimo do oblike, ki ima čim več ničel,
zagotovo pa vsaj tam, kjer jih potrebujemo za določitev ranga.

1. Dani sta matriki  A=(({{-2, 2}, {3, 1}, {0, 4}, {1, -1}}))in  B = (({{5, 0, 4, -1}, {1, 1, 2, -2}})).
Izračunajte 4(A^T)+3B  ter  AB.
Izračunajte še 2A-5(B^T)ter BA.

Rezultati:
(({{7, 12, 12, 1}, {11, 7, 22, -10}})), (({{-8, 2, -4, -2}, {16, 1, 14, -5}, {4, 4, 8, -8}, {4, -1, 2, 1}})), (({{-29, -1}, {6, -3}, {-20, -2}, {7, 8}})),(({{-11, 27}, {-1, 13}}))

A={};
B={};

2. Dana je matrika A=(({{1, 2, 3}, {4, 5, 6}, {7, 8, 9}})).
Izračunajte (A^2).

Rezultat:(({{30, 36, 42}, {66, 81, 96}, {102, 126, 150}}))

A={};

3. Ugotovite ali sta matriki  (Subscript[M, 1])=(({{1, 2, 3}, {2, 3, 4}, {3, 4, 5}})) in  (Subscript[M, 2])= (({{1, 2, 3}, {2, 3, 4}, {3, 0, 5}}))obrnljivi. Izračunajte inverz tiste matrike, ki je obrnljiva. 
 Kakšna sta ranga obeh matrik? Ali znate določiti ranga samo z uporabo ukaza RowReduce[]?
    Rezultati: obrnljiva je  matrika (Subscript[M, 2]),((Subscript[M, 2])^(-1))=(({{-(15/8), (5/4), (1/8)}, {-(1/4), (1/2), -(1/4)}, {(9/8), -(3/4), (1/8)}})), r((Subscript[M, 1]))=2, r((Subscript[M, 2]))=3

M1={{1,2,3},{2,3,4},{3,4,5}};
M2={{1,2,3},{2,3,4},{3,0,5}};

Sistemi linearnih enačb

Sistem linearnih enačb Ax=b, kjer je A matrika koeficientov sistema, b pa vektor desnih strani, je rešljiv natanko tedaj, kadar sta rang matrike A in rang razširjene matrike R=[A|b] enaka. Če je rang r enak številu neznank n, je rešitev natanko ena. Če pa je r<n, ima sistem neskončno mnogo rešitev oziroma natančneje (n-r)-parametrično družino rešitev. Pri iskanju rešitev sistema Ax=b uporabimo ukaz LinearSolve[], ki kot vhodna parametra vzame matriko A in vektor b. 

Homogen sistem linearnih enačb Ax=0, kjer je A matrika koeficientov sistema, ima vedno trivialno (ničelno) rešitev. Če je enačb manj kot neznank, ima (neprotisloven) sistem vedno tudi netrivialne (tj. neničelne) rešitve. Kvadraten homogen sistem linearnih enačb ima netrivialno rešitev natanko tedaj, kadar je determinanta matrike A enaka 0. Če sta (Subscript[x, 1]) in (Subscript[x, 2]) dve rešitvi homogenega sistema, je rešitev tudi vsaka njuna linearna kombinacija  (Subscript[αx, 1]) + β(Subscript[x, 2]), kjer sta α in β poljubni realni števili. Množica vseh linearno neodvisnih rešitev homogenega sistema, ki prostor rešitev natanko določa, dobimo z ukazom NullSpace[], ki kot edini vhodni parameter vzame matriko koeficientov A.

4. Rešite sistem linearnih enačb :
   	2 x + 3 y - 2 z = 1,
    x + y + 2 z = 1,
    2 y + 3 z = 1.
Rezultati: x=2/5, y=1/5, z=1/5

A={};
b={};
LinearSolve[]

5. Dan je sistem linearnih enačb
	x + 3 y - 3 z = -1,
	-x - y = 0,
	2 x + 2 y = 2.
	Kakšna sta ranga matrike koeficientov sistema in razširjene matrike?
	Ali je torej dan sistem enačb rešljiv?
Rezultati: r(A) = 2, r(R) = 3, ne

?Join
A={};
b={};
Ab=Join[A,Transpose[{b}],2];

6. Preverite, ali ima dan homogen sistem netrivialne rešitve in jih izračunajte:
  	2 x + y - z + 3 u = 0,
	x - y = 0.
Rezultat: ima
{-1,-1,0,1}, {1,1,3,0}

A={};

Matrične enačbe

Pri reševanju matrične enačbe oblike AX = B, kjer sta A in B znani, X pa neznana iskana matrika, uporabimo ukaz LinearSolve[], ki kot vhodna parametra vzame matriki A in B.
Matrično enačbo oblike XA = B najprej transponiramo v (A^T)(X^T) = (B^T) in nato uporabimo ukaz LinearSolve[]. Sedaj sta vhodna podatka transponirani matriki in kot rezultat dobimo matriko (X^T).

7. Rešite matrični enačbi  AX=B  in  YA=B, kjer sta  A=(({{3, -1, 2}, {4, -3, 3}, {1, 1, 0}}))in  B=(({{3, 9, 7}, {1, 11, 7}, {7, 5, 7}})).
Rezultata:X= (({{7, 5, 7}, {0, 0, 0}, {-9, -3, -7}})),Y=(({{(67/2), -20, -(35/2)}, {(79/2), -24, -(43/2)}, {(43/2), -12, -(19/2)}}))

A={};
B={};

Linearne preslikave

Linearno preslikavo τ: V → W  med vektorskima prostoroma V (dimenzije n) in W (dimenzije m) lahko opišemo kot množenje matrike T z vektorji (stolpci) iz V, kjer so stolpci matrike T slike baznih vektorjev prostora V, torej τ(e1),...,τ((Subscript[e, n])). Standardni bazni vektorji imajo po eno koordinato enako 1, vse ostale 0. Pri zapisu matrike linearne preslikave si lahko pomagamo z ukazom Map[τ,baza], ki vrne seznam vseh slik vektorjev iz seznama baza s preslikavo τ.

8. V standardni bazi zapišite matriko linearne preslikave τ((OverVector[v]))=(({{1}, {2}, {-3}}))× (OverVector[v]),ki slika 3-dimenzionalne realne vektorje v 3-dimenzionalne realne vektorje.
Kam se preslika vektor (({{1}, {2}, {3}}))?
Kateri vektor se preslika v vektor (({{1}, {1}, {1}}))?
Rezultati: T=(({{0, 3, 2}, {-3, 0, -1}, {-2, 1, 0}})), (({{12}, {-6}, {0}})), (({{-(1/3)}, {(1/3)}, {0}}))

?Map
a={1,2,-3};
tau[v_]:=Cross[a,v]

Lastne vrednosti in lastni vektorji

Lastni vektor kvadratne matrike A je vsak neničelni vektor x, za katerega velja Ax = λx. Pri tem skalar λ imenujemo lastna vrednost. Lastne vrednosti so rešitve enačbe det(A-λI)=0, lastni vektorji pa so netrivialne rešitve homogenega sistema (A-λI)x=0. Polinom A-λI imenujemo karakteristični polinom matrike A in ga dobimo z ukazom CharacteristicPolynomial[], ki kot vhodna parametra vzame matriko A in ime neznanke λ, ki označuje lastne vrednosti. 

Seznam lastnih vrednosti matrike A dobimo z ukazom Eigenvalues[A], seznam linearno neodvisnih lastnih vektorjev z ukazom Eigenvectors[A], oba seznama hkrati pa z ukazom Eigensystem[A]. Lastne vrednosti so urejene po padajočih absolutnih vrednostih. Če iščemo najmanjšo ali največjo lastno vrednost, lahko uporabimo različici Eigenvalues[A,k] in Eigenvalues[A,-k], ki vrneta k največjih oz. k najmanjših lastnih vrednosti. Podobno velja za iskanje lastnih vektorjev in lastnega sistema.

9. Poiščite lastne vrednosti in lastne vektorje matrike  M = (({{0, 1, 1, 1}, {1, 0, 1, 1}, {1, 1, 0, 1}, {1, 1, 1, 0}})).
Rezultati:  (Subscript[λ, 1,2,3])=-1,  (Subscript[λ, 4])=3; (Subscript[x, 1])={-1,0,0,1},(Subscript[x, 2])={-1,0,1,0},(Subscript[x, 3])={-1,1,0,0},(Subscript[x, 4])={1,1,1,1}

M={{0,1,1,1},{1,0,1,1},{1,1,0,1},{1,1,1,0}};

10. Poiščite najmanjšo lastno vrednost (Subscript[λ, 1])  matrike  A = (({{2, 1, -3}, {0, 3, 0}, {0, 4, -1}})). 
Za lastno vrednost (Subscript[λ, 1])izračunaj pripadajoči lastni vektor (Subscript[x, 1]). Kakšen je produkt (Subscript[Ax, 1])?
Rezultati: (Subscript[λ, 1])=-1, (Subscript[x, 1])={1,0,1}, (Subscript[Ax, 1])=(({{-1}, {0}, {-1}}))

A={};