Algebra si Geometri pentru Computer Science · relativ la o baza B, relatia de mai sus face...

17
”Natura este scris˘aˆ ı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˘ a pozi- tia, lungimea si direct , ia liniilor folosite in desen. Imaginile vectoriale sunt com- plementare imaginilor bitmap, din grafica raster, ˆ ın care imaginile sunt reprezen- tate 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 1

Transcript of Algebra si Geometri pentru Computer Science · relativ la o baza B, relatia de mai sus face...

Page 1: Algebra si Geometri pentru Computer Science · relativ la o baza B, relatia de mai sus face legatura cu prototipul studiat in introducere ( ) = , generalizat aici sub forma: coordonatele

”Natura este scrisa ın limbaj matematic .”

Galileo Galilei

5Aplicatii liniare

Grafica vectoriala

In grafica pe calculator, grafica vectoriala este un procedeu prin care imaginilesunt construite cu ajutorul descrierilor matematice prin care se determina pozi-tia, lungimea si direct, ia liniilor folosite in desen. Imaginile vectoriale sunt com-plementare imaginilor bitmap, din grafica raster, ın care imaginile sunt reprezen-tate ca un tablou de pixeli.

Astfel de tehnici, in care un obiect este reprezentat prin conturul sau, eraufolosite in programarea jocurilor video in anii de la inceputurile fenomenului.Putem sa descriem tot felul de miscari si deformari ale obiectelor cu ajutorul

1

Page 2: Algebra si Geometri pentru Computer Science · relativ la o baza B, relatia de mai sus face legatura cu prototipul studiat in introducere ( ) = , generalizat aici sub forma: coordonatele

unor transformari realizate de catre matrice. In cele ce urmeaza prezentam doarcateva situatii, extrem de simple, care au survenit in programarea jocurilor 2𝐷,pentru cele 3𝐷 miscarea fiind si mai complexa.

Sa reprezentam o nava spa-tiala printr-un triunghi cu varfurile(0, 0), (2, 0) si (1, 3). Putem sa memo-ram aceste coordonate sub forma unei

matrice

⎛⎝0 2 1

0 0 3

⎞⎠, 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 3 × 3 prin adaugarea unei linii de 1-uri:

∆ =

⎛⎜⎜⎜⎝0 2 1

0 0 3

1 1 1

⎞⎟⎟⎟⎠Translatia printr-un vector (𝑟, 𝑠) este acum realizata cu ajutorul unei matrice𝑇 data mai jos:

𝑇 · ∆ =

⎛⎜⎜⎜⎝1 0 𝑟

0 1 𝑠

0 0 1

⎞⎟⎟⎟⎠ ·

⎛⎜⎜⎜⎝0 2 1

0 0 3

1 1 1

⎞⎟⎟⎟⎠ =

⎛⎜⎜⎜⎝𝑟 2 + 𝑟 1 + 𝑟

𝑠 𝑠 3 + 𝑠

1 1 1

⎞⎟⎟⎟⎠De exmplu, pentru a deplasa nava

in directia ”sus” va trebui sa facemo translatie de vector (0, 2) si astfelobtinem noile coordonate, continute inmatricea:⎛⎜⎜⎜⎝

0 2 + 0 1 + 0

2 2 3 + 2

1 1 1

⎞⎟⎟⎟⎠

Acestea sunt (0, 2), (2, 2) si (1, 5) si dau noua imagine a navei. Daca dorimsa rotim nava cu un unghi 𝜃 in sensul opus acelor de ceasornic, rotatie facuta injurul originii reperului cartezian, atunci matricea care realizeaza aceasta trans-formare este:

𝑅𝜃 =

⎛⎜⎜⎜⎝cos 𝜃 − sin 𝜃 0

sin 𝜃 cos 𝜃 0

0 0 1

⎞⎟⎟⎟⎠2

Page 3: Algebra si Geometri pentru Computer Science · relativ la o baza B, relatia de mai sus face legatura cu prototipul studiat in introducere ( ) = , generalizat aici sub forma: coordonatele

De exemplu, pentru o rotatie de 𝜃 = 90∘ avem:⎛⎜⎜⎜⎝0 −1 0

1 0 0

0 0 1

⎞⎟⎟⎟⎠⎛⎜⎜⎜⎝

0 2 1

0 0 3

1 1 1

⎞⎟⎟⎟⎠ =

⎛⎜⎜⎜⎝0 0 3

0 2 1

1 1 1

⎞⎟⎟⎟⎠si obtinem:

dar situatia nu arata prea bine iar daca deplasam nava cu doua unitati este simai nesatisfacatoare:

O rotatie mult mai realista se realizeaza in jurul centrului navei, pe care il fixamin punctul 𝐶(1, 1.5), daca nava e in pozitia de la inceput. Pentru a realizaaceasta rotatie trebuie sa translatam acest centru in originea reperului, apoi sarealizam rotatia de unghi 𝜃 = 90∘ in jurului lui 𝑂(0, 0), apoi sa translatam totulinapoi. Aceasta transformare va fi:

