Z43: Algebra liniowa Zagadnienie: przekształcenie liniowe, macierze, wyznaczniki Zadanie: przekształcenie liniowe, jądro i obraz, interpretacja geometryczna. Przestrzeń liniowa Już w starożytności człowiek próbował opisać przestrzeń, w której żyjemy oraz poznać jej własności. Matematyzacja pojęcia przestrzeni fizycznej nie jest zagadnieniem prostym i jednoznacznym. Punktem wyjścia do poznania różnorodnych przestrzeni fizycznych jest pojęcie przestrzeni liniowej, zwanej również przestrzenią wektorową. Ruch punktów w przestrzeni wyznaczony jest przez funkcje opisujące ich przemieszczenie. Tego typu funkcje nazywamy przekształceniami przestrzeni. Ze względu na prawa zachowania ważną rolę odgrywają przekształcenia liniowe i dlatego ich opisowi należy poświęcić należną uwagę. Zbiór X z wyróżnionym elementem 0 nazywamy przestrzenia liniową (albo wektorową) nad zbiorem liczb rzeczywistych R lub zespolonych C oznaczanym dalej przez K, jeżeli określone zostały działania dodawania elementów zbioru X oraz działanie mnożenia elementów zbioru X przez elementy z K spełniające następujące warunki: (L) x + y = y + x, (L2) (x + y) + z = x + (y + z), (L3) 0 + x = x, (L4) dla każdego x istnieje y takie, że x + y = 0, (L5) α(βx) = (αβ)x, (L6) α(x + y) = αx + αy, (L7) (α + β)x = αx + βx, (L8) x = x, gdzie x, y, z X i α, β K. Elementy przestrzeni X nazywamy wektorami, a element 0 nazywamy wektorem zerowym. Elementy zbioru K nazywamy skalarami. Z warunków (L) (L4) wynika natychmiast, że dla każdego x X istnieje dokładnie jeden element przeciwny x, tj. spełniający warunek x + ( x) = 0. Wektory x,..., x k nazywamy liniowo niezależnymi, jeżeli z warunku α x +... + α k x k = 0 dla pewnych skalarów α,..., α k wynika, że α = α 2 =... = α k = 0. W przeciwnym przypadku, a więc, gdy wcześniejsze równanie ma inne rozwiązania
niż α = α 2 =... = α k = 0, wektory x,..., x k nazywamy liniowo zależnymi. Sumę k i= α i x i nazywamy kombinacją liniową wektorów x,..., x k. Zbiór wektorów V X nazywamy liniowo niezależnym, jeżeli wektory należące do dowolnego skończonego podzbioru V są liniowo niezależne. Zbiór wektorów V rozpina przestrzeń X, jeżeli dowolny wektor x X jest kombinacją liniową pewnych wektorów ze zbioru V. Jeżeli zbiór wektorów V jest liniowo niezależny i rozpina przestrzeń X, to mówimy, że zbiór V jest bazą przestrzeni X. W szczególności, wektory x,..., x k są bazą w przestrzeni X, wtedy i tylko wtedy, gdy dla każdego wektora x X istnieje dokładnie jeden ciąg skalarów α,..., α k taki, że x = α x +... + α k x k. Każda przestrzeń liniowa ma bazę i ilość wektorów w bazie nie zależy od jej wyboru. Jeżeli baza przestrzeni X składa się z k-wektorów, to k nazywamy wymiarem przestrzeni X i piszemy dim X = k (czytamy wymiar X jest równy k ). Mówimy wtedy, że X jest przestrzenią k-wymiarową. Wymiar przestrzeni X oznaczamy przez dim X. Podzbiór X 0 przestrzeni liniowej X nazywamy podprzestrzenią liniową, jeżeli jest zamknięty ze względu na działania w przestrzeni X, tj. x+y X 0 i αx X 0 dla dowolnych x, y X 0 oraz α K. 2 Przykłady przestrzeni liniowych. Przestrzeń R n nad zbiorem R z działaniami (x,..., x n ) + (y,..., y n ) = (x + y,..., x n + y n ), α(x,..., x n ) = (αx,..., αx n ) i wektorem zerowym 0 = (0,..., 0) jest przestrzenią liniową. Na przykład płaszczyznę można utożsamiać z przestrzenią R 2, zaś to co w języku potocznym nazywamy przestrzenią można utożsamić z R 3. Para wektorów e = (, 0) i e 2 = (0, ) w R 2 jest liniowo niezależna. Dowolny wektor x = (x, x 2 ) można przedstawić w postaci x = x e + x 2 e 2, 2
a więc zbiór {e, e 2 } jest bazą. Ogólnie, zbiór wektorów postaci e = (, 0,..., 0), e 2 = (0,,..., 0),..., e n = (0, 0,..., ) jest bazą w przestrzeni R n. Taką bazę nazywamy bazą kanoniczną w R n. Nie każda para wektorów w przestrzeni R 2 jest bazą. Na przykład wektory (, 0) i (2, 0) są liniowo zależne i nie tworzą bazy. 2. Przestrzeń C n nad zbiorem C lub nad zbiorem R z wprowadzonymi poprzednio działaniami dodawania i mnożenia przez skalar i wektorem zerowym 0 = (0,..., 0) jest przestrzenią liniową. W przypadku, gdy przestrzeń C n jest określona nad zbiorem C, to podobnie jak poprzednio zbiór {e, e 2,..., e n } jest bazą w tej przestrzeni, a więc jest to przestrzeń n-wymiarowa. Jeżeli przestrzeń C n jest określona nad zbiorem R, to zbiór {e, e 2,..., e n, ie, ie 2,..., ie n } jest bazą w tej przestrzeni, a więc jest to przestrzeń 2n-wymiarowa. 3. Niech E będzie dowolnym zbiorem i niech X będzie przestrzenią funkcji z E w R. Wtedy przestrzeń X z działaniami dodawania funkcji i mnożenia funkcji przez liczbę rzeczywistą oraz z funkcją f 0 jako elementem zerowym jest przestrzenią liniową. Zauważmy, że jeżeli E = {, 2,..., n}, to X = R n, bo funkcję f: E R możemy utożsamić z ciągiem (f(), f(2),..., f(n)). Podobnie, jeżeli E jest zbiorem liczb naturalnych, to przestrzeń X jest przestrzenią ciągów nieskończonych. W przyszłości poznamy inne przestrzenie funkcji tworzące przestrzenie liniowe. Poza przypadkiem, gdy E jest zbiorem skończonym, nie można efektywnie wypisać bazy w przestrzeni X. 3 Przekształcenie liniowe Niech X będzie przestrzenią liniową nad zbiorem K i niech Y będzie przestrzenią liniową nad zbiorem K. Odwzorowanie S: X Y nazywamy odwzorowaniem liniowym, jeżeli S(αx + βy) = αs(x) + βs(y) dla dowolnych x, y X i α, β K. Jeżeli S jest odwzorowaniem liniowym, to często piszemy Sx zamiast S(x). 3
Przekształcenie liniowe można wyznaczyć wiedząc jak działa na wektorach z dowolnej bazy. Ograniczymy się do odwzorowania liniowego S: R n R m. Niech v,..., v n będzie bazą w przestrzeni R n i niech w,..., w m będzie bazą w przestrzeni R m. Dla dowolnego i n wektor Sv i jest elementem przestrzeni R m, a więc istnieje ciąg liczb rzeczywistych a i, a 2i,..., a mi taki, że Sv i = a i w + a 2i w 2 +... + a mi w m. Niech teraz x będzie dowolnym wektorem z R n. Wtedy istnieją stałe x,..., x n, zwane współrzędnymi wektora x w bazie v,..., v n takie, że x = x v +... + x n v n. Z definicji odwzorowania liniowego otrzymujemy Sx = S(x v +... + x n v n ), a stąd Sx = x Sv +... + x n Sv n, a więc wyznaczyliśmy wektor Sx znając wartości odwzorowania S na wektorach bazowych. Korzystając z ostatniego wzoru oraz z przedstawienia wektorów Sv i w bazie w,..., w m możemy również wyznaczyć przedstawienie wektora Sx w bazie w,..., w m : ( m ) ( m Sx = x a i w i +... + x n a in w i ). i= i= Zmieniając kolejność sumowania otrzymujemy n m m ( n Sx = a ij x j w i = a ij x j )w i. j= i= i= j= 4 Przykłady przekształceń liniowych Graficzną reprezentaję działania przekształcenia można w Sage otrzymać transformując krzywą daną parametrycznie i rysując obie krzywe za pomocą parametric_plot. Na przykład weźmy okrąg jednostkowy: 4
var( t ) x=( cos(t), sin(t) ) wykonując przekształcenie następującym poleceniem: y=(x[0]+x[],x[]+) otrzymujemy wektor y(t) dany przez: (sin (t) + cos (t), sin (t) + ). Wektory x(t) oraz y(t) można narysować używająć parametric_plot( x,(t,0,2*pi))+\ parametric_plot( y,(t,0,2*pi)) W dalszej części przykładów zostanie użyta funkcja: def show_transform(t,**reszta): var( t ) Identycznosc=lambda w:w k=vector((cos(t),sin(t)++0.)) k2=vector((.2*cos(t)+.4,.2*sin(t)+.4)) k3=vector((.2*cos(t)-.4,.2*sin(t)+.4) ) k4=vector((.5*cos(t),.2*sin(t)+.5) ) ks=[k,k2,k3,k4] colors=[ gray, red, blue, green ] pltlist=[] for T in [Identycznosc,T]: ks_transformed = map(t,ks) p=[ \ parametric_plot(k,(t,0,2*pi),\ figsize=3,fill=true,\ fillcolor=colors[i%len(colors)],\ color=colors[i%len(colors)],**reszta) \ for i,k in enumerate(ks_transformed)] pltlist.append(sum(p)) return pltlist 5
2.5 2.5 - - 0 - - 0 Rysunek : Przekształcenie liniowe: symetria osiową względem prostej x = 0. 4. Symetria osiowa Rozważmy odwzorowanie liniowe : S: R 2 R 2 określone na wektorach bazowych e, e 2 wzorami S(, 0) = (, 0), S(0, ) = (0, ). Wtedy S jest symetrią osiową względem prostej x = 0. Tlin=lambda (x,y):vector((-x,y)) pltlist=show_transform(tlin) 4.2 Symetria względem punktu (0, 0) Rozważmy odwzorowanie liniowe : S: R 2 R 2 określone wzorami S(, 0) = (, 0), S(0, ) = (0, ). Wtedy S jest symetrią względem punktu (0, 0). Tlin=lambda (x,y):vector((-x,-y)) pltlist=show_transform(tlin) 6
2 - - 0.5 - - 0 - - -.5-2 Rysunek 2: Symetria względem punktu (0, 0). 4.3 Obrót Niech α będzie ustalonym kątem. Wtedy odwzorowanie liniowe : S: R 2 R 2 określone wzorami S(, 0) = (cos α, sin α), S(0, ) = ( sin α, cos α) jest obrotem względem początku układu współrzędnych o kąt α przeciwnie do ruchu wskazówek zegara. phi=pi/5 Tlin=lambda (x,y):vector((cos(phi)*x+sin(phi)*y,\ -sin(phi)*x+cos(phi)*y )) pltlist=show_transform(tlin) 7
2.5.5 - - 0.5 Rysunek 3: Obrót o π/5. 4.4 Jednokładność Ustalmy k > 0. Wtedy odwzorowanie liniowe : S: R n R n określone wzorem Sx = kx jest jednokładnością w skali k względem początku układu współrzędnych. k= Tlin=lambda (x,y):vector((k*x,k*y)) pltlist=show_transform(tlin) pltlist[0].axes_range(-,,0,2.2) pltlist[].axes_range(-,,0,2.2) 8
2.5 2.5 - - - - Rysunek 4: Jednokładność dla k =. 4.5 Rzut Niech S: R 3 R 2 będzie odwzorowaniem danym wzorem S(x, x 2, x 3 ) = (x, x 2 ). Wtedy S jest rzutem prostopadłym z R 3 na R 2. Pokażmy to graficznie dla S: R 2 R Tlin=lambda (x,y):vector((x,0)) pltlist=show_transform(tlin,thickness=5) pltlist[0].axes_range(-.,.,0,2.2) pltlist[].axes_range(-.,.,0,2.2) 9
2.5 2.5 - - - - Rysunek 5: Rzut równoległy na oś x. 4.6 Przekształcenie nieliniowe Przekształcenie nieliniowe S: R 2 R 2 może zawierać dowolne funkcje wpólrzędnych punktów. Zobaczmy jak będzie wyglądać figura wyjściowa po działaniu przekształcenia S(x, x 2 ) = (x, sin(2x 2 )). W Sage funkcja defniujące wygląda następująco: Tnonlin=lambda (x,y):vector((x,sin(y*2))) pltlist=show_transform(tnonlin) Na rysunku 6 widzimy podstawowe różnice w działaniu powyższego przekształcenia a poprzednimi liniowymi: obrazy trzech nieprzecinających się okręgów mogą się przecinać a rozciąganie i przesuwanie figur zachodzi w niejednorodny sposób. 0
2.5 - - - - - 0 Rysunek 6: Przekształcenie nieliniowe S(x, x 2 ) = (x, sin(2x 2 )). 4.7 Iloczyn skalarny w R n Niech (a,..., a n ) będzie ustalonym wektorem w przestrzeni R n. Odwzorowanie S: R n R określone wzorem Sx = a x + a 2 x 2 +... + a n x n jest odwzorowaniem liniowym, zaś sumę a x + a 2 x 2 +... + a n x n nazywamy iloczynem skalarnym wektorów a i x. Iloczyn skalarny wektorów a, x oznaczamy a, x lub a x. W Sage możemy pokazać, że definiując: var( y y2 c x x2 a a2 ) x=vector([x,x2]) y=vector([y,y2]) a=vector([a,a2]) wlasnosci=[(x+y).dot_product(a)==x.dot_product(a)+y.dot_product(a)\, (c*x).dot_product(a)==c*x.dot_product(a)] zachodzą następujące własności: - (x 2 + y 2 )a 2 + (x + y )a = a x + a y + a 2 x 2 + a 2 y 2 ma wartość logiczną: bool(wlasnosci[0])= True
- a cx +a 2 cx 2 = (a x + a 2 x 2 )c ma wartość logiczną: bool(wlasnosci[])= True 4.8 Iloczyn skalarny w C n Niech (a,..., a n ) będzie ustalonym wektorem w przestrzeni C n. Określmy odwzorowanie S: C n C wzorem Sz = z ā + z 2 ā 2 +... + z n ā n, gdzie ā i jest liczbą sprzężoną do a i. Odwzorowanie S jest liniowe. Sumę z, a = z ā + z 2 ā 2 +... + z n ā n nazywamy iloczynem skalarnym wektorów z i a. Jeżeli zamiast odwzorowania S rozważymy odwzorowanie T z = a z + a 2 z 2 +... + a n z n, to T (z + z ) = T z + T z oraz T (αz) = ᾱ T z. Odwzorowanie spełniające powyższe dwa warunki nazywamy antyliniowym. 4.9 Przestrzenie funkcji Niech X będzie przestrzenią funkcji z E w R i niech ϕ będzie dowolną funkcją z E w E. Wtedy odwzorowanie S: X X określone wzorem Sf(x) = f(ϕ(x)) jest odwzorowaniem liniowym. 5 Jądro i obraz przekształcenia Niech S: X Y będzie przekształceniem liniowym. Wtedy zbiór Ker S = {x X: S(x) = 0} nazywamy jądrem odwzorowania S, a zbiór Im S = {S(x): x X} nazywamy obrazem odwzorowania S. Jądro i obraz przekształcenia liniowego są podprzestrzeniami liniowymi, odpowiednio, przestrzeni X i Y. 2
Jeżeli Ker S = {0}, to odwzorowanie S jest różnowartościowe, a więc z warunku S(x) = S(y) wynika, że x = y. Wymiar jądra i obrazu odwzorowania S spełniają warunek dim Ker S + dim Im S = n. 3