Natura este scrisă în limbaj matematic. Galileo Galilei 5 Aplicatii liniare Grafica vectoriala In grafica pe calculator, grafica vectoriala este un procedeu prin care imaginile sunt construite cu ajutorul descrierilor matematice prin care se determină pozitia, lungimea si direcția liniilor folosite in desen. Imaginile vectoriale sunt complementare imaginilor bitmap, din grafica raster, în care imaginile sunt reprezentate ca un tablou de pixeli. Astfel de tehnici, in care un obiect este reprezentat prin conturul sau, erau folosite in programarea jocurilor video in anii de la inceputurile fenomenului. Putem sa descriem tot felul de miscari si deformari ale obiectelor cu ajutorul
unor transformari realizate de catre matrice. In cele ce urmeaza prezentam doar cateva situatii, extrem de simple, care au survenit in programarea jocurilor D, pentru cele D miscarea fiind si mai complexa. Sa reprezentam o nava spatiala printr-un triunghi cu varfurile (, ), (, ) si (, ). Putem sa memoram aceste coordonate sub forma unei matrice, presupunand si o ordine in care varfurile sunt conectate. Putem sa lucram cu aceasta matrice dar este mult mai elegant sa o rotunjim la o matrice prin adaugarea unei linii de -uri: = Translatia printr-un vector (r, s) este acum realizata cu ajutorul unei matrice T data mai jos: r r + r + r T = s = s s + s De exmplu, pentru a deplasa nava in directia sus va trebui sa facem o translatie de vector (, ) si astfel obtinem noile coordonate, continute in matricea: + + + Acestea sunt (, ), (, ) si (, 5) si dau noua imagine a navei. Daca dorim sa rotim nava cu un unghi θ in sensul opus acelor de ceasornic, rotatie facuta in jurul originii reperului cartezian, atunci matricea care realizeaza aceasta transformare este: cos θ sin θ R θ = sin θ cos θ
De exemplu, pentru o rotatie de θ = 9 avem: = si obtinem: dar situatia nu arata prea bine iar daca deplasam nava cu doua unitati este si mai nesatisfacatoare: O rotatie mult mai realista se realizeaza in jurul centrului navei, pe care il fixam in punctul C(,.5), daca nava e in pozitia de la inceput. Pentru a realiza aceasta rotatie trebuie sa translatam acest centru in originea reperului, apoi sa realizam rotatia de unghi θ = 9 in jurului lui O(, ), apoi sa translatam totul inapoi. Aceasta transformare va fi: T R 9 T unde T este translatia de vector (,.5) de care avem nevoie pentru a duce C in origine iar R 9 este rotatia necesara. T este evident translatia din origine inapoi in C, deci de vector (,.5)..5 T R 9 T =.5.5 =.5 Obtinem: Grafic situatia arata in felul urmator:.5.5.5 T R 9 T =.5.5.5
Prin acelasi procedeu daca nava se deplaseaza doua unitati in sus obtinem: In zilele noastre acest domeniu al graficii digitale a atins culmi nebanuite dar in anii 8 modelarea matematica prezentata anterior reflecta destul de bine realitatea. Aveti mai jos imagini din jocurile video populare in acei ani, jucate pe celebra consola Atari: Transformarea Warhol x Vom memora culoarea fiecarui pixel al unei imagini intr-un vector v = y z unde (x, y, z) reprezinta codul RGB al culorii pixelului. Folosind o multiplicare cu o matrice A putem sa recoloram intreaga imagine aplicand fiecarui pixel 4
transformarea v Av. De exemplu pentru: A = pixelul de la (a) care avea culoarea v = ( t: culoarea 5 5 5) ( 5 77 5) t devine cel de la (b) avand Atunci cand aplicam aceasta transformare unei imagini intregi vom obtine varianta in gri a acesteia: Unul dintre cei mai cunoscuti reprezentanti ai curentului Pop art american este Andy Warhol. Acesta folosea astfel de tehnici pentru a transforma imagini. Mai precis folosind matricea: A = imaginea (a) de jos se transforma in cea de la (b): 5
Atunci cand realizam transformari ale unor obiecte (vectori) ne dorim sa existe o transformare inversa. Adica aplicata obiectului transformat acesta sa revina la forma initiala. Astfel de transformari se numesc bijective. In cazul imaginii clown-ului nu putem sa revenim de la varianta in gri la varianta colorata printr-o transformare de tipul Av, dar pentru imaginea maimutei se poate reconstrui imaginea initiala aplicand transformarea data de: B = imaginii (b). Plecand de la prototipul prezentat anterior, transformarea T : R R, x x T y = A y, A M (R), z z incepem sa studiem functii definite intre spatii vectoriale, care poseda proprietatea de a avea toate informatiile codificate intr-o matrice: aplicatiile liniare. 6
Notiuni teoretice: daca B = {e, e,..., e n } si B = {e, e,..., e p} sunt baze in (R n, +,, R) respectiv (R p, +,, R) iar: T (e ) = a e + a e +... + a p e p T (e ) = a e + a e +... + a p e p.................................... T (e n ) = a n e + a n e +... + a pn e p se numeste matricea aplicatiei liniare T : R n R p in bazele B si B matricea: a a... a n a a... a n [T ] BB =...... a p a p... a pn are loc identitatea: [T (v)] B = [T ] BB [v] B Remarca: Tinand cont de modul in care sunt definite coordonatele unui vector v relativ la o baza B, relatia de mai sus face legatura cu prototipul studiat in introducere T (v) = Av, generalizat aici sub forma: coordonatele lui T (v) se afla printr-o transformare de tipul Aw unde A = [T ] BB este matricea atasata lui T si w = [v] B este matricea coloana a coordonatelor lui v. 7
Putem sa urmarim efectul unor astfel de transformari asupra unui obiect: Comportarea unui operator liniar la schimbarea bazei: Daca B este o alta baza in R n iar B alta baza din R p atunci are loc relatia: [T ] BB = TB B [T ] BB T BB un operator liniar bijectiv T : V V se numeste izomorfism si spunem ca V si V sunt izomorfe. (au aceeasi structura) daca V = V spunem ca T este automorfism Fie aplicatia liniara T : V V. Se numeste nucleul aplicatiei liniare T multimea: Ker(T) = {v V : T (v) = θ V } se numeste imaginea aplicatiei liniare T multimea: Im(T) = {w V : v V, T (v) = w} 8
Teorema: Daca V si V sunt spatii vectoriale finit dimensionale atunci pentru un operator liniar T : V V are loc identitatea: dim Im(T) + dim Ker(T) = dim V In plus: T este surjectiv dim Im(T) = dim V dim V T este injectiv Ker(T) = {} iar pentru V = V : T este bijectiv dim Im(T) = dim V = dim V T este surjectiv T este injectiv Probleme rezolvate Problema. Fie T : IR [X] IR, aplicatia definita prin: iar: T (ax + b) = (a, b, a + b) B = {X, X+} IR [X] si B = {(,, ), (,, ), (,, )} IR sunt doua baze ale acestor doua spatii vectoriale. Sa se arate ca T este o aplicatie liniara si sa se determine [T ] BB. Solutie: Pentru a arata ca T este liniara trebuie sa verificam daca sunt indeplinite proprietatile definitorii ale acestora: transforma sumele vectoriale in sume vectoriale T ( u + v) = T ( u) + T ( v), u, v, scalarii ies in afara T (α u) = αt ( u), u, α, Identificam spatiul R [X] cu R prin ax + b (a, b). Functia din enunt devine acum T : R R definita prin: T (a, b) = (a, b, a + b) 9
iar baza B devine B = {(, ), (, )}. Consideram acum doi vectori u = (a, b) si v = (c, d) din domeniul de definitie al aplicatiei T. T ( u + v) = T ((a, b) + (c, d)) = T (a + c, b + d) Daca evaluam expresia: prin inlocuire = (a + c, b + d, a + c + b + d) prin definitia lui T T ( u) + T ( v) = T (a, b) + T (c, d) = (a, b, a + b) + (c, d, c + d) definitia lui T = (a + c, b + d, a + b + c + d) definitia adunarii vectoriale observam ca obtinem acelasi vector ca si rezultat, deci are loc prima identitate. Pentru a doua se verifica usor: si T (α u) = T (α(a, b)) = T (αa, αb) αt ( u) = αt (a, b) = α(a, b, a + b) = (αa, αb, αa + αb) definitia T = (αa, αb, αa + αb) definitia scalarii vectoriale deci ce era de demonstrat. In concluzie T este o aplicatie liniara. Pentru a doua parte a problemei folosim regula de constructie a [T ] BB avem nevoie de relatiile: si T (, ) = λ (,, ) + λ (,, ) + λ (,, ) T (, ) = λ 4 (,, ) + λ 5 (,, ) + λ 6 (,, ) dar pe de alta parte: T (, ) = (,, ) iar T (, ) = (,, + ) Se rezolva sistemele de ecuatii, atasate celor doua identitati de mai sus, pentru a completa coeficientii λ, λ, λ, λ 4, λ 5, λ 6 in: λ λ 4 [T ] BB = λ λ 6 λ λ 6 Problema. Fie θ [, π] si R θ : IR IR functia definita prin: R θ (x, y) = (x cos θ y sin θ, x sin θ + y cos θ), (x, y) IR. a) Aratati ca R θ este o aplicatie liniara si aflati matricea asociata acestui operator. b) Determinati nucleul si imaginea sa. c) Aratati ca R θ este un automorfism al spatiului vectorial IR.
Soluţie: a) se arata ca R θ (αu + βv) = αr θ (u) + βr θ (v) unde u = (x, y) si v = (x, y ) b) se subintelege ca e vorba de matricea asociata relativ la bazele canonice [R θ ] BcB c deci avem nevoie de R θ (, ) = (cos θ, sin θ) = cos θ (, ) + sin θ (, ) deci R θ (, ) = ( sin θ, cos θ) = sin θ (, ) + cos θ (, ) cos θ [R θ ] BcB c = sin θ sin θ cos θ Determinam acum nucleul Ker R θ si imaginea Im R θ acestei aplicatii liniare: Ker R θ := {(x, y) IR : R θ (x, y) = (, )} se rezolva sistemul rezultat: { x cos θ y sin θ = x sin θ + y cos θ = si se obtine deci R θ este injectiva Ker R θ = {(, )} Im R θ = {(a, b) IR : exista (x, y) IR astfel incat R θ (x, y) = (a, b)} Prin urmare a determina imaginea operatorului R θ este echivalent cu a studia pentru ce valori a, b sistemul: { x cos θ y sin θ = a x sin θ + y cos θ = b este compatibil. Se utilizeaza teorema Kronecker-Capelli pentru ca demonstra ca pentru orice a, b IR sistemul este compatibil caci: ranga = rang A =, indiferent de valorile lui a si b!! Deci Im R θ = IR si in consecinta R θ este surjectiva c) conform subpunctelor a) si b) R θ este liniara si bijectiva deci izomorfism intre spatiile V = V = IR, asadar este automorfism!
Remarca: Rezultatul era cel asteptat, intrucat R θ este o rotatie in R si rotind toate punctele din planul R este evident ca obtinem tot aceasta multime, fara nicio modificare. Problema. Sa se determine expresia analitica a aplicatiilor liniare definite prin: a) T : IR M, (IR) pentru care: T (,, ) =, T (,, ) =, T (,, ) =, b) Determinati apoi nucleul si imaginea aplicatiei liniare de mai sus. c) Determinati matricea operatorului T relativ la bazele canonice din cele doua spatii mentionate. d) Determinati matricea operatorului T relativ la perechea de baze B = {(,, ), (,, ), (,, )} si baza canonica din M, (IR) Soluţie: a) O aplicatie liniara este unic determinata de modul in care actioneaza pe vectorii unei baze! Deoarece T este liniara avem : T (x, y, z) = T (x e + y e + z e ) = xt (e ) + yt (e ) + zt (e ) astfel a determina expresia analitica a lui T (legea de asociere) este echivalent cu a afla valorile vectorilor T (e ), T (e ), T (e ), unde e = (,, ), etc. Strangem informatii despre acesti vectori prin rescrierea relatiile din enunt sub forma: T (,, ) = T (e + e + e ) = T (e ) + T (e ) + T (e ) = T (,, ) = T (e + e e ) = T (e ) + T (e ) T (e ) = T (,, ) = T (e e + e ) = T (e ) T (e ) + T (e ) = Se rezolva sistemul cu necunoscutele T (e ), T (e ), T (e ) (de ex. se aduna toate ecuatiile si se obtine T (e )) si astfel aflam expresia analitica a lui T :
x y z T (x, y, z) = x + z x + y b) pentru operatorul T KerT = (x, y, z) IR : T (x, y, z) = si se rezolva sistemul rezultat folosind din nou definitia avem: a a ImT = b : exista(x, y, z) IR astfel incat T (x, y, z) = b c c si din nou trebuie sa discutam pentru ce valori ale lui a, b, c sistemul: x y z = a x + z = b x + y = b este compatibil. Avem: si : A = a A = b c Evident ranga = iar pentru ca rang A sa fie nu trebuie sa impunem impunem nicio restrictie asupra lui a, b, c deci ImT = IR c) baza canonica in M, (IR) este: B c = E =, E =, E =
T (e ) = = E + E + E T (e ) = = E + E + E T (e ) = = E + E + E deci [T ] BcB c = d) se exprima T (,, ), T (,, ) si T (,, ) in functie de E, E, E Problema 4. Un elicopter este localizat de catre un turn de control cu ajutorul a trei senzori S, S, S aflati pe suprafata sa. Initial, coordonatele acestor senzori in raport cu turnul de control erau S (,, ), S (,, ) si S (,, ) dar apoi pilotul roteste elicopterul cu un unghi necunoscut astfel incat noile coordonate devin S (,, ), S (,, ) si S (,, ). i) Daca un punct oarecare de pe suprafata elicopterului era initial localizat la P (x, y, z) aflati noile sale coordonate. ii) Aflati matricea care da regula de schimbare a coordonatelor punctelor de pe suprafata elicopterului, dupa manevra pilotului. (Rotatia de unghi θ este un operator liniar). Solutie: Notam cu R rotatia de unghi α, problema e ca nu putem utiliza formula operatorului liniar care roteste punctele in R deoarece nu cunoastem unghiul si nici axa dupa care se face rotatia. Vom trata pe R ca pe o aplicatie liniara oarecare. Ce se cere? Stim ca P avea coordonatele (x, y, z) si vrem sa aflam coordonatele sale dupa manevra pilotului: adica R(x, y, z) =? 4
Prin urmare singurele informatii detinute sunt: R(,, ) = (,, ), R(,, ) = (,, ), si R(,, ) = (,, ) Vom utiliza aceste date pentru a identifica operatorul liniar R. Traducerea matematica: Aflati expresia analitica a aplicatiei liniare R care satisface relatiile... problema analoaga cu problema anterioara Probleme propuse Problema. Sa se arate ca urmatoarele functii sunt aplicatii liniare si sa se determine matricea fiecaruia relativ la bazele date: i) T : R R, T (x, y, z) = (x, x+y, x+y) si B = {(,, ), (,, ), (,, )} ii) T : R [X] R, T (ax + b) = (a, a + b) si: B = {X, X + }, B = {(, ), (, )} iii) T : R R, T (x, x, x ) = (x + x, x x ) si: B = {(,, ), (,, ), (,, )}, B = {(, ), (, )} iv) T : R [X] R [X], T (ax + b) = ax + (a + b)x + a b si: B = {X, }, B = {X, X + X +, X + X} Problema. Aflati nucleul si imaginea pentru fiecare dintre aplicatiile liniare din problema anterioara. Problema. Aflati aplicatia liniara T : R [X] : R [X] despre care stim ca: T (X + ) = X +, T ( X + ) = X +, T (X + 5) = X +. Problema 4. Orice pixel de pe ecranul unui computer va fi modelat matematic ca P (x, y, z), unde coordonatele x, y, z reprezinta nivelul de rosu, verde si albastru din codul RGB al culorii sale. De exemplu un pixel negru va fi P (,, ) iar unul rosu va fi P (55,, ). Realizam un program care modifica imagini dupa regula: ( x P (x, y, z) Q 6 + y + z, x + y 6 + z, x + y + z ) 6 Alegem o imagine care sa contina toate culorile posibile si o modificam folosind programul anterior. Ce culoare au pixelii care devin negri dupa modificarea imaginii? Exista pixeli rosii in imaginea modificata? Este adevarat ca si imaginea modificata contine toate culorile posibile? 5
Problema 5. Sa se determine a R astfel incat functia T : R R : sa fie o aplicatie liniara. T (x, y, z) = (x + y + z, x + y + a, x + z + a) Problema 6. Determinati expresia analitica a aplicatiei liniare T : R [X] R [X] stiind ca in baza B are matricea A: i) B = {, X} si A = 4 ii) B = {X, X + } si A = Problema 7. Sa se determine KerT si ImT si cate o baza in fiecare din aceste subspatii pentru aplicatiile liniare: i) T : M, (R) M, (R) a T b = a + b, b c c a, b, c R ii) T : M, (R) R T a = (a b, a + b, 4b) b iii) T : R R T (x, x, x ) = (x + x + x, x + x ) 6