𝑇−1 ·𝑅90∘ · 𝑇 · ∆

unde 𝑇 este translatia de vector (−1,−1.5) de care avem nevoie pentru a duce 𝐶in origine iar 𝑅90∘ este rotatia necesara. 𝑇−1 este evident translatia din origineinapoi in 𝐶, deci de vector (1, 1.5).

𝑇−1·𝑅90∘ ·𝑇 =

⎛⎜⎜⎜⎝1 0 1

0 1 1.5

0 0 1

⎞⎟⎟⎟⎠⎛⎜⎜⎜⎝

0 −1 0

1 0 0

0 0 1

⎞⎟⎟⎟⎠⎛⎜⎜⎜⎝

1 0 1

0 −1 −1.5

0 0 1

⎞⎟⎟⎟⎠ =

⎛⎜⎜⎜⎝0 −1 2.5

1 0 0.5

0 0 1

⎞⎟⎟⎟⎠Obtinem:

𝑇−1 ·𝑅90∘ · 𝑇 · ∆ =

⎛⎜⎜⎜⎝2.5 2.5 −0.5

0.5 2.5 1.5

1 1 1

⎞⎟⎟⎟⎠Grafic situatia arata in felul urmator:

3

Page 4: Algebra si Geometri pentru Computer Science · relativ la o baza B, relatia de mai sus face legatura cu prototipul studiat in introducere ( ) = , generalizat aici sub forma: coordonatele

Prin acelasi procedeu daca nava se deplaseaza doua unitati in sus obtinem:

In zilele noastre acest domeniu al graficii digitale a atins culmi nebanuitedar in anii ′80 modelarea matematica prezentata anterior reflecta destul de binerealitatea. Aveti mai jos imagini din jocurile video populare in acei ani, jucatepe celebra consola Atari:

Transformarea Warhol

Vom memora culoarea fiecarui pixel al unei imagini intr-un vector 𝑣 =

⎛⎜⎜⎜⎝𝑥

𝑦

𝑧

⎞⎟⎟⎟⎠unde (𝑥, 𝑦, 𝑧) reprezinta codul RGB al culorii pixelului. Folosind o multiplicarecu o matrice 𝐴 putem sa recoloram intreaga imagine aplicand fiecarui pixel

4

Page 5: Algebra si Geometri pentru Computer Science · relativ la o baza B, relatia de mai sus face legatura cu prototipul studiat in introducere ( ) = , generalizat aici sub forma: coordonatele

transformarea 𝑣 → 𝐴𝑣. De exemplu pentru:

𝐴 =

⎛⎜⎜⎜⎝13

13

13

13

13

13

13

13

13

⎞⎟⎟⎟⎠

pixelul de la (𝑎) care avea culoarea 𝑣 =(

25 77 51)𝑡

devine cel de la (𝑏) avand

culoarea(

51 51 51)𝑡

:

Atunci cand aplicam aceasta transformare unei imagini intregi vom obtine vari-anta in gri a acesteia:

Unul dintre cei mai cunoscuti reprezentanti ai curentului Pop art americaneste Andy Warhol. Acesta folosea astfel de tehnici pentru a transforma imagini.Mai precis folosind matricea:

𝐴 =

⎛⎜⎜⎜⎝0 1 0

0 0 1

1 0 0

⎞⎟⎟⎟⎠imaginea (𝑎) de jos se transforma in cea de la (𝑏):

5

Page 6: Algebra si Geometri pentru Computer Science · relativ la o baza B, relatia de mai sus face legatura cu prototipul studiat in introducere ( ) = , generalizat aici sub forma: coordonatele

Atunci cand realizam transformari ale unor obiecte (vectori) ne dorim saexiste o transformare inversa. Adica aplicata obiectului transformat acesta sarevina la forma initiala. Astfel de transformari se numesc bijective.

In cazul imaginii clown-ului nu putem sa revenim de la varianta in gri la vari-anta colorata printr-o transformare de tipul 𝐴𝑣, dar pentru imaginea maimuteise poate reconstrui imaginea initiala aplicand transformarea data de:

𝐵 =

⎛⎜⎜⎜⎝0 0 1

1 0 0

0 1 0

⎞⎟⎟⎟⎠imaginii (𝑏).

Plecand de la prototipul prezentat anterior, transformarea 𝑇 : R3 → R3,

𝑇

⎛⎜⎜⎜⎝𝑥

𝑦

𝑧

⎞⎟⎟⎟⎠ = 𝐴

⎛⎜⎜⎜⎝𝑥

𝑦

𝑧

⎞⎟⎟⎟⎠ , 𝐴 ∈ ℳ3(R),

incepem sa studiem functii definite intre spatii vectoriale, care poseda propri-etatea de a avea toate informatiile ”codificate” intr-o matrice: aplicatiile liniare.

6

Page 7: Algebra si Geometri pentru Computer Science · relativ la o baza B, relatia de mai sus face legatura cu prototipul studiat in introducere ( ) = , generalizat aici sub forma: coordonatele

Notiuni teoretice:

