Predavanje 18

FlipView[{Text[Style[" Branko Urošević, imqfbrankourosevic@gmail.com ",20,"Text",Italic]],Text[Style[" Faculty of Economics, University of Belgrade, NBS and CESIfo Munich",20,"Text", Italic]]}]

Matematička analiza (nastavak) i linearna algebra u WL

Pojam neodređenog integrala

Neodređeni integral neke funkcije jeste funkcija čiji je prvi izvod jednaka funkciji koju integralimo. Recimo, nađimo integral funkcije 2 x (po x)

Pomoću WL, neodređeni integral se računa ovako:

Integrate[f[x],x]

Na primer, ukoliko je f[x]= 2 x, njen neodređeni integral je:

Integrate[2 x,x]

Tome se uvek u mislima mora dodati proizvoljna konstanta (to program ne radi). Da proverimo:

D[(x^2)+c,x]

Drugi rečima, neodređeni integral nije jednoznačno određen! Evo neodređenih integrala za neke funkcije

Integrate[#,x]&/@{(x^n),Log[x],Exp[x],Sin[x],Cos[x],(a^x)}

Evo kako možemo da vidimo korake potrebne da se to uradi sa papirom i olovkom:

Kada Alpha izbaci rezultat, kliknimo na Show All Results i izaberimo Step-by-Step Solution. Na taj način možemo da postepeno savladamo i korak-po-korak metod, mada nam on sada zapravo više nije baš neophodan.

Odrediti ukupni trošak na osnovu marginalnog troška

Pretpostavimo da marginalni trošak zavisi samo od promenljive q i da je dat izrazom:

3 (q^3)+17 q

Naći ukupni trošak ako se zna da je fiksni trošak (njega dodamo na kraju) jednak 59.

ukupniTrosak=Integrate[3 (q^3)+17 q,q]+59

Provera

D[ukupniTrosak,q]

Pošto je neodređeni integral definisan do na konstantnu, ukupni trošak je definisan na ovaj način do na trošak koji ne zavisi od nivoa proizvodnje. Takav trošak je fiksni trošak. Znači, ono što kompjuter izbaci je varijabilni deo ukupnog troška.

Apsorpcija leka u organizmu

Lek se izlučuje u urin pacijenta. Urin se prati kontinuirano koristeći kateter. Pacijent je primio 10 mg leka u trenutku t = 0. Lek se izlučuje po stopi od  3 (Sqrt[t]) mg / h. Naći formulu za količinu leka u pacijentu u trenutku t. U kom trenutku neće više biti leka u pacijentu?

Ukoliko se lek izlučuje brzinom od 3 (Sqrt[t])miligrama na čas, za period t će se izlučiti

Integrate[3(Sqrt[t]),t]

leka, pa će u organizmu preostati

ostalo=10-2 (t^(3/2));

Leka više neće biti u trenutku datom

Solve[10-2 (t^(3/2))==0,{t}]

ili numerički

NSolve[10-2 (t^(3/2))==0,{t}]

Uvod u određeni integral

Računamo površinu ograničenu krivom funkcije f[x], linijama x=a, x=b, gde je a < b i, sa donje strane, x osom. Površina ispod krive je pozitivna ukoliko je funkicija koju integralimo poziitivna, i negativna ukoliko je funkcija koju integralimo negativna. Površina ispod krive određuje se pomoću određenog integrala:

Integrate[f[x],{x,a,b}]

Integrale možemo računati u WL na puno načina. Integral funkcije 2 x u intervalu x od 0 do 5, možemo da kažemo ovo:

Integrate[2 x,{x,0,5}]

Ovaj konkretan integral možemo da nađemo i grafički, kao površinu osenčenog trougla:

Plot[2 x,{x,0,5},Filling->Axis]

Takođe, u Palettes, možemo da izaberemo Basic Math Assistance i tamo nađemo šablom za integral:

(∫_0^5)2 x\[DifferentialD]x

A možemo i da koristimo Wolfram Alpha, pogotovu ako nas zanima da nađemo rešenje korak po korak:

Gausovi integrali

Razmotrimo integral gustine verovatnoće standardne normalne promenljive. Kao što bi trebalo da znamo iz Statistike, ovaj integral mora biti jednak 1.

f[x_]:=((Exp[-((x^2)/2)])/(Sqrt[2 π]));Integrate[f[x],{x,-∞,∞}]

Drugi rečima, površina ispod gausove krive je jednaka 1.

Plot[f[x],{x,-5,5},Mesh->{{0}},MeshShading->{Directive@{Thick,Blue}},Filling->Axis,ColorFunction->(If[-4≤ #<4,Yellow,White]&),ColorFunctionScaling->False]

Očekivana vrednost je integral funkcije x f[x] u opsegu definisanosti gustine verovatnoće (to jest od -∞ do ∞). Vidimo da su žuto osenčene površine jednake ali suprotnih znakova, pa ukupno daju 0.

Plot[x f[x],{x,-5,5},Mesh->{{0}},MeshShading->{Directive@{Thick,Blue}},Filling->Axis,ColorFunction->(If[-4≤ #<4,Yellow,White]&),ColorFunctionScaling->False]

ocekivanavrednost=Integrate[x f[x],{x,-∞,∞}]

Varijansa je očekivana vrednost kvadrata odstupanja od srednje vrednosti:

varijansa=Integrate[(((x-ocekivanavrednost))^2) f[x],{x,-∞,∞}]

Plot[(((x-ocekivanavrednost))^2) f[x],{x,-5,5},Mesh->{{0}},MeshShading->{Directive@{Thick,Blue}},Filling->Axis,ColorFunction->(If[-4≤ #<4,Yellow,White]&),ColorFunctionScaling->False]

Varijansa je pozitivan broj (jednak 1). Obe osenčene površine su pozitivne.

Kako merimo nejednakost: Lorencova kriva i Ginni koeficijent

U ekonomiji Lorencova kriva predstavlja raspodelu bogatstva u jednoj državi. Ona je grafik funkcije koja predstavlja koliko poslednjih x% ljudi po bogatstvu poseduje procenata ukupnog bogatstva (y%). Uveo ju je Maks Lorenc (1905) da bi merio nejednakost u nekoj državi. Prava linija predstavlja potpunu jednakost, a što je kriva “konveksnija” nejednakost je veća. Na primer, na slici se vidi da 5% najbogatijih poseduje skoro 50% bogatstva.

Ginni koeficijent je mera nejednakosti u jednoj državi i definiše se kao količnik žute površine na prethodno prikazanom grafiku i površine trougla ispod crvene linije. Ako je funkcija čiji je grafik Lorencova kriva f(x), Ginni koeficijent bio jednak

ginni[f]=(((1/2)-(∫_0^1)f[x]\[DifferentialD]x)/(1/2))==1 - 2 (∫_0^1)f[x]\[DifferentialD]x

Izračunati Ginni koeficijent ako je Lorencova funkcija u jednoj državi data formulom

f[x_]:=0.3 (x^1.5)+0.7 (x^2.5);ginni=1 - 2 (∫_0^1)f[x]\[DifferentialD]x

Rekonstruisati pređeni put na osnovu grafika brzine sa vremenom

Na osnovu krive koja prikazuje zavisnost brzine kretanja od vremena, konstruišite zavisnost pređenog puta od vremena. U intervalu [0, 10], v[t] = 3 +0.7 t; u intervalu od [10,15], v[5]=10, a u intervalu od [15,20], v[t]=25-t. To se može definisati u WL preko Piecewise funkcije. Pređeni put do trenutka t je osenčena površina, to jest integral od v po vremenu.

v[t_]:=Piecewise[{{3+0.7 t,0≤t<10},{10,10≤t<15},{25-t,15≤t≤ 20}}]

Plot[v[t],{t,0,20}, PlotLabel-> "Zavisnost brzine od vremena",Mesh->{{0}},MeshShading->{Directive@{Thick,Blue}},Filling->Axis,ColorFunction->(If[0≤ #<12,Yellow,White]&),ColorFunctionScaling->False]

Kako bismo našli zavisnost pređenog puta od vremena, treba da prointegralimo v[t]. Pokazaćemo kako da to uradimo numerički, pošto često nije lako ili moguće integrale nalaziti analitički. Dakle, podelimo prvo interval za t od 0 do 20 u male podintervale dimenzije, recimo 0.05. Onda bi umesto neprekidnog vremena imali skup diskretnih tačaka

{0,0},{0.05,NIntegrate[v[t],{t,0.05}]},{0.1,NIntegrate[v[t],{t,0.1}]}

itd. To se lako implementira korišćenjem Table

s=Table[{n,NIntegrate[v[t],{t,0,n}]},{n,0,20,0.05}]

ListLinePlot[s,PlotLabel->"Zavisnost pređenog puta od vremena"]

Linearna algebra

Sabiranje vektora i množenje na skalar: novčani tokovi portfolia hartija od vrednosti u uslovima rizika

U WL vektori proste liste. Ako treba da ih sabiramo, moraju imati iste dimenzije. Pretpostavimo da na tržištu postoje dve hartije od vrednosti. Jedna, a, daje 2 evra u prvom stanju i 3 evra u drugom. Sa druge strane, hartija b dovodi do gubitka jednog evra u prvom stanju i zarade od jedan evro u drugom stanju. Kakve su moguće realizacije portfolia koji se sastoji od jedne (duge pozicije) u akciji a i jedne (duge pozicije) u akciji b?

ca={2,3}; cb={-1,1};

Novčaki tokovi traženog portfolija su:

cp=ca+cb

Predstavimo rvenim predstavimo vektor ca, plavim vektor cb a zelelim njihovu, odnosno cp. Pošto ćemo često prikazivati vektore, evo jednostavne funkcije koja to radi. Prvi argument je lista boja, drugi je lista vektora, a treći je ceo broj koji kontroliše veličinu grafiku u ImageSize. Uslov koji zadajemo jeste da dužina vektora boja mora biti ista kao i dužina liste vektora.

Svaki vektor crtamo pomoću grafičke funkcije Arrow. Početna tačka će uvek biti koordinatni početak {0,0} a kranja tačka se zadaje vektorom koji želimo da grafički predstavimo. Pri tome, prva boja u listi boja daje direktivu za prvi vektor u listi, itd.

vektorGraf[boje_List,vektori_List,velicina_Integer]/;Length[boje]==Length[vektori]:=Graphics[MapThread[{#1,Thick,Arrow[{{0,0},#2}]}&,{boje,vektori}],ImageSize->velicina,Axes->True,GridLines->Automatic]

vektorGraf[{Red,Blue,Green},{ca,cb,ca+cb},200]

Linearna kombinacija vektora i replikacioni portfolio hartija od vrednosti

Po konstrukciji vidimo da je vektor novčanih tokova portfolija, cp, linearna kombinacija vektora pojedinačnih hartija, ca i cb. Naime, očigledno je da se može predstaviti kao

cp =α ca +β cb

Zaista, ta jednačina je zadovoljena kada je α = 1, i β =1. Šta više, pretpostavimo da nas zanima proizvoljni portfolio vektor, na primer

cp1={4,-3};

Njega opet možemo napraviti samo koristeći hartije a i b! Kako? Prosto, samo treba da nađemo samo odgovarajuće α i β za koje

cp1=α ca+ β cb

To jest, moramo da rešimo sistem jednačina

Solve[α ca+ β cb==cp1,{α,β}]

Traženi portfolio koji replikuje p1 sastoji se od 1/5 kupljene akcije a, i prodate bez pokrića (stoga negativni znak!) 18/5 akcije b.

Linearna kombinacija vektora i njihova linearna nezavisnost

Fakt da možemo da pomoću linearnih kombinacija (portfolija) vectora a i b napravimo bilo koji drugi vektor u dve dimenzije sledi iz linearne nezavisnosti vektora ca i cb. Vektori su linearno nezavisni ukoliko je jedini način da se dobije linearna kombinacija koja je jednaka nultom vektoru {0, 0} takva da su α = 0, β = 0. Proverimo da su x i y linearno nezavisni

Solve[α ca + β cb=={0,0},{α,β}]

Grafički, dva dvodimenziona vektora su linearno nezavisna ukoliko ne leže na istoj pravoj.

vektorGraf[{Red,Blue},{ca,cb},300]

Sa druge strane, ovaj par vektora je linearno zavisan:

w={2,-1};v={-4,2};

vektorGraf[{Red,Blue},{w,v},300]

Isti zaključak dobijamo i na osnovu ranga matrice koje formiramo iz skupa vektora za koji proveravamo linearnu nezavisnost. Odgovarajuću matricu dobijamo tako što napravimo listu vektora. To je, onda složena lista dubine 2. Ukoliko je rang tako dobijene matrice isti kao broj vektora, skup je nezavisan, a ako je manji onda je skup vektora linearno zavisan.

mat1= {x,y};MatrixRank[mat1]

mat2 = {w,v};MatrixRank[mat2]

Skalarni proizvod dva vektora

Ako imamo dva vektora istih dimenzija, možemo da napravimo njihov skalarni proizvod koristeći funkciju Dot (ili .)

Clear[x,y];x={x1, x2}; y={y1, y2};

x.y

U punoj formi, to se piše ovako:

Dot[x,y]

Nađimo skalarni proizvod između vektora ca i cb

Dot[ca,cb]

skalarni proizvod je po veličini jednak površini osenčenog paralelograma:

Graphics[{{Red,Thick,Arrow[{{0,0},ca}]},{Blue,Thick,Arrow[{{0,0},cb}]},{LightBlue,Parallelogram[{0,0},{ca,cb}]}},ImageSize-> 200,Axes->True,GridLines->Automatic]

Naći dužinu (normu) i ugao između dva vektora

Dužine ova dva vektora su:

Norm[#]&/@{ca,cb}

a ugao između njih, ϕ, dobijamo po na osnovu poznate jednačine

((Dot[ca,cb])/(Norm[ca]Norm[cb]))==Cos[ϕ]

Iz ove jednačine nalazimo traženi ugao koristeći funkciju za približno rešavanje sistema jednačina FindRoot:

FindRoot[((Dot[ca,cb])/(Norm[ca]Norm[cb]))==Cos[ϕ],{ϕ,0.2}]

Svaki vektor možemo normalizovati tako što ga podelimo sa njegovom dužinom. U tom slučaju vektor će imati normu 1. To može da se uradi koristeći funkciju Normalize:

Normalize[#]&/@{ca,cb}

Dva vektora su normalna ukoliko je njihov skalarni proizvod jednak 0.

Definicija i neka standardna svojstva matrica

Kao što smo napomenuli, matrice su složene liste sa dva nivoa (levels). Ali, to nije dovoljno da nešto bude matrica. Naime, potrebno je da svaka podlista u matrici ima iste dimenzije. Da li je neka lista matrica? Odgovor na to pitanje daje funkcija MatrixQ.

mat={{a,b},{c,d}};

MatrixQ[mat]

Mada je u običnoj matematici vektor {a,b} takođe matrica, u WL to nije slučaj. Naime, u pitanju je vektor:

MatrixQ[{a,b}]

VectorQ[{a,b}]

Ovo takođe nije matrica zato što je prva podlista dimenzije 2, a druga dimenzije 3

MatrixQ[{{a,b},{c,d,g}}]

Matrica je kvadratna ukoiko je u njoj broj kolona jednak broju redova. Funkcija SquareMatrixQ proverava da li je matrica kvadratna ili ne.

SquareMatrixQ[mat]

SquareMatrixQ[{{a,b,q},{c,d,g}}]

Ukoliko je matrica kvadratna, za nju se može izračunati determinanta

Det[mat]

Transponovanje i simetričnost matrice

Već smo ranije videli kako se transponuju matrice. Transponovanje dovodi do zamene mestima redova i kolona. Pretpostavimo da imamo matricu A:

A={{a,b,c},{e,g,h}};

U matričnoj formi ona izgleda ovako:

MatrixForm[A]

Transponovana od ove matrice je:

Transpose[A]

U matričnoj formi (ovde koristimo skraćenu formu Aᵀ za transponovanu matricu):

MatrixForm[A\[Transpose]]

Matrica je simetrična ukoliko je njena transponovana matrica jednaka njoj samoj. Samo kvadratna matrica može biti simetrična. Ali, nisu sve kvadratne matrice simetrične.

A={{a,b},{b,c}};

A==A\[Transpose]

SymmetricMatrixQ[A]

Množenje matrice sa vektorom: borba za vlast na izborima

U dvopartijskom političkom sistemu za vlast se bore partije A i B. Od glasača partije B u narednoj izbornoj godini 5% postanu apstinenti, a 10% postanu glasači partije A. Što se tiče apstinenata iz prethodne izborne godine, 5% njih glasa za A u novoj izbornoj godini, a 5% za B. Ostali ostaju apstinenti. Od glasača partije A, 10% će naredni put glasati za B, a 5% će biti neodlučno.

Kakva će biti struktura biračkog tela na narednim izborima, ukoliko je na izborima danas bilo 2 000 000 glasača partije A, 3 000 000 glasača partije B i 4 000 000 apstinenata? Označimo sa (Subscript[a, t]) i  (Subscript[b, t]) broj glasača za partije A i B u t-toj izbornoj godini, a broj apstinenata u t-toj izbornoj godini sa  (Subscript[n, t]). U tom slučaju, relacija među tri grupacije u biračkom telu između dve susedne izborne godine je:

(Subscript[a, t+1])=0.85 (Subscript[a, t])+0.1 (Subscript[b, t])+0.05 (Subscript[n, t])

(Subscript[b, t+1])=0.05 (Subscript[a, t])+0.85 (Subscript[b, t])+0.05 (Subscript[n, t])

(Subscript[n, t+1])=0.1 (Subscript[a, t])+0.05 (Subscript[b, t])+0.9 (Subscript[n, t])

Ovaj se sistem jednačina može napisati u matričnoj formi ovako (gde je (Subscript[x, t]) ={(Subscript[a, t]), (Subscript[b, t]), (Subscript[n, t])})

(Subscript[x, t+1])==T.(Subscript[x, t])

Množenje matrice sa vektorom i matrice sa matricom: borba za vlast na izborima (nastavak)

Matrica T is tranziciona matrica. Ona određuje dinamiku izbornog sistema

T={{0.85, 0.1,0.05 },{0.05,0.85,0.05 },{0.1,0.05,0.9 }};

Pošto je u prvoj izbornoj godini, x0, raspodela glasača bila

x0={2000000,3000000,4000000};

na naredim izborima (izborna godina 1) očekujemo sledeću raspodelu

x1=T.x0

Nije teško pogoditi da će u drugoj izbornoj godini rezultat biti

x2=T.x1

što je isto što i

x2=T.T.x0

Kakav ćemo rezultat imati u 10. izbornoj godini? To je jednostavno uraditi ovako

x10=Nest[T.#&,x0,10]

Vidimo da se kako množenje matrice na vektor tako i množenje matrice na drugu matricu obavlja putem funkcije Dot. Pri tome, množenje matrica je asocijativno. To jest, (T.T).x0 je isto što i T.(T.x0) =T.x1.

Rešenje sistema jednačina pomoću inverzije matrice: kako rekonstruisati prethodno stanje na osnovu novih rezultata

Ranije smo videli da se sistem linearnih jednačina može rešiti preko Solve. Sada ćemo videti da se to isto može uraditi korišćenjem inverzije matrice sistema. Nastavimo da i dalje diskutujemo izbornu borbu. Postavimo međutim malo drugačije pitanje. Naime, pretpostavimo da znamo izborni rezultat u godini 1, i da on iznosi

x1={2.2`*^6,2.85`*^6,3.95`*^6}

Kako iz toga možemo da rekonstuišemo početno stanje (pretpostavimo da ga ne znamo)? Pošto znamo da važi

x1 =T.x0

ukoliko pomnožimo obe strane ove jednačine sa inverznom matricom od T, sa level strane dobijamo

Inverse[T].x1

a sa desne

Inverse[T].T.x0

Pošto je

Inverse[T].T//Chop

jedinična matrica, dobijamo tačan rezultat.

x0=Inverse[T].x1

Replikacioni portfolio za Arrow-Debreu hartije od vrednosti na dva načina

Prisetimo se tržišta u kome postoje dve hartije od vrednosti, a, i b, čiji su novčani tokovi ca i cb. Uvedimo oznaku za matricu novčanih tokova mat, kao i za portfolio vektor n

ca={2,3}; cb={-1,1};mat={ca,cb};n={α,β};

Arrow-Debreu hartije imaju novčani tok jednak 1 samo u jednom određenom stanju, i nula svim ostalim. Oznacimo novčane tokove AD1 sa cAD1, a novčani tok AD2 sa cAD2. Tada

cAD1={1,0};cAD2={0,1};

Cilj nam je da nađemo replikacioni portfolio (odnosno sastav vektora n) takav da replikujemo prvo cAD1, pa onda i cAD2. To ćemo uraditi pomoću postojećih hartija a i b. Naime

α ca+β cb ==cAD1

Solve[α ca+β cb ==cAD1,{α,β}]

Isto to možemo da dobijamo i na osnovu zahteva da je

n.mat==cAD1

Ukoliko pomnožimo obe strane jednačine sa Inverse[mat], sa leve strane dobijamo traženi replikacioni portfolio portfolio, a sa desne imamo cAD1.Inverse[mat]. Replikacioni portfolio za

nAD1=cAD1.Inverse[mat]

Replikacioni portfolio za cAD2 dobijamo na sličan način kao

nAD2=cAD2.Inverse[mat]

Kako naći cene bilo koje hartije na takvom tržištu ako znamo cene hartija a i b?

Pretpostavimo da znamo cene hartija a, i b i da su one, respektivno, jednake 4 i 1, to jest date vektorom

p={1,1/4};

Cena AD1 bi u tom slučaju bila jednaka ceni odgovarajućeg replikacionog portfolia hartije AD1, a naime

pAD1=nAD1.p

Na sličan način imamo da je cena Arrow-Debreu hartije za stanje 2 jednaka

pAD2=nAD2.p

Cene AD hartija su sadašnje vrednosti 1 evra u određenom stanju. Pošto su cene obe AD hartije pozitivne, u ovom sistemu ne postoji mogućnost za pravljenje arbitražnih profita i moguće se odrediti cene bilo koje druge hartije na jedinstven način. Na primer, razmotrimo projekat koji plaća 700 evra u prvom stanju i 400 evra u drugom. U tom slučaju, sadašnja vrednost odnosno vrednost projekta bi bila

vrednostProjekta=700 pAD1+400 pAD2

Dijagonalne i jedinična matrica

U praksi je često korisno na osnovu nekog vektora naći dijagonalnu matricu za koju su na glavnoj dijagonali elementi tog vektora, a van glavne dijagonale su nule. To su dijagonalne matrice.Ukoiko je

v={3,-4,2};

V=DiagonalMatrix[v]

ili, u matričnoj formi

MatrixForm[V]

Važna osobina dijagonalne matrice čiji su dijagonalni elementi svi različiti od nule jeste da je njena inverzna matrica jeste dijagolna matrica gde je svaki pojedinačni element invertovan.

Inverse[V]

DiagonalMatrix[1/v]

Specijalni slučaj dijagonalne matrice jeste jedinična matrica. To je dijagonalna matrica kod koje su svi elementi na dijagonali jednaki 1. Možemo ih konstruisati na razne načine:

DiagonalMatrix[{1,1,1}]

IdentityMatrix[3]

Ortogonalne matrice (ili matrice rotacije)

To su invertibilne kvadratne matrice takve da je njihova inverzna matrica jednaka njihovoj transponovanoj matrici. Videćemo primenu ortogonalnih matrica kod problema dijagonalizacije matrica.

ortog={{Cos[π/4],-Sin[π/4]},{Sin[π/4],Cos[π/4]}};

Proverimo prvo da je ortog zaista ortogonalna. Naime, njena transponovana matrica je

ortog\[Transpose]

a inverzna je

Inverse[ortog]

Vidimo da je

ortog\[Transpose]==Inverse[ortog]

Kako ortogonalna matrica deluje na neki vektor? Ona mu ne menja dužinu nego da samo rotira. Proverimo to u slučaju vektora v={2,1} koga ćemo predstaviti crvenom bojom kao i vektora ortog.v, koga ćemo predstaviti plavom bojom:

v={2,1};vektorGraf[{Red,Blue},{v,ortog.v},300]

Vidimo i da su oba vektora iste dužine:

Norm[#]&/@{v,ortog.v}//Simplify

Rešavanje sistema linearnih jednačina pomoću inverzne matrice

Razmotrimo sledeći sistem jednačina generisan na slučajan način (kako i matrica sistema A, tako i desna strana jednačine, b).

A=RandomInteger[{-10,10},{5,5}]

Clear[x1,x2];v={x1,x2,x3,x4,x5};

b=RandomInteger[{-10,10},{5}]

U matričnoj formi sistem jednačina izgleda ovako:

A.v==b

Solve[A.v==b,v]

Rešenje sistema jednačina se u matričnoj formi dobija tako što pomnožimo obe strane jednačine sa leve strane sa invertovanom matricom sistema Inverse[A]:

resenje=Inverse[A].b

Kada matrica A ima dobro definisanu inverznu matricu, odnosno kada je A punog ranga, ovakvo rešenje postoji i jedinstveno je. Ako je jednačina homogena, to jest ako je desna strana (vektor b) jednaka 0, onda ukoliko je determinanta A različita od nule, jedino rešenje je nulti vektor.

Ukoliko det[A]=0, onda nećemo imati jedinstveno rešenje sistema. To će značiti da redovi u matrici A nisu linearno nezavisni vektori.

Karakteristične vrednosti i karakteristični vektori (Eigenvalues, Eigenvectors)

Jedna od ključnih koncepata u linearnoj algebri jeste pojam karakterističnih vrednosti i odgovarajućih karakterističnih vektora. Za kvadratnu matricu A, broj λ i vektor x, ovo je karakteristična jednačina (eigenvalue equation):

A.x ==λ x

Kad pomnožimo matricu A sa karakterističnim vektorom x dobijamo vektor koji leži na istoj pravoj kao x. Koeficijent proporcionalnosti je karakeristična vrednost λ a vektor x je karakteristični vektor. Ako je I jedinična matrica, važi da:

A.x ==λ I.x  
ili
(A- λ I).x ==0

U ovoj poslednjoj formi, matrica sistema je (A- λ I). Imamo, dakle, homogenu jednačinu. Ona ima netrivijalno rešenje (rešenje koje nije identično jednako nuli) ako i samo ako:

det[(A- λ I)] =0

odnosno ako (A- λ I) nije invertibilna. Ukoliko je matrica A dijagonalna, onda je i (A- λ I) dijagonalna, a λ su prosto elementi na dijagonali. Na primer:

A={{3,0,0},{0,-2,0},{0,0,4}};

A-λ IdentityMatrix[3]//MatrixForm

Jasno je da su rešenja jednačine det[(A- λ I)] =0 u tom slučaju λ=3, λ= - 2, i λ = 4. Eigenvalues daje karakteristične vrednosti.

Eigenvalues[A]

Slučaj nedijagonalne simetrične kvadratne matrice

Razmotrimo sada matricu:

B={{2,3},{3,8}};

Potražimo njene karakteristične vrednosti i karakteristične vektore. Ovo je najbrži način da se nađu karateristične vrednosti:

{λ1,λ2}=Eigenvalues[B]

To isto bismo dobili i direktno, rešavanjem karakteristične jednačine:

B-λ IdentityMatrix[2]//MatrixForm

Det[B-λ IdentityMatrix[2]]==0

Solve[{7-10 λ+(λ^2)==0},{λ}]

Karakteristični vektori se mogu dobiti na podjednako prost način koristeći funkciju Eigenvectors.

{v1,v2}=Eigenvectors[B]

Nastavak

Nije teško proveriti da su ovi vektori karakteristični vektori. Naime

B.v1==λ1 v1

B.v2==λ2 v2

Geometrijski, razmotrimo neki proizvoljan vektor v koji nije karakteristični. Npr

v={-1,1};

Predstavimo sada crvenom bojom taj vektor, a plavom vektor dobijem množenjem Dot[B,v]. Pošto v nije karakterističan vektor, onda tako dobijeni vektor neće biti kolinearan sa v. Sa druge strane, u slučaju vektora v1 i v2 dobićemo kolinearan vektor kada ga pomnožimo sa B:

vektorGraf[{Red,Blue},{v,B.v},300]

vektorGraf[{Red,Blue},{v1,B.v1},300]

vektorGraf[{Red,Blue},{v2,B.v2},300]

Veza između simetričnih matrica i kvadratnih formi

Svaka simetrična matrica odgovara nekoj kvadratnoj formi koja se dobija kada se matrica pomnoži skalarno sa obe strane sa istim vektorom x odgovarajućih dimenzija. U slučaju dijagonalne matrice, odgovorajuća kvadratna forma je uvek dijagonalna

{x1,x2,x3}.A.{x1,x2,x3}

a na dijagonali stoje karakteristične vrednosti matrice kvadratne forme A. Sa druge strane, ukoliko je matrica kvadratne forme nedijagonalna, odgovarajuća kvadratna forma takođe, u opštem slučaju, nije dijagonalna:

{x1,x2}.B.{x1,x2}

{x1,x2}.B.{x1,x2}//Expand

Matrice A odnosno B zovu se matrice kvadratne forme pošto su usendvičene tako da daju kvadratnu formu. Ispostavlja se da putem transformacije vektora promenljivih preko određene ortogonalne matrice (to jest putem rotacije) svaku kvadratnu formu možemo da predstavimo u dijagonalnom obliku. Та matrica se dobija iz normiranih karakterističnih vektora. U slučaju matrice B, imamo da:

ortog=Normalize[#]&/@{v1,v2}

Dijagonalizacija nedijagonalne kvadratne forme

Prvo, proverimo da je ortog zaista ortogonalna matrica, odnosno matrica rotacije. To potvrđujemo time što je transponovana matrica od ortog isto što i njena invezna matrica. Stoga je proizvod matrica:

ortog\[Transpose] .ortog//Simplify

Ovako izgleda veza između starih koordinata {x1, x2} i novih {x1novo, x2novo}

{x1,x2}=ortog\[Transpose].{x1novo,x2novo};

Pošto su transformacije kako u starim tako i u novim koordinatama ostaje ista (zašto?). Naravno, oblik kvadratne forme će zavisiti od izbora koordinata.

{x1,x2}.B.{x1,x2}

{x1,x2}.B.{x1,x2}//Simplify

Dakle, u novim koordinatama kvadratna forma je dijagonalna, a na dijagonali su joj upravo karakterstične vrednosti matrice B!

To je tako uvek. Naime, uvek postoji sistem koordinata u kojoj se kvadratna forma može predstaviti u dijagonalnom obliku i tom slučaju na dijagonali su joj uvek karakteristične vrednosti. Analogan iskaz jeste da za simetrične matrice uvek postoji ortoganalna transformacija koja ih dijagonalizuje na sledeći način

ortog.B.ortog\[Transpose]//Simplify

Primer u tri dimenzije

Generišimo slučajnu simetričnu matricu dimenzija 3x3 sa vrednostima između -5 i 5. To možemo napraviti koristeći funkciju

slucajnaSimetricnaMatrica[{donja_Integer,gornja_},n_Integer]:=Module[{donjaPolovina=Table[RandomInteger[{donja,gornja}],{i,1,n},{j,1,i}],donjaPadded,gornjaPadded,simetricnaSlucajna},donjaPadded=PadRight[#,n]&/@donjaPolovina;gornjaPadded=ReplacePart[donjaPadded\[Transpose],{isto_,isto_}:>0];simetricnaSlucajna=donjaPadded+gornjaPadded]

mat=slucajnaSimetricnaMatrica[{-5,5},3];MatrixForm[mat]

Ova matrica nije dijagonalna. Nađimo njene karakteristične vrednosti. Pošto nemamo egzaktno rešenje, nalazimo numeričko:

Eigenvalues[mat]//N

Normalizovani karamteristični vektori su

ortog=Normalize[#]&/@N[Eigenvectors[mat]]

Najzad, u novim koordinatama matrica dobija oblik (tu smo ignorisali vrlo male brojeve jer je u pitanju greška zaokruživanja).

ortog.mat.ortog\[Transpose]

Chop[ortog.mat.ortog\[Transpose]]

Dakle, transformisana matrica je dijagonalna, i njeni elementi na dijagonali su jednaki karakterističnim vrednostima.

Znakovna definisanost simetrične matrice (i odgovarajuće kvadratne forme)

Ukoliko su sve karakteristične vrednosti pozitivne, matrica (i odgovarajuća kvadratna forma) je pozitivno definitna. Ukoliko su sve negativne, matrica (i kv. forma) je negativno-definitna. Ako su karakteristične vrednosti sve nenegativne forma je pozitivno semidefinitna. Ukoliko su znaci karakterističnih vrednosti manji ili jednaki nuli, onda je to negativno semidefinitna matrica. Najzad, ako su neke karakteristične vrednosti pozitivne a druge negative, onda je matrica (i odgovarajuća kv. forma) znakovno nedefinisana. U poslednjem slučaju kv. forma može imati kako pozitivne tako i negativne vrednosti.

Da bismo odredili znakovnu definisanost slučajne simetrične matrice dimenzija 5x5

mat=slucajnaSimetricnaMatrica[{-5,5},5];MatrixForm[mat]

dovoljno je, stoga, da proverimo znake karakterističnih vrednosit

Eigenvalues[mat]//N

Ova matrica je znakovno nedefinisana. Stoga je i odgovarajuća kvadratna forma znakovno nedefinisana. To možemo proveriti i na osnovu odgovora na sledeća pitanja:

#[mat]&/@{PositiveDefiniteMatrixQ,PositiveSemidefiniteMatrixQ,NegativeDefiniteMatrixQ,NegativeSemidefiniteMatrixQ}

Primeri pozitivno i negativno definitne matrice i odgovarajuće kvadratne forme

Matrica mat1 je pozitivno definitna

mat1={{2,1},{1,7}};

Eigenvalues[mat1]

Vidimo da važi

PositiveDefiniteMatrixQ[mat1]

Proverimo da je vrednost kvadratne forme pozitivna kakve god da su koordinate (dokle god nisu obe jednake nuli). Ovde generišemo 100 slučajnih vektora dimenzije 2 i za njih izračunavamo odgovarajuće vrednosti kvadratne forme. Vidimo da su sve vrednosti kvadratne forme pozitivne.

Table[Module[{x=RandomReal[{-10,10},2]},x.mat1.x],100]

Sa druge strane, mat2 je negativno definitna:

mat2={{-2,1},{1,-7}};Eigenvalues[mat2]

NegativeDefiniteMatrixQ[mat2]

Table[Module[{x=RandomReal[{-10,10},2]},x.mat2.x],100]

Konveksnost i konkavnost funkcije jedne promenljive

Znakovna definisanost matrice nam treba, između ostalog, zbog određivanja konveksnosti odnosno konkavnosti fukcija!  Funkcija jedne promenljive je strogo konveksna ukoliko je njen drugi izvod svuda pozitivan. Na primer:

Clear[x,y,z]

D[(x^2),{x,2}]

Plot[(x^2),{x,-4,4}]

Kod konveksnih funkcija kad spojimo bilo koje dve tačke sa duži, duž će uvek biti iznad krive. Konveksna funkcija ima globalni minimum.

Funkcija jedne promeljive je strogo konkavna ukoliko je njen drugi izvod strogo negativan. One imaju globalni maksimum.

D[(Sqrt[x]),{x,2}]

Plot[(Sqrt[x]),{x,1,4}]

Najzad, postoje i funkcije koje nemaju glob. ekstremum. One nisu onkavne ili konveksne za sve vrednosti argumenta.

D[(x^3),{x,2}]

Plot[(x^3),{x,-3,3}]

Konveknost i konkavnost funkcije više promenljivih

U slučaju funkcije više promenljivih, konveksnost i konkavnost ispitujemo pomoću matrice drugih izvoda (to se zove Hesijan):

f=(x^2)+(y^2);v={x,y};D[f,{v,2}]

Vidimo da je u slučaju (x^2) + (y^(2  ))matrica drugih izvoda dijagonalna matrica sa oba pozitivna elementa na dijagonali. Stoga je:

Eigenvalues[D[f,{v,2}] ]

Ova funkcija je globalno (strogo) konveksna. Grafički

Plot3D[(x^2)+(y^2),{x,-3,3},{y,-3,3}]

Razmotrimo sada funkciju (Sqrt[x])+2 (Sqrt[y])

D[(Sqrt[x])+2(Sqrt[y]),{v,2}]

Ovoga puta funkcija je strogo konkavna (obe karakteristične vrednosti su negativne)

Plot3D[(Sqrt[x])+2(Sqrt[y]),{x,0.5,5},{y,0.5,6}]

Razmotrimo kvadratnu formu

f=a (x^2)+b (y^2); v={x,y};D[f,{v,2}] //MatrixForm

Ako su a, b >0, funkcija (kvadratna forma) je globalno konveksna. Ako su oba znaka negativna, onda je globalno konkavna, a ako su znakovi različiti, onda nije ni konkavna ni konvesna.  Itd.

Najlepši ženski glas koji sam do sada čuo

https://www.youtube.com/watch?v=XivELBdxVRM