∙ daca 𝐵 = {𝑒1, 𝑒2, . . . , 𝑒𝑛} si 𝐵′ = {𝑒′1, 𝑒′2, . . . , 𝑒′𝑝} sunt baze in (R𝑛,+, ·,R)respectiv (R𝑝,+, ·,R) iar:⎧⎪⎪⎪⎨⎪⎪⎪⎩

𝑇 (𝑒1) = 𝑎11𝑒′1 + 𝑎21𝑒

′2 + . . . + 𝑎𝑝1𝑒

′𝑝

𝑇 (𝑒2) = 𝑎12𝑒′1 + 𝑎22𝑒

′2 + . . . + 𝑎𝑝2𝑒

′𝑝

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

𝑇 (𝑒𝑛) = 𝑎1𝑛𝑒′1 + 𝑎2𝑛𝑒

′2 + . . . + 𝑎𝑝𝑛𝑒

′𝑝

se numeste matricea aplicatiei liniare 𝑇 : R𝑛 → R𝑝 in bazele 𝐵 si 𝐵′ matricea:

[𝑇 ]𝐵𝐵′ =

⎛⎜⎜⎜⎜⎜⎜⎝𝑎11 𝑎12 . . . 𝑎1𝑛

𝑎21 𝑎22 . . . 𝑎2𝑛...

... . . ....

𝑎𝑝1 𝑎𝑝2 . . . 𝑎𝑝𝑛

⎞⎟⎟⎟⎟⎟⎟⎠∙ are loc identitatea:

[𝑇 (𝑣)]𝐵′ = [𝑇 ]𝐵𝐵′ [𝑣]𝐵

Tinand cont de modul in care sunt definite coordonatele unui vector 𝑣relativ la o baza B, relatia de mai sus face legatura cu prototipul studiatin introducere 𝑇 (𝑣) = 𝐴𝑣, generalizat aici sub forma: coordonatele lui 𝑇 (𝑣)se afla printr-o transformare de tipul 𝐴𝑤 unde 𝐴 = [𝑇 ]𝐵𝐵′ este matriceaatasata lui 𝑇 si 𝑤 = [𝑣]𝐵 este matricea coloana a coordonatelor lui 𝑣.

Remarca:

7

Page 8: Algebra si Geometri pentru Computer Science · relativ la o baza B, relatia de mai sus face legatura cu prototipul studiat in introducere ( ) = , generalizat aici sub forma: coordonatele

Putem sa urmarim efectul unor astfel de transformari asupra unui obiect:

Comportarea unui operator liniar la schimbarea bazei:Daca 𝐵2 este o alta baza in R𝑛 iar 𝐵′

2 alta baza din R𝑝 atunci are loc relatia:

[𝑇 ]𝐵2𝐵′2

= 𝑇−1𝐵′𝐵′

2· [𝑇 ]𝐵𝐵′ · 𝑇𝐵𝐵2

∙ un operator liniar bijectiv 𝑇 : 𝑉1 → 𝑉2 se numeste izomorfism si spunemca 𝑉1 si 𝑉2 sunt izomorfe. (au aceeasi structura)

∙ daca 𝑉1 = 𝑉2 spunem ca 𝑇 este automorfismFie aplicatia liniara 𝑇 : 𝑉1 → 𝑉2. Se numeste nucleul aplicatiei liniare 𝑇

multimea:Ker(T) = {𝑣 ∈ 𝑉1 : 𝑇 (𝑣) = 𝜃 ∈ 𝑉2}

se numeste imaginea aplicatiei liniare 𝑇 multimea:

Im(T) = {𝑤 ∈ 𝑉2 : ∃𝑣 ∈ 𝑉1, 𝑇 (𝑣) = 𝑤}

8

Page 9: Algebra si Geometri pentru Computer Science · relativ la o baza B, relatia de mai sus face legatura cu prototipul studiat in introducere ( ) = , generalizat aici sub forma: coordonatele

Teorema: Daca 𝑉1 si 𝑉2 sunt spatii vectoriale finit dimensionale atunci pentruun operator liniar 𝑇 : 𝑉1 → 𝑉2 are loc identitatea:

dim Im(T) + dim Ker(T) = dim 𝑉1

In plus:𝑇 este surjectiv ⇔ dim Im(T) = dim 𝑉2 ≤ dim 𝑉1

𝑇 este injectiv ⇔ Ker(T) = {0}

𝑇 este bijectiv ⇔ dim Im(T) = dim 𝑉2 = dim 𝑉1

iar pentru 𝑉1 = 𝑉2:

𝑇 este surjectiv ⇔ 𝑇 este injectiv

Probleme rezolvate

Problema 1. Fie 𝑇 : IR1[𝑋] → IR3, aplicatia definita prin:

𝑇 (𝑎𝑋 + 𝑏) = (𝑎, 𝑏, 𝑎 + 𝑏)

iar:

𝐵 = {2𝑋−1,−𝑋+1} ⊂ IR1[𝑋] si 𝐵′ = {(1, 1, 1), (1, 1, 0), (1, 0, 0)} ⊂ IR3

sunt doua baze ale acestor doua spatii vectoriale. Sa se arate ca 𝑇 este oaplicatie liniara si sa se determine [𝑇 ]𝐵𝐵′.

Solutie: Pentru a arata ca 𝑇 este liniara trebuie sa verificam daca suntindeplinite proprietatile definitorii ale acestora:

transforma sumele vectoriale in sume vectoriale

𝑇 (�� + 𝑣) = 𝑇 (��) + 𝑇 (𝑣), ∀ ��, 𝑣,

scalarii ies in afara

𝑇 (𝛼��) = 𝛼𝑇 (��), ∀ ��, 𝛼,

Identificam spatiul R1[𝑋] cu R2 prin 𝑎𝑋 + 𝑏 (𝑎, 𝑏). Functia din enuntdevine acum 𝑇 : R2 → R3 definita prin:

𝑇 (𝑎, 𝑏) = (𝑎, 𝑏, 𝑎 + 𝑏)

9

Page 10: Algebra si Geometri pentru Computer Science · relativ la o baza B, relatia de mai sus face legatura cu prototipul studiat in introducere ( ) = , generalizat aici sub forma: coordonatele

iar baza 𝐵 devine 𝐵 = {(2,−1), (−1, 1)}.Consideram acum doi vectori �� = (𝑎, 𝑏) si 𝑣 = (𝑐, 𝑑) din domeniul de definitie

al aplicatiei 𝑇 .

𝑇 (�� + 𝑣) = 𝑇 ((𝑎, 𝑏) + (𝑐, 𝑑)) = 𝑇 (𝑎 + 𝑐, 𝑏 + 𝑑) prin inlocuire

= (𝑎 + 𝑐, 𝑏 + 𝑑, 𝑎 + 𝑐 + 𝑏 + 𝑑) prin definitia lui 𝑇

Daca evaluam expresia:

𝑇 (��) + 𝑇 (𝑣) = 𝑇 (𝑎, 𝑏) + 𝑇 (𝑐, 𝑑) = (𝑎, 𝑏, 𝑎 + 𝑏) + (𝑐, 𝑑, 𝑐 + 𝑑) definitia lui 𝑇

= (𝑎 + 𝑐, 𝑏 + 𝑑, 𝑎 + 𝑏 + 𝑐 + 𝑑) definitia adunarii vectoriale

observam ca obtinem acelasi vector ca si rezultat, deci are loc prima identitate.Pentru a doua se verifica usor:

𝑇 (𝛼��) = 𝑇 (𝛼(𝑎, 𝑏)) = 𝑇 (𝛼𝑎, 𝛼𝑏)

= (𝛼𝑎, 𝛼𝑏, 𝛼𝑎 + 𝛼𝑏) definitia 𝑇

si

𝛼𝑇 (��) = 𝛼𝑇 (𝑎, 𝑏) = 𝛼(𝑎, 𝑏, 𝑎 + 𝑏)

= (𝛼𝑎, 𝛼𝑏, 𝛼𝑎 + 𝛼𝑏) definitia scalarii vectoriale

deci ce era de demonstrat. In concluzie 𝑇 este o aplicatie liniara.Pentru a doua parte a problemei folosim regula de constructie a [𝑇 ]𝐵𝐵′ si

avem nevoie de relatiile:

𝑇 (2,−1) = 𝜆1(1, 1, 1) + 𝜆2(1, 1, 0) + 𝜆3(1, 0, 0)

𝑇 (−1, 1) = 𝜆4(1, 1, 1) + 𝜆5(1, 1, 0) + 𝜆6(1, 0, 0)

dar pe de alta parte:

𝑇 (2,−1) = (2,−1, 2−1) iar 𝑇 (−1, 1) = (−1, 1,−1 + 1)

Se rezolva sistemele de ecuatii, atasate celor doua identitati de mai sus, pentrua completa coeficientii 𝜆1, 𝜆2, 𝜆3, 𝜆4, 𝜆5, 𝜆6 in:

[𝑇 ]𝐵𝐵′ =

⎛⎜⎜⎜⎝𝜆1 𝜆4

𝜆2 𝜆6

𝜆3 𝜆6

⎞⎟⎟⎟⎠Problema 2. Fie 𝜃 ∈ [0, 2𝜋] si 𝑅𝜃 : IR2 → IR2 functia definita prin:

𝑅𝜃(𝑥, 𝑦) = (𝑥 cos 𝜃 − 𝑦 sin 𝜃, 𝑥 sin 𝜃 + 𝑦 cos 𝜃), (𝑥, 𝑦) ∈ IR2.

a) Aratati ca 𝑅𝜃 este o aplicatie liniara si aflati matricea asociata acestuioperator.b) Determinati nucleul si imaginea sa.c) Aratati ca 𝑅𝜃 este un automorfism al spatiului vectorial IR2.

10

Page 11: Algebra si Geometri pentru Computer Science · relativ la o baza B, relatia de mai sus face legatura cu prototipul studiat in introducere ( ) = , generalizat aici sub forma: coordonatele

Solutie: a) se arata ca

𝑅𝜃(𝛼𝑢 + 𝛽𝑣) = 𝛼𝑅𝜃(𝑢) + 𝛽𝑅𝜃(𝑣)

unde 𝑢 = (𝑥, 𝑦) si 𝑣 = (𝑥′, 𝑦′)b) se subintelege ca e vorba de matricea asociata relativ la bazele canonice

[𝑅𝜃]𝐵𝑐𝐵𝑐deci avem nevoie de

𝑅𝜃(1, 0) = (cos 𝜃, sin 𝜃) = cos 𝜃 · (1, 0) + sin 𝜃 · (0, 1)

𝑅𝜃(0, 1) = (− sin 𝜃, cos 𝜃) = − sin 𝜃 · (1, 0) + cos 𝜃 · (0, 1)

deci

[𝑅𝜃]𝐵𝑐𝐵𝑐=

⎛⎝cos 𝜃 − sin 𝜃

sin 𝜃 cos 𝜃

⎞⎠Determinam acum nucleul 𝐾𝑒𝑟 𝑅𝜃 si imaginea 𝐼𝑚 𝑅𝜃 acestei aplicatii liniare:

𝐾𝑒𝑟 𝑅𝜃 := {(𝑥, 𝑦) ∈ IR2 : 𝑅𝜃(𝑥, 𝑦) = (0, 0)}

se rezolva sistemul rezultat:{𝑥 cos 𝜃 − 𝑦 sin 𝜃 = 0

𝑥 sin 𝜃 + 𝑦 cos 𝜃 = 0

si se obtine𝐾𝑒𝑟 𝑅𝜃 = {(0, 0)}

deci 𝑅𝜃 este injectiva

𝐼𝑚 𝑅𝜃 = {(𝑎, 𝑏) ∈ IR2 : exista (𝑥, 𝑦) ∈ IR2 astfel incat 𝑅𝜃(𝑥, 𝑦) = (𝑎, 𝑏)}

Prin urmare a determina imaginea operatorului 𝑅𝜃 este echivalent cu a studiapentru ce valori 𝑎, 𝑏 sistemul:{

𝑥 cos 𝜃 − 𝑦 sin 𝜃 = 𝑎

𝑥 sin 𝜃 + 𝑦 cos 𝜃 = 𝑏

este compatibil.Se utilizeaza teorema Kronecker-Capelli pentru ca demonstra ca pentru orice

𝑎, 𝑏 ∈ IR sistemul este compatibil caci:

𝑟𝑎𝑛𝑔𝐴 = 𝑟𝑎𝑛𝑔𝐴 = 2,

indiferent de valorile lui 𝑎 si 𝑏 !!Deci 𝐼𝑚 𝑅𝜃 = IR2 si in consecinta 𝑅𝜃 este surjectivac) conform subpunctelor a) si b) 𝑅𝜃 este liniara si bijectiva deci izomorfism

intre spatiile 𝑉1 = 𝑉2 = IR2, asadar este automorfism !

11

Page 12: Algebra si Geometri pentru Computer Science · relativ la o baza B, relatia de mai sus face legatura cu prototipul studiat in introducere ( ) = , generalizat aici sub forma: coordonatele

Rezultatul era cel asteptat, intrucat 𝑅𝜃 este o rotatie in R2 si rotind toatepunctele din ”planul”R2 este evident ca obtinem tot aceasta multime, faranicio modificare.

Remarca:

Problema 3. Sa se determine expresia analitica a aplicatiilor liniaredefinite prin:a) 𝑇 : IR3 → 𝑀3,1(IR) pentru care:

𝑇 (1, 1, 1) =

⎛⎜⎜⎜⎝0

1

1

⎞⎟⎟⎟⎠ , 𝑇 (1, 1,−1) =

⎛⎜⎜⎜⎝1

0

1

⎞⎟⎟⎟⎠ , 𝑇 (1,−1, 1) =

⎛⎜⎜⎜⎝1

1

0

⎞⎟⎟⎟⎠ ,

b) Determinati apoi nucleul si imaginea aplicatiei liniare de mai sus.c) Determinati matricea operatorului 𝑇 relativ la bazele canonice din celedoua spatii mentionate.d) Determinati matricea operatorului 𝑇 relativ la perechea de baze𝐵 = {(1, 1, 0), (1, 1, 1), (1, 0, 0)} si baza canonica din 𝑀3,1(IR)

Solutie: a) O aplicatie liniara este unic determinata de modul in care ac-tioneaza pe vectorii unei baze !

Deoarece 𝑇 este liniara avem :

𝑇 (𝑥, 𝑦, 𝑧) = 𝑇 (𝑥 · 𝑒1 + 𝑦 · 𝑒2 + 𝑧 · 𝑒3) = 𝑥𝑇 (𝑒1) + 𝑦𝑇 (𝑒2) + 𝑧𝑇 (𝑒3)

astfel a determina expresia analitica a lui 𝑇 (legea de asociere) este echivalentcu a afla valorile vectorilor 𝑇 (𝑒1), 𝑇 (𝑒2), 𝑇 (𝑒3), unde 𝑒1 = (1, 0, 0), etc.

Strangem informatii despre acesti vectori prin rescrierea relatiile din enuntsub forma:

𝑇 (1, 1, 1) = 𝑇 (𝑒1 + 𝑒2 + 𝑒3) = 𝑇 (𝑒1) + 𝑇 (𝑒2) + 𝑇 (𝑒3) =

⎛⎜⎜⎜⎝0

1

1

⎞⎟⎟⎟⎠

𝑇 (1, 1,−1) = 𝑇 (𝑒1 + 𝑒2 − 𝑒3) = 𝑇 (𝑒1) + 𝑇 (𝑒2) − 𝑇 (𝑒3) =

⎛⎜⎜⎜⎝1

0

1

⎞⎟⎟⎟⎠

𝑇 (1,−1, 1) = 𝑇 (𝑒1 − 𝑒2 + 𝑒3) = 𝑇 (𝑒1) − 𝑇 (𝑒2) + 𝑇 (𝑒3) =

⎛⎜⎜⎜⎝1

1

0

⎞⎟⎟⎟⎠Se rezolva sistemul cu necunoscutele 𝑇 (𝑒1), 𝑇 (𝑒2), 𝑇 (𝑒3) (de ex. se aduna

toate ecuatiile si se obtine 𝑇 (𝑒1)) si astfel aflam expresia analitica a lui 𝑇 :

12

Page 13: Algebra si Geometri pentru Computer Science · relativ la o baza B, relatia de mai sus face legatura cu prototipul studiat in introducere ( ) = , generalizat aici sub forma: coordonatele

𝑇 (𝑥, 𝑦, 𝑧) =

⎛⎜⎜⎜⎝𝑥− 𝑦

2 − 𝑧2

𝑥2 + 𝑧

2

𝑥2 + 𝑦

2

⎞⎟⎟⎟⎠b) pentru operatorul 𝑇

𝐾𝑒𝑟𝑇 =

⎧⎪⎪⎪⎨⎪⎪⎪⎩(𝑥, 𝑦, 𝑧) ∈ IR3 : 𝑇 (𝑥, 𝑦, 𝑧) =

⎛⎜⎜⎜⎝0

0

0

⎞⎟⎟⎟⎠⎫⎪⎪⎪⎬⎪⎪⎪⎭

si se rezolva sistemul rezultatfolosind din nou definitia avem:

𝐼𝑚𝑇 =

⎧⎪⎪⎪⎨⎪⎪⎪⎩⎛⎜⎜⎜⎝𝑎

𝑏

𝑐

⎞⎟⎟⎟⎠ : exista(𝑥, 𝑦, 𝑧) ∈ IR3 astfel incat 𝑇 (𝑥, 𝑦, 𝑧) =

⎛⎜⎜⎜⎝𝑎

𝑏

𝑐

⎞⎟⎟⎟⎠⎫⎪⎪⎪⎬⎪⎪⎪⎭

si din nou trebuie sa discutam pentru ce valori ale lui 𝑎, 𝑏, 𝑐 sistemul:⎧⎪⎨⎪⎩𝑥− 𝑦

2 − 𝑧2 = 𝑎

𝑥2 + 𝑧

2 = 𝑏𝑥2 + 𝑦

2 = 𝑏

este compatibil.Avem:

𝐴 =

⎛⎜⎜⎜⎝1 − 1

2 − 12

12 0 1

2

12

12 0

⎞⎟⎟⎟⎠si :

𝐴 =

⎛⎜⎜⎜⎝1 − 1

2 − 12 𝑎

12 0 1

2 𝑏

12

12 0 𝑐

⎞⎟⎟⎟⎠Evident 𝑟𝑎𝑛𝑔𝐴 = 3 iar pentru ca 𝑟𝑎𝑛𝑔𝐴 sa fie 3 nu trebuie sa impunem

impunem nicio restrictie asupra lui 𝑎, 𝑏, 𝑐 deci 𝐼𝑚𝑇 = IR3

c) baza canonica in ℳ3,1(IR) este:

𝐵′𝑐 =

⎧⎪⎪⎪⎨⎪⎪⎪⎩𝐸1 =

⎛⎜⎜⎜⎝1

0

0

⎞⎟⎟⎟⎠ , 𝐸2 =

⎛⎜⎜⎜⎝0

1

0

⎞⎟⎟⎟⎠ , 𝐸3 =

⎛⎜⎜⎜⎝0

0

1

⎞⎟⎟⎟⎠⎫⎪⎪⎪⎬⎪⎪⎪⎭

13

Page 14: Algebra si Geometri pentru Computer Science · relativ la o baza B, relatia de mai sus face legatura cu prototipul studiat in introducere ( ) = , generalizat aici sub forma: coordonatele

𝑇 (𝑒1) =

⎛⎜⎜⎜⎝1

12

12

⎞⎟⎟⎟⎠ = 1𝐸1 +1

2𝐸2 +

1

2𝐸3

𝑇 (𝑒2) =

⎛⎜⎜⎜⎝− 1

2

0

12

⎞⎟⎟⎟⎠ = −1

2𝐸1 + 0𝐸2 +

1

2𝐸3

𝑇 (𝑒3) =

⎛⎜⎜⎜⎝− 1

2

12

0

⎞⎟⎟⎟⎠ = −1

2𝐸1 +

1

2𝐸2 + 0𝐸3

deci

[𝑇 ]𝐵𝑐𝐵′𝑐

=

⎛⎜⎜⎜⎝1 − 1

2 − 12

12 0 1

2

12

12 0

⎞⎟⎟⎟⎠d) se exprima 𝑇 (1, 1, 0), 𝑇 (1, 1, 1) si 𝑇 (1, 0, 0) in functie de 𝐸1, 𝐸2, 𝐸3

Problema 4. Un elicopter este lo-calizat de catre un turn de controlcu ajutorul a trei senzori 𝑆1, 𝑆2, 𝑆3

aflati pe suprafata sa. Initial, co-ordonatele acestor senzori in raportcu turnul de control erau 𝑆1(1, 1, 0),

𝑆2(1, 0, 1) si 𝑆3(1, 1, 1) dar apoi pilotul roteste elicopterul cu un unghinecunoscut astfel incat noile coordonate devin 𝑆1(−1, 1, 0), 𝑆2(0, 1, 1) si𝑆3(−1, 1, 1).

i) Daca un punct oarecare de pe suprafata elicopterului era initial lo-calizat la 𝑃 (𝑥, 𝑦, 𝑧) aflati noile sale coordonate.

ii) Aflati matricea care da regula de schimbare a coordonatelorpunctelor de pe suprafata elicopterului, dupa manevra pilotului.(Rotatia de unghi 𝜃 este un operator liniar).

Solutie: Notam cu 𝑅 rotatia de unghi 𝛼, problema e ca nu putem utilizaformula operatorului liniar care roteste punctele in 𝑅3 deoarece nu cunoastemunghiul si nici axa dupa care se face rotatia. Vom trata pe 𝑅 ca pe o aplicatieliniara oarecare.

Ce se cere ? Stim ca 𝑃 avea coordonatele (𝑥, 𝑦, 𝑧) si vrem sa aflam coordo-natele sale dupa manevra pilotului: adica 𝑅(𝑥, 𝑦, 𝑧) =?

14

Page 15: Algebra si Geometri pentru Computer Science · relativ la o baza B, relatia de mai sus face legatura cu prototipul studiat in introducere ( ) = , generalizat aici sub forma: coordonatele

Prin urmare singurele informatii detinute sunt:

𝑅(1, 1, 0) = (−1, 1, 0), 𝑅(1, 0, 1) = (0, 1, 1), si 𝑅(1, 1, 1) = (−1, 1, 1)

Vom utiliza aceste date pentru a identifica operatorul liniar 𝑅.Traducerea matematica: ” Aflati expresia analitica a aplicatiei liniare 𝑅

care satisface relatiile...” problema analoaga cu problema anterioara

Probleme propuse

Problema 1. Sa se arate ca urmatoarele functii sunt aplicatii liniare si sa sedetermine matricea fiecaruia relativ la bazele date:

i) 𝑇 : R3 → R3, 𝑇 (𝑥, 𝑦, 𝑧) = (𝑥, 𝑥+𝑦, 𝑥+2𝑦) si 𝐵1 = {(1, 0, 0), (0, 1, 0), (0, 0, 1)}

ii) 𝑇 : R1[𝑋] → R2, 𝑇 (𝑎𝑋 + 𝑏) = (𝑎, 𝑎 + 𝑏) si:

𝐵1 = {𝑋,𝑋 + 1}, 𝐵2 = {(1, 1), (1, 2)}

iii) 𝑇 : R3 → R2, 𝑇 (𝑥1, 𝑥2, 𝑥3) = (𝑥1 + 2𝑥2, 𝑥2 − 𝑥3) si:

𝐵1 = {(1, 0, 0), (0, 1, 0), (0, 0, 1)}, 𝐵2 = {(1, 0), (0, 1)}

iv) 𝑇 : R1[𝑋] → R2[𝑋], 𝑇 (𝑎𝑋 + 𝑏) = 𝑎𝑋2 + (𝑎 + 2𝑏)𝑋 + 𝑎− 𝑏 si:

𝐵1 = {𝑋, 1}, 𝐵2 = {𝑋2, 𝑋2 + 𝑋 + 1, 𝑋2 + 𝑋}

Problema 2. Aflati nucleul si imaginea pentru fiecare dintre aplicatiile liniaredin problema anterioara.

Problema 3. Aflati aplicatia liniara 𝑇 : R2[𝑋] :→ R1[𝑋] despre care stim ca:

𝑇 (𝑋 + 2) = 𝑋 + 1, 𝑇 (−𝑋2 + 3) = 2𝑋 + 3, 𝑇 (2𝑋 + 5) = −𝑋 + 1.

Problema 4. Orice pixel de pe ecranul unui computer va fi modelat matematicca 𝑃 (𝑥, 𝑦, 𝑧), unde coordonatele 𝑥, 𝑦, 𝑧 reprezinta nivelul de rosu, verde si albas-tru din codul RGB al culorii sale. De exemplu un pixel negru va fi 𝑃 (0, 0, 0) iarunul rosu va fi 𝑃 (255, 0, 0). Realizam un program care modifica imagini duparegula:

𝑃 (𝑥, 𝑦, 𝑧) 𝑄

(𝑥

6+

𝑦

3+

𝑧

2,𝑥

2+

𝑦

6+

𝑧

3,𝑥

3+

𝑦

2+

𝑧

6

)Alegem o imagine care sa contina toate culorile posibile si o modificam folosindprogramul anterior. Ce culoare au pixelii care devin negri dupa modificareaimaginii ? Exista pixeli rosii in imaginea modificata ? Este adevarat ca siimaginea modificata contine toate culorile posibile ?

15

Page 16: Algebra si Geometri pentru Computer Science · relativ la o baza B, relatia de mai sus face legatura cu prototipul studiat in introducere ( ) = , generalizat aici sub forma: coordonatele

Problema 5. Sa se determine 𝑎 ∈ R astfel incat functia 𝑇 : R3 → R3:

𝑇 (𝑥, 𝑦, 𝑧) = (𝑥 + 𝑦 + 3𝑧, 𝑥 + 𝑦 + 𝑎, 𝑥 + 𝑧 + 𝑎)

sa fie o aplicatie liniara.

Problema 6. Aflati aplicatia liniara 𝑇 : R2 → R2 care realizeaza urmatoareatransformare:

Aflati o functie 𝑆 : R2 → R2 care realizeaza transformarea:

Indicatie: Divide et impera !

16

Page 17: Algebra si Geometri pentru Computer Science · relativ la o baza B, relatia de mai sus face legatura cu prototipul studiat in introducere ( ) = , generalizat aici sub forma: coordonatele

Problema 7. Determinati expresia analitica a aplicatiei liniare 𝑇 : R1[𝑋] →R1[𝑋] stiind ca in baza 𝐵 are matricea 𝐴:

i) 𝐵 = {1, 𝑋} si 𝐴 =

⎛⎝1 2

3 4

⎞⎠

ii) 𝐵 = {𝑋 − 1, 2𝑋 + 2} si 𝐴 =

⎛⎝1 2

0 −1

⎞⎠Problema 8. i) Aratati ca spatiul vectorial 𝑀2×2(R) este izomorfic cu R4.

ii) Este aplicatia 𝑇 : ℳ2×2(R) → R, definita prin 𝑇 (𝐴) = 𝑑𝑒𝑡(𝐴) o aplicatieliniara ?

Problema 9. Aratati ca daca matricea atasata, relativ la baza canonica, unuioperator liniar 𝑇 : R3 → R3 este ortogonala atunci 𝑇 conserva unghiurile dintrevectori si distantele dintre punctele spatiului.

Aratati ca daca ‖𝑇 (𝑢)‖ = ‖𝑢‖, pentru orice 𝑢 ∈ R3 atunci [𝑇 ]𝐵𝑐 este orto-gonala.

Indicatie: ⟨𝑢, 𝑣⟩ = 𝑢 · 𝑣𝑡 daca 𝑢 = (𝑎, 𝑏, 𝑐), 𝑣 = (𝑎′, 𝑏′, 𝑐′) ∈ R3

Problema 10. Care dintre aplicatiile 𝑇 : 𝐶(R) → 𝐶(R) de mai jos sunt liniare?

i) 𝑇 (𝑓))(𝑥) = 1 + 𝑓(𝑥), ∀ 𝑥 ∈ R

ii) 𝑇 (𝑓)(𝑥) = 𝑓(𝑥 + 1), ∀ 𝑥 ∈ R

unde 𝑓 ∈ 𝐶(R) este o functie continua oarecare.

Problema 11. Sa se determine 𝐾𝑒𝑟𝑇 si 𝐼𝑚𝑇 si cate o baza in fiecare dinaceste subspatii pentru aplicatiile liniare:

i) 𝑇 : ℳ3,1(R) → 𝑀2,1(R)

𝑇

⎛⎜⎜⎜⎝𝑎

𝑏

𝑐

⎞⎟⎟⎟⎠ =

⎛⎝𝑎 + 2𝑏

𝑏− 𝑐

⎞⎠ , 𝑎, 𝑏, 𝑐 ∈ R

ii) 𝑇 : ℳ2,1(R) → R3

𝑇

⎛⎝𝑎

𝑏

⎞⎠ = (𝑎− 𝑏, 2𝑎 + 3𝑏,−4𝑏)

iii) 𝑇 : R3 → R2

𝑇 (𝑥1, 𝑥2, 𝑥3) = (𝑥1 + 𝑥2 + 3𝑥3,−2𝑥1 + 𝑥3)

17