Wykład 1-7

Transkrypt

Wykład 1-7
Algebra liniowa dla informatyków
Jacek Tabor
25 listopada 2016
Spis treści
0 Wstęp
0.1 Zasady zaliczenia przedmiotu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
0.2 Historia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
0.3 Zastosowania . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1 Równania różnicowe, liczby zespolone, wielomiany, pochodna
1.1 Ciąg Fibonacciego . . . . . . . . . . . . . . . . . . . . . . . . .
1.2 Liczby zespolone: ∆ < 0 . . . . . . . . . . . . . . . . . . . . . .
1.3 Układ kartezjański i biegunowy na płaszczyźnie . . . . . . . . .
1.4 Wielomiany . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.5 Krótkie informacje o pochodnej . . . . . . . . . . . . . . . . . .
1.6 A co z ∆ = 0? . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.7 Zadania . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
2
2
2
2
.
.
.
.
.
.
.
4
4
6
7
10
12
14
14
2 Podstawy równań liniowych i macierzy
2.1 Motywacja: Google Pagerank, geometria . . .
2.2 Metoda eliminacji Gaussa: tablice (macierze) .
2.3 Przykłady . . . . . . . . . . . . . . . . . . . .
2.4 Mnożenie wektora przez macierz, interpretacja
2.5 Mnożenie i potęgowanie macierzy . . . . . . .
2.6 Macierz odwrotna . . . . . . . . . . . . . . . .
2.7 Zadania . . . . . . . . . . . . . . . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
geometryczna
. . . . . . . .
. . . . . . . .
. . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
19
19
21
23
25
30
32
34
3 Wyznacznik macierzy
3.1 Definicja wyznacznika . . . . . . . .
3.2 Wyznacznik w R3 . . . . . . . . . . .
3.3 Wyznacznik w RN : metoda eliminacji
3.4 Wyznacznik w RN : permutacje . . .
3.5 Własności wyznaczników . . . . . . .
3.6 Rozwinięcie Laplace’a . . . . . . . . .
3.7 Wzory Cramera . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
36
36
38
40
40
42
43
47
. . . . .
. . . . .
Gaussa
. . . . .
. . . . .
. . . . .
. . . . .
1
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Rozdział 0
Wstęp
0.1
Zasady zaliczenia przedmiotu
Egzamin pisemny będzie zawierał zadania zarówno z ćwiczeń, jak i z wykładu.
Ocena końcowa z przedmiotu Algebra Liniowa, będzie średnią z (średniej z ćwiczeń) i (oceny z egzaminu).
0.2
Historia
MUHAMMED IBN MUSA ALCHWARIZMI: „Hisab al-djabr wal-mukabala” (około 830 n.e.)
Algebra: „al-djabr” (początkowo termin lekarski pochodzący od nastawiania kości): odtwarzanie, polegała
na likwidowaniu w równaniu wyrazów ujemnych przez dodawanie do obu stron równania wyrazów przeciwnych
do danych ujemnych. Od zniekształconej formy nazwiska Alchwarizmi powstało słowo algorytm.
• powstanie matematyki: Grecja, aksjomat, pojęcie dowodu
• „Oświecenie Islamu” ok. IX-XII wiek, powstanie algebry, Alchwarizmi (rozwiązywanie równań kwadratowych)
• XVI wiek: włochy, „rozwiązywanie” wielomianów (Niccolò Fontana Tartaglia, Lodovico Ferrari, Gerolamo Cardano, Vieta)
• wyznaczniki: Leibniz 1693
• reguła Cramera rozwiazywania równań liniowych: 1750
• następnie Gauss: metoda eliminacji Gaussa (zapis, znanan była wcześniej) i metoda najmniejszych
kwadratów (bardzo ważne w zastosowaniach!)
0.3
Zastosowania
Spośród działów matematyki, chyba najwieksze są zastosowania algebry liniowej:
• przetwarzanie obrazu: filtry (Gaussowski)
• kompresja obrazu: jpg
• przetwarzanie dźwięku: transformata Fouriera
• kompresja dźwięku: mp3
2
• geometria: czcionki i krzywe (funkcje gięte), gry (obroty)
• interpolacja i ekstrapolacja
• algorytm google pagerank
• sztuczna inteligencja i nauczanie maszynowe (SVM, ...)
• analiza danych
Koniec Wykładu 0
3
Rozdział 1
Równania różnicowe, liczby zespolone,
wielomiany, pochodna
Streszczenie. W rozdziale tym przedstawimy podstawowe pojęcia z matematyki,
które będą przydatne w dalszej pracy w szczególności okażemy, że znajomość liczb
zespolonych, wielomianów i pochodnej jest przydatne w rozwiązywaniu rekurencyjnych równań liniowych.
1.1
Ciąg Fibonacciego
Chciałbym Państwu przedstawić czym zajmuje się algebra liniowa na podstawie ciągu Fibonacciego. Ciąg
Fibonacciego [1170-1250] (pojawił sie już w matematyce hinduskiej u Pringala 200 p.n.e.):
Jak się rozmnażają króliki: w pewnym miesiącu mamy pewną ilość par młodych i starych królików. W
następnym miesiącu każda para królików rodzi nową, natomiast młoda para staje się starą, a każda stara
umiera.
W miesiącu 1 dostaliśmy jedną starą parę królików. Chcemy prześledzić ile będziemy mieli królików w
kolejnych miesiącach.
miesiąc młode stare w sumie
1
0
1
1
2
1
0
1
3
1
1
2
4
2
1
3
5
3
2
5
6
5
3
8
Zacznijmy od ogólnego wzoru:
(
staren+1 = mloden ,
mloden+1 = staren + mloden .
(1.1)
Nas interesuje ilość królików fibn = mloden + staren . Oczywiście fib1 = 1, fib2 = 1. Wyrugujmy na razie
zmienną staren = fibn − mloden z równania (1.1):
(
fibn+1 − mloden+1 = mloden ,
mloden+1 = fibn .
Czyli
fibn+2 = mloden+2 + staren+2 = mloden+2 + mloden+1 = fibn+1 + fibn .
To równanie nazywa sie obecnie równaniem Fibonacciego (do tego dochodzą warunki początkowe fib1 = fib2 =
1).
4
Dygresja 1.1 (wiki:). Rekurencja, zwana także rekursją (ang. recursion, z łac. recurrere, przybiec z powrotem) – odwoływanie się np. funkcji lub definicji do samej siebie. Dla przykładu definicja ciągu Fibonacciego
jest rekurencyjna:
fib(0) = 0
fib(1) = 1
fib(n) = fib(n − 1) + fib(n − 2) dla n ­ 2
gdyż definiuje funkcję odwołując się w definicji do niej samej.
Każda definicja rekurencyjna potrzebuje przynajmniej jednego przypadku bazowego (nie rekurencyjnego),
w tym przypadku są to wartości dla 0 i 1. W przeciwnym wypadku nigdy się nie zakończy.
Dla przykładu, obliczenie fib(4) wygląda następująco:
fib(4) = fib(3) + fib(2) = (fib(2) + fib(1)) + (fib(1) + fib(0))
= ((fib(1) + fib(0)) + fib(1)) + (fib(1) + fib(0)) = ((1 + 0) + 1) + (1 + 0) = 3.
Rekurencja jest podstawową techniką wykorzystywaną w funkcyjnych językach programowania. Należy jednak zachować ostrożność przy używaniu rekurencji w rzeczywistych programach. Ryzyko istnieje szczególnie
przy przetwarzaniu dużej ilości głęboko zagnieżdżonych danych.
Jeśli program nie jest w rzeczywistości rekurencyjny, to rekurencja może dramatycznie zwiększyć złożoność
obliczeniową. Ponadto, zawsze zwiększa ona zapotrzebowanie programu na pamięć operacyjną.
Inną częstą wadą rekurencji jest kompletnie niezależne rozwiązywanie podproblemów, tak, że czasem jeden
problem jest rozwiązywany w kilku miejscach rozwinięcia rekurencji, np. w powyższym przykładzie obliczania
fib(4) niepotrzebnie jest dwukrotnie obliczana wartość fib(2). Niezaprzeczalną zaletą rekurencji jest przejrzystość programów, które z niej korzystają.
Wygodne przy przeszukiwaniu grafów.
Zadanie 1.1. Ile razy zostanie wywołana funkcja fib przy liczeniu fib(6)?
Metody rozwiązywania: najprostsza – zgadnij wzór i sprawdź. Tu nie za bardzo widać jak to można by
było łatwo zrobić.
Typowe: próba analizy danego zjawiska [asymptotyka: zachowanie dla dużych czasów]: zobaczmy, że ilorazy
kolejnych elementów są „zbieżne” (1/1 = 1.0, 2/1 = 2.0, 3/2 = 1.5, 5/3 = 1.66(6), 8/5 = 1.6, 13/8 = 1.625,
. . . ), wygląda jakby zmierzało ≈ 1.618 (przypomina się złoty podział!!!). To sugeruje, że rozsądnym jest
szukanie rozwiązań w klasie ciągów geometrycznych (przypominam, ciąg geometryczny ma stałe ilorazy
kolejnych wyrazów). Zapomnijmy więc na razie o warunku początkowym i poszukajmy rozwiązań postaci
aq n . Podstawiamy qn = aq n , i dostajemy równanie
aq n+2 = aq n+1 + aq n ,
ponieważ nie interesuje nas zerowe rozwiązanie, zakładamy, że a, q 6= 0, czyli q musi spełnić równanie
q 2 − q − 1 = 0.
W konsekwencji
√
√
1− 5
1+ 5
, q2 =
.
q1 =
2
2
Mamy więc dwa rozwiązania a1 q1n , a2 q2n . Niestety widać, że żadne z nich nie spełnia warunków początkowych
fib0 = 0, fib1 = 1 (bo wtedy byłoby a1 = a1 fib01 = 0 i analogicznie a2 byłoby równe zero). Ratuje nas
następująca obserwacja:
Obserwacja 1.1. Równanie Fibonacciego jest równaniem liniowym, to znaczy, jeżeli (vn ) i (wn ) spełniają to
równanie, to ich kombinacja liniowa (avn + bwn ) też spełnia dla dowolnych a, b ∈ R.
5
Dowód. Niech xn = avn + bwn . Widzimy, że
xn+2 = avn+2 + bwn+2 = a(vn+1 + vn ) + b(wn+1 + wn )
= (avn+1 + bwn+1 ) + (avn + bwy ) = xn+1 + xn .
Skoro tak, to znaczy, że możemy szukać rozwiązania równania Fibonacciego w postaci
fibn = a1 q1n + a2 q2n .
Zobaczymy, czy uda się wyliczyć a1 i a2 . Podstawiamy do warunków początkowych:
fib0 = a1 + a2 = 0,
fib1 = a1 q1 + a2 q2 = 1,
√
i po prostych przekształceniach (sprawdzić) dostajemy, że a±1 = ±1/ 5 i całe rozwiązanie dane jest ładnym
wzorem.
1.2
Liczby zespolone: ∆ < 0
Problem 1.1. Spróbujmy rozwiązać równanie:
xn+2 − 2xn+1 + 2xn = 0, x0 = 0, x1 = 1.
Dostajemy równanie
z 2 − 2z + 2 = 0.
Chcemy
√ rozwiązać – ale problem, bo ∆ = −4 < 0! Nie przejmujemy się tym, przyjmujemy oznaczenie
i = −1, i rozwiązujemy jakby nigdy nic:
z1 =
z2 =
√
−b+ ∆
2a√
−b− ∆
2a
=
=
2+2i
2
2−2i
2
= 1 + i,
= 1 − i.
Teraz dobieramy a1 , a2 tak by spełnione były warunki początkowe:
a1 z10 + a2 z20 = 0, a1 z11 + a2 z21 = 1,
czyli a2 = −a1 i a1 (1 + i) − a1 (1 − i) = 1, co oznacza, że
a1 =
1
1
oraz a2 = − .
2i
2i
W konsekwencji ostateczne rozwiązanie jest dane wzorem
xn = a1 z1n + a2 z2n =
1
),
2i
1
1
(1 + i)n − (1 − i)n .
2i
2i
Niby wszystko gra, ale musimy a) nauczyć się operować na tych liczbach (no bo co to jest tak naprawdę
b) liczyć potęgi (potrzebujemy jawny wzór na (1 + i)n ). I to będzie właśnie celem niniejszej sekcji.
Dygresja 1.2. cytat: Bóg stworzył liczby naturalne, reszte zrobił człowiek.
• N: chcemy zapisywać długi i odejmować, Fenicjanie tworzą Z
6
• Z: chcemy dzielić, tworzymy Q – Grecy wierzą, że wszystkie liczby są do siebie w proporcji (czyli istnieją
tylko liczby wymierne)
√
• √
Q: pitagorejczycy pokazują, że 2 nie istnieje (bo nie jest liczbą wymierną), rozszerzamy o pierwiastki
> 0 (powstają liczby algebraiczne),
• ale to i tak nie wystarcza bo π nie jest liczbą algebraiczną (kwadratura koła jest niemożliwa) uzupełniamy
dziury w liczbach wymiernych, powstają liczby rzeczywiste R
√
• R: chemy pierwiastkować liczby ujemne, dorzucamy i = −1 i powstają liczby zespolone C.
Ważne z punktu widzenia komputera są liczby Zn – dodawanie modulo n, gdy przekroczymy zakres wracamy
z powrotem do zera (przykład: unsigned short int to Z256 ).
Koniec Wykładu 1
√
Zacznijmy dokładniejszy opis od liczb zespolonych. Nieformalnie możemy napisać, że i = −1. Inaczej
mówiąc, i to taka liczba, że i2 = −1.
Najprostsze działania na liczbach zespolonych:
• dodawanie (a + bi) + (c + di) = (a + c) + (b + d)i
• mnożenie (a + bi) · (c + di) = ac + adi + bci + bdi2 = (ac − bd) + (ad + bc)i
• dzielenie – analogicznie jak pozbywanie się niewymierności w mianowniku (bo w końcu i to jakby
pierwiastek z −1), dla przykładu:
1 + 2i 1 + i
(1 + 2i)(1 + i)
1 + 2i + i + 2i2
−1 + 3i
−1 3
1 + 2i
=
·
=
=
=
=
+ i.
1−i
1−i 1+i
1 − i2
2
2
2
2
1.3
Układ kartezjański i biegunowy na płaszczyźnie
Aby policzyć potęgę liczby zespolonej potrzebna nam będzie jej interpretacja geometryczna. W szczególności
przypomnimy sobie podstawowe informacje na temat płaszczyzny.
UKŁAD KARTEZJAŃSKI: Kartezjusz 1637, jedna oś (czyli prosta). Dwie osie „La Géométrie” (dodane
w tłumaczeniu na łacinę 1649 Frans van Schooten).
UKŁAD BIEGUNOWY. połowa XVII wieku: Grégoire de Saint-Vincent and Bonaventura Cavalieri. Newton, (napisane 1671, opublikowane 1736), Isaac Newton używał chyba 10 układów krzywoliniowych, między
innymi biegunowego.
rysunek: czołg (dwie wersje w obie strony)
KONWERSJA MIĘDZY UKŁADAMI
Zespolone używają (potrzebują) obu podejść.
• re(a + bi) = a (część rzeczywista), im(a + bi) = b (część urojona)
• liczbę (a + bi) zaznaczamy na płaszczyźnie jako parę (a, b)
• moduł liczby zespolonej a + bi to jej odległość od zera, czyli z Tw. Pitagorasa |a + bi| =
• Liczba sprzężona: jeśli z = a + bi, to z̄ = a − bi (symetria względem osi rzeczywistej)
Zadanie 1.2. Proszę sprawdzić, że |z1 · z2 | = |z1 | · z2 |, |z1 + z2 | ¬ |z1 + z2 |.
7
√
a2 + b 2
Postać trygonometryczna:
z = |z| · (cos φ + i sin φ),
gdzie |z| to moduł liczby z, zaś φ to argument z (piszemy φ = arg z), czyli dowolny kąt taki, że a/|z| =
cos φ, b/|z| = sin φ (często rozważamy także argument główny Argz liczby zespolonej, czyli jedyny argument
∈ [−π, π), niektórzy rozważają [0, 2π)).
Ważme jest by zdawać sobie sprawę, że argument jest niejednoznacznie wyznaczony, a mianowicie jedynie
z dokładnością do wielokrotności 2π. To znaczy, że jeżeli mamy dwie liczby zespolone w postaci trygonometrycznej, to mają równe moduły, a argumenty różnią się o 2kπ.
Wzory de’Moivre’a:
r1 (cos φ1 + i sin φ1 ) · r2 (cos φ2 + sin φ2 ) = r1 r2 (cos(φ1 + φ2 ) + i sin(φ1 + φ2 )),
r1
r1 (cos φ1 + i sin φ1 )
= (cos(φ1 − φ2 ) + i sin(φ1 − φ2 )).
r2 (cos φ2 + sin φ2 )
r2
Zadanie 1.3. Proszę sprawdzić powyższe wzory.
Przyda się nam wzór Newtona (dwumian Newtona):
(a + b)n = an + (n1 )an−1 b + . . . + (nn−1 )abn−1 + bn .
Wygodnie współczynniki wyliczyć z Trójkąta Pascala:
1
1
1
1
1
2
3
1
3
1
(na bokach trójkata kładziemy jedynki, a każdy współczynnik jest sumą dwóch nad nim).
DLA ĆWICZEŃ: Wzory de’Moivre’a są ważne, gdyż przy pomocy dwumianu Newtona pozwalają łatwo
wyliczać wzory na cos(nα) i sin(nα) za pomocą potęg cos α i sin α.
Przykład 1.1. Mamy:
cos 3α + i sin 3α = (cos α + i sin α)3 = cos3 α + 3 cos2 α(i sin α) + 3 cos α(i sin α)2 + (i sin α)3
= cos3 α − 3 cos α sin2 α + i(3 cos2 α sin α − sin3 α),
czyli cos 3α = cos3 α − 3 cos α sin2 α, sin 3α = 3 cos2 α sin α − sin3 α.
Zadanie 1.4. Proszę wyliczyć sin 5α za pomocą potęg cos α i sin α.
Jako konsekwencję używając powyższego wzoru n razy, dostajemy wzór na potęgowanie liczby zespolonej
w postaci trygonometrycznej:
z n = rn (cos nϕ + i sin nϕ) gdzie r = |z|, ϕ = arg z.
Wracamy do rozwiązania równania różnicowego od którego zaczęliśmy: wystarczy teraz wyliczyć wzór na
xn =
1
1
(1 + i)n − (1 − i)n .
2i
2i
Jak łatwo sprawdzić (było na wykładzie), po prostych przeliczeniach dostajemy:
√ n
xn = 2 sin(nπ/4).
8
Dygresja 1.3. Grafika/gry – wzory de Moivre’a stosuje się do obrotów na płaszczyźnie (bywa przydatne w
grach). Jeżeli mamy punkt z = (a, b) na płaszczyźnie, i chcemy go obrócić o kąt α to wystarczy przejść do
postaci zespolonej a + ib, i przemnożyć przez (cos α + i sin α), co da nam łatwo gotowy wynik. Podobny trik
używa się także w przestrzeni – ale zamiast liczb zespolonych potrzebne są tak zwane kwaterniony (wymyślił
Hamilton, pojawiają się i, j, k które spełniają równania i2 = j 2 = k 2 = −1, ijk = −1, są zaimplementowane
na przykład w Direct X). Nie będę teraz o nich więcej mówił, ale jeżeli ktoś jest zainteresowany, odsyłam do
wikipedii.
Co ważne, za pomocą liczb zespolonych można zrobić także operację przeciwną, to znaczy można wyrazić
cos x i sinn x za pomocą cos x, sin x, . . . , cos nx, sin nx.
n
Definicja 1.1. Dla z ∈ C definiujemy
ez := erez (cos(imz) + i sin(imz)).
Zadanie 1.5. Udowodnij, że
1. ez+w = ez ew , dla z, w ∈ C,
2. cos x =
eix +e−ix
,
2
3. sin x =
eix −e−ix
.
2i
4. eix = cos x + i sin x.
Punkty 2-4 to są wzory Eulera.
Dla luźnej informacji e ≈ 2.718 to liczba „e” (ale dla korzystania z powyższych wzorów nie jest to
informacja niezbędna). To jest tak nieformalnie-żartobliwie rzecz biorąc drugi „dowód” na sensowność liczb
zespolonych
Przykład 1.2. Dla przykładu:
cos3 x = (
=
eix + e−ix 3 (eix )3 + 3(eix )2 e−ix + 3eix (e−ix )2 + (e−ix )3
) =
2
8
e3ix + 3eix + 3e−ix + e−3ix
1 e3ix + e−3ix 3 eix + e−ix
1
3
= ·
+ ·
= cos 3x + cos x.
8
4
2
4
2
4
4
Zadanie 1.6. Wylicz sin5 x jako funkcję cos x, sin x, . . . , cos 5x, sin 5x.
Potrafimy już wykonać wiele operacji na liczbach zespolonyc, przyda się nam jeszcze umiejętność wyliczania pierwiastków, czyli rozwiązywania równań z n = w.
To jest w szczególności ważne, gdyż zachodzi ZASADNICZE TWIERDZENIE ALGEBRY które mówi, że
każdy wielomian ma przynajmniej jeden pierwiastek zespolony (w konsekwencji każdy wielomian W stopnia
n możemy przedstawić w postaci iloczynu jednomianów a(x − x1 ) . . . (x − xn ), gdzie xi ∈ C).
Zajmijmy się więc najpierw rozwiązywaniem najprostszego równania
z n = 1.
Przejdziemy w tym celu do postaci trygonometrycznej, czyli załóżmy, że z = r(cos ϕ + i sin ϕ), wtedy mamy
z n = rn (cos(nϕ) + i sin(nϕ)) = 1 = 1(cos 0 + i sin 0).
9
Ponieważ mamy dwie liczby w postaci trygonometrycznej, więc mają równe moduły, a argumenty różnią się
o 2kπ, czyli
rn = 1 and nϕ = 0 + 2kπ.
Czyli r = 0, a
ϕ=
Czyli możnaby napisać
√
n
2kπ
dla k ∈ Z.
n
2kπ
2kπ
) + i sin(
) dla k ∈ Z.
n
n
Ale zauważmy, że wystarczy wziąć dla k = 0, . . . , n − 1, bo pozostałe będą się od tych różnić o argument
będący wielokrotnościa 2π (czyli będą miały tą samą wartość). W konsekwencji dostajemy n pierwiastków
n-tego stopnia z jedynki:
1k = cos(
√
2kπ
2kπ
n
1k = cos
+ i sin
n
n
dla k = 0, . . . , n − 1.
Zauważmy, że liczby te są wierzchołkami n-kąta foremnego wpisanego w okrąg o promieniu jeden (gdyż kąt
między kolejnymi liczbami to 2kπ/n).
Zadanie 1.7. Proszę uogólnić powyższe rozumowanie, by wyliczyć wszystkie rozwiązania równania
z n = z̄,
gdzie z̄ jest dany w postaci trygonometrycznej z̄ = r̄ · (cos φ̄ + i sin φ̄). Inaczej mówiąc, proszę wyliczyć wzory
na wszystkie pierwiastki n-tego stopnia z liczby z̄.
1.4
Wielomiany
Wróćmy teraz do naszego oryginalnego problemu równań różnicowych. Jak możemy łatwo zauważyć, szukanie
ciągów geometrycznych spełniających przykładowe równanie rekurencyjne stopnia 3:
xn+3 = 2xn+2 + 3xn+1 + xn
prowadzi do próby rozwiązania równania jego równania charakterystycznego
z 3 = 2z 2 + 3z + 1.
Analogicznie równania rekurencyjne wyższych rzędów prowadzą do szukania zer wielomianów potencjalnie
dowolnego stopnia. W związku z tym zajmiemy się teraz przedstawieniem podstawowych informacji o wielomianach.
Wielomian W o współczynnikach z Z, Q, R lub C zapisujemy
W (x) = a0 + a1 x + . . . + an xn .
Będę czasami oznaczał wielomiany o współczynnikach z P przez P [x]. Jeżeli an 6= 0, to mówimy, że stopień
tego wielomianu jest równy n (zapisujemy deg W = n). Wielomiany dodajemy dodając współczynniki przy
tej samej potędze (mnożymy mnożąc każdy współczynnik z każdym). W konsekwencji przy standardowym
mnożeniu dwóch wielomianów stopnia n wykonujemy n2 razy operację mnożenia1
1
można to znacznie przyspieszyć: najstarszy algorytm został wymyślony w 1960 roku przez Karatsubę i ma złożoność nlog2 3 ,
bardzo polecam przeczytać en.wikipedia.org/Karatsuba algorithm.htm, najszybsze algorytmy mnożenia wielomianów używają FFT.
10
Najważniejszymi wielomianami są wielomiany o współczynnikach z Q, R lub C, i od tej pory głównie
zajmujemy się takimi wielomianami. Przypominam zasadnicze twierdzenie algebry, które mówi, że każdy
wielomian stopnia n o współczynnikach zespolonych można przedstawić w postaci iloczynu W (x) = (x − x1 ) ·
. . . · (x − xn ) (xi to są zera wielomianu W ). Jeżeli w tym rozkładzie jakieś miejsce zerowe występuje k-razy,
to mówimy, że to zero jest k-krotne.
Przypominam, że reszta z dzielenia W przez (x−x0 ) to W (x0 ) (w konsekwencji wielomian W jest podzielny
przez (x − x0 ) wtedy i tylko wtedy gdy W (x0 ) = 0).
Przy szukaniu miejsc zerowych wielomianów przydatne mogą być następujące fakty:
1. jeżeli wielomian o współczynnikach całkowitych ma pierwiastek wymierny, to jest on postaci k/n, gdzie
k dzielnik ostatniego współczynnika, a n pierwszego.
2. wielomiany W (x) w których występują tylko parzyste potęgi sprowadzamy do prostszej postaci robiąc
podstawienie t = x2 .
3. wielomiany parzytego stopnia W (x) = a0 xn +. . .+an o symetrycznych współczynnikach (tzn. ak = an−k )
rozwiązujemy dzieląc przez xn/2 a następnie stosujemy podstawienie w = x + 1/x.
Przykład 1.3.
• Rozważmy równanie
2x3 + x2 + 2x + 1 = 0.
Na podstawie powyższego dostajemy, że jedyne wymierne miejsca zerowe muszą się znaleźć w zbiorze
{±1, ±1/2}.
Dla równania
x4 + 2x2 + 1 = 0,
najlepiej dokonać podstawienia t = x2 . Wtedy dostajemy równanie t2 + 2t + 1 = 0, którego jedynym rozwiązaniem jest liczba −1. W konsekwencji nasze oryginalne równanie w liczbach rzeczywistych nie ma rozwiązań,
a w zespolonych mamy dwa rozwiązania ±i.
W celu rozwiązania równania
x4 + 2x3 + 3x2 + 2x + 1 = 0,
najpierw wydzielamy przez x2 (bo zero nie jest rozwiązaniem), i dostajemy równanie
x2 + 2x + 3 + 2/x + 1/x2 = 0.
Stosując podstawienie t = x + 1/x, mamy t2 = x2 + 2 + 1/x2 , czyli musimy rozwiązać równanie t2 + 2t + 1 = 0.
W konsekwencji t = −1, i pozostaje jedynie rozwiązać równanie x + 1/x = −1, czyli x2 − x + 1 = 0.
Przy szukaniu NWD dwóch wielomianów stosuje się algorytm euklidesa.
Zadanie 1.8. Wyznacz iloraz i resztę z dzielenia wielomianu f przez g:
a) f (x) = 2x3 + 4x2 − 7x − 10; g(x) = x + 2 w R[x],
b) f (x) = x3 + 4x2 − 7x − 10; g(x) = x2 − 3x + 1 w R[x],
c) f (x) = x6 − 3x5 + ix4 − x3 + (2 + i)x2 + 5x − 2; g(x) = x2 + x + i w C[x].
Zadanie 1.9. Reszta z dzielenia wielomianu f ∈ R[x] przez (x − 2) jest równa 1, a reszta z dzielenia f przez
(x − 1) jest równa 2. Ile wynosi reszta z dzielenia f przez x2 − 3x + 2?
11
1.5
Krótkie informacje o pochodnej
Na podstawie powyższych faktów, potrafimy rozwiązywać równania rekurencyjne stopnia 2, jeżeli ma ono
dwa pierwiastki. Natomiast oczywiście zdarzają się równania, w których ∆ = 0. Można je rozwiązać na wiele
sposobów, ja przedstawię metodę w której przydatna będzie znajomość pochodnej. Ponieważ nie wszyscy z
Państwa się prawdopodobnie z pochodną spotkali, w tym rozdziale postaram się podać podstawowe fakty.
Zacznijmy od historii. Pochodną wynalazł Isaak Newton około roku 1665 (wcześniej zrobił dwumian
Newtona dla potęg niekoniecznie naturalnych). Intuicja fizyczna pochodnej jest bardzo naturalna: jeżeli s(t)
oznacza drogę w zależności od czasu, to pochodna drogi po czasie oznacza (graniczny) iloraz przyrostu drogi
przez przyrost czasu, czyli po prostu prędkość. Analogicznie, pochodna prędkości po czasie to przyspieszenie.
Prawdopodobnie częściowo niezależnie pochodna została wynaleziona przez Gottfrieda Leibniza (matematyk) około roku 1675. Nie jest więc zaskakujące, że pochodna ma także naturalną definicję geometryczną odpowiada ona współczynnikowi kierunkowemu stycznej do wykresu.
Możemy teraz już przejść do formalnej definicji.
Definicja 1.2. Niech f : U → R, gdzie U jest podzbiorem w R, i niech x0 ∈ U . Jeżeli istnieje granica
lim
x→x0
f (x0 + h) − f (x0 )
f (x) − f (x0 )
= lim
,
h→0
x − x0
h
to mówimy, że f jest różniczkowalna w punkcie x0 , i tę granicę oznaczamy przez f 0 (x0 ) (pochodna w punkcie
x0 ).
Widać, że jeżeli pochodna istnieje w punkcie x0 , to ona jest dana przez granicę przyrostów symetrycznie
ustawionych względem x0 :
f (x0 + h) − f (x0 − h)
f 0 (x0 ) = lim
h→0
2h
Jak mówiłem, pochodna odpowiada za prędkość zmiany funkcji (jeżeli pochodna > 0 to znaczy, że funkcja
rośnie, jeżeli < 0 to maleje). W konsekwencji oznacza to, że pochodna jest kluczowa przy szukaniu ekstremów
funkcji.
Zastosowanie 1.1. Warto wspomnieć do czego z naszego punktu widzenia najczęściej stosujemy pochodną.
Otóż jest uogólnienie pochodnej dla sytuacji wielowymiarowej które nazywa się gradientem. Analogicznie teraz
do sytuacji gdy bylibyśmy w górach i chcieli zejść jak najszybciej na dół, powinniśmy iść tam gdzie stok
spada najbardziej ostro w dół – formalizacja tej idei dla funkcji dowolno-wymiarowych nazywa się metodami
gradientowymi (czy gradientowego spadku).
Czyli widzimy, że pochodna jest niezbędna w szukaniu ekstremów (minimów/maksimów) funkcji wielu
zmiennych. A tego typu ekstrema pojawiają się w wielu algorytmach, dla przykładu w uczeniu sieci neuronowych, które w chwili obecnej są coraz częściej stosowane.
Korzystając z definicji pochodnej można pokazać, że
• (xn )0 = nxn−1 ;
• sin0 (x) = cos(x);
• cos0 (x) = − sin(x);
• log0 (x) = 1/x;
• (ex )0 = ex .
12
Pokażę ten pierwszy wzór. Mamy z dwumianu Newtona
(x + h)n − xn
(xn + (n1 )xn−1 h + (n2 )xn−2 h2 + . . .) − xn
h→0
=
= nxn−1 + h · (. . .) −→ nxn−1 .
h
h
Pochodne bardziej skomplikowanych funkcji liczy się korzystając z następujących wzorów2 :
1. (af )0 (x) = af 0 (x);
2. (f + g)0 (x) = f 0 (x) + g 0 (x);
3. (f · g)0 (x) = f 0 (x)g(x) + f (x)g 0 (x);
4. (f /g)0 (x) = (f 0 (x)g(x) − f (x)g 0 (x))/g(x)2 ;
5. (f ◦ g)0 (x) = f 0 (g(x)) · g 0 (x) (◦ oznacza operację składania funkcji).
Przykład 1.4. Policzmy pochodną funkcji tangens (wzór 4 z powyższych):
tg0 (x) = (
sin x 0 cos x cos x − sin x(− cos x)
1
) =
=
.
2
cos x
cos x
cos2 x
Analogicznie można pokazać, że pochodna funkcji ln x to 1/x.
Na deser policzymy jeszcze pochodną funkcji xx korzystając z wzoru 5 na pochodną funkcji złożonej i wzoru
3 na pochodną iloczynu
(xx )0 = ((eln x )x )0 = (ex ln x )0 = (x ln x)0 ex ln x = (1 · ln x + x · (ln)0 (x))xx = (ln x + 1)xx .
Istnieje jeszcze wzór na pochodną funkcji odwrotnej:
(f −1 )0 (x) = 1/f 0 (f −1 (x)),
(1.2)
(przez f −1 oznaczam tutaj funkcję odwrotną do funkcji f ), ale aby go zastosować przypomnę pojęcie funkcji
odwrotnej, i przy okazji wprowadzę funkcje cyklometryczne.
Funkcję odwrotną do y = f (x) tworzymy „zamieniając współrzędne”, czyli rozpatrujemy
x = f (y), i
√
3
3
rozwikłujemy z tego wzór na y. Dla przykładu, funkcją odwrotną do f (x) = x , jest g(x) = x. Geometrycznie
na płaszczyźnie funkcję odwrotną tworzy się biorąc symetrię wykresu względem osi y = x.
Ciekawsza sytuacja występuje, gdy formalnie rzecz biorąc nie da się funkcji odwrócić. Dla przykładu
rozważmy funkcję y = x2 – jeżeli dokonamy symetrii wykresu względem osi y = x, to nie dostaniemy funkcji,
gdyż jednej wartości x będą odpowiadały dwie wartości y. W konsekwencji to co robimy, to „wymazujemy”
(akurat w naszym przypadku
dolną) część wykresu, która psuje nam bycie porządną funkcją. Dostajemy w
√
tym przypadku funkcję x.
Ciekawsza sytuacja występuje dla funkcji odwrotnych do funkcji trygonometrycznych (tak zwane funkcje
cyklometryczne):
• sin: aby dało się odwrócić, zawężamy się do przedziału [−π/2, π/2], wtedy na tym zakresie sin jest
rosnący. W konsekwencji funkcja arc sin ma dziedzinę [−1, 1], a przeciwdziedzinę [−π/2, π/2].
• cos: aby dało się odwrócić, zawężamy się do przedziału [0, π], wtedy na tym zakresie cos jest malejący.
W konsekwencji funkcja arc cos ma dziedzinę [−1, 1], a przeciwdziedzinę [0, π].
• tg: aby dało się odwrócić, zawężamy się do przedziału (−π/2, π/2), wtedy na tym zakresie tg jest
rosnący. W konsekwencji funkcja arc tg ma dziedzinę R, a przeciwdziedzinę (−π/2, π/2).
2
W praktyce mogą się Państwo przekonać, że liczenie pochodnych bardziej skomplikowanych funkcji bywa podobna do
obierania cebuli, zdejmujemy jedną warstwę, i pod nią pojawia się następna, itd.
13
Przykład 1.5. Policzymy teraz pochodną funkcji arc tg (czyli funkcji odwrotnej do funkcji tangens) korzystając z wzoru (1.2):
arc tg0 (x) = cos2 (arc tg x).
Korzystając z wzoru wyrażającego cos2 za pomocą funkcji tangens, cos2 x = 1/(1 + tg2 x), dostajemy
arc tg0 (x) = cos2 (arc tg x) =
1.6
1
1
=
.
2
1 + (tg(arc tg x))
1 + x2
A co z ∆ = 0?
Przykład xn+2 − 4xn+1 + 4xn = 0 z warunkami x0 = 0, x1 = 1.
jedno rozwiązanie równania charakterystycznego z 2 − 4z + 4 = 0 dane wzorem z1 = 2, czyli mamy tylko
rozwiązanie postaci xn = a2n . Nie jesteśmy w stanie tak dobrać a, by spełnione były warunki początkowe.
Perturbacja: lekko zaburzamy równanie, aby mieć dwa pierwiastki, a następnie z zaburzeniem zmierzamy
do zera.
dwa: (2 + ε)k i (2 − ε)k , jakie równanie – bardzo bliskie a mianowicie z 2 − 4z + (4 − ε2 ), czyli rozpatrujemy
równanie
xn+2 − 4xn+1 + (4 − ε2 )xn = 0,
(1.3)
z warunkiem początkowym x0 = 0, x1 = 1. Rozwiązanie ogólne (1.3) dane jest
xn = a1 (2 + ε)n + a2 (2 − ε)n .
Uwzględniamy warunki początkowe
x0 = a1 + a2 = 0, x1 = a1 (2 + ε) + a2 (2 − ε) = 1,
dostając a2 = −a1 oraz a1 = 1/(2ε). Konkludując dostajemy
(2 + ε)n − (2 − ε)n
.
xn =
2ε
Przechodzimy do granicy z ε → 0! Jak łatwo zauważyć to jest dokładnie pochodna funkcji f (x) = xn w
punkcie x = 2, czyli f 0 (x) = nxn−1 , czyli f 0 (2) = n2n−1 . W konsekwencji rozwiązanie naszego równania dane
jest wzorem
xn = n2n−1 .
Przypominam pochodna f 0 funkcji f to granica przy ε → 0 wyrażenia
f 0 (x) =
f (x + ε) − f (x − ε)
f (x + ε) − f (x)
lub
.
2ε
ε
Interpretacja geometryczna – współczynnik kierunkowy stycznej do krzywej.
Koniec Wykładu 3
1.7
Zadania
Zadanie 1.10. Proszę sprawdzić bezpośrednio, że
√
√
1 1+ 5 n
1 1− 5 n
xn = √ (
) −√ (
) .
2
2
5
5
jest rozwiązaniem równania Fibonacciego.
14
Zadanie 1.11. Proszę rozwiązać równania:
• xn+1 − 3xn = 1, x0 = 0;
• xn+2 − 5xn+1 + 6xn = 0, x0 = 0, x1 = 1;
• xn+1 − 2xn = 2n , x0 = 0;
• xn+2 − 2xn+1 + xn = 0, x0 = 0, x1 = 1 (wsk. proszę zrobić podstawienie vn = xn+1 − xn , i najpierw
wyliczyć wzór na vn );
Proszę przeczytać (powinno być coś w Krysickim) na temat funkcji odwrotnej, i w szczególności na
temat arc cos, arc sin, arc tg. Powinni państwo znać definicje, dziedzinę, zbiór wartości oraz mniej więcej jak
wyglądają wykresy.
Zadanie 1.12. Korzystając z wiadomości na temat funkcji trygonometrycznych (i w szczególności z funkcji
arc sin) znaleźć wszystkie rozwiązania równania
sin(x) = 0.2.
Korzystając z kalkulatorka (bądź tablic czy komputera) wyznaczyć te rozwiązania w przybliżeniu.
Zadanie 1.13. Rozwiąż (w liczbach zespolonych) równania:
a) 8z 3 − 12z 2 + 6z − 1 − i = 0, b)64z 3 − 48z 2 + 12z − 1 − i = 0, c) z 3 − 12z 2 + 48z − 64 − i = 0.
Zadanie 1.14. Udowodnij nierówność dla dowolnych liczb zespolonych p, q:
(|p| − |q|)2 ¬ (p + q)(p + q).
√
Zadanie 1.15. Niech z1 = (0, 1), z2 = (3, −4), z3 = ( 2, −3). Obliczyć
z2 + z3 ,
z1 · z2 ,
z32 ,
z3
.
z2
Zadanie 1.16. Udowodnij, że dodawanie i mnożenie w zbiorze liczb zespolonych jest łączne i przemienne.
Zadanie 1.17. Znajdź elementy neutralne dodawania i mnożenia oraz elementy odwrotne do z = (a, b).
Zadanie 1.18. Wyznaczyć wszystkie liczby, które spełniają warunek
1. rez − 3imz = 2,
2. re(iz) ­ 1,
3. z 2 − 6z + 10 = 0,
4. z + z + i(z − z) = 2 + 3i.
Zadanie 1.19. Udowodnij, że zachodzą warunki:
1. z1 + z2 z3 = z 1 + z 2 z 3
2. zz = |z|2 ,
3. |zw| = |z||w|,
4. |z + w| ¬ |z| + |w|,
15
5. Arg(zw) = Argz + Argw + 2kπ dla pewnego k ∈ Z.
Zadanie 1.20. Kiedy zachodzi równość
re(zw) = rez rew ?
Zadanie 1.21. Udowodnij tożsamość i podaj jej interpretację geometryczną
|z + w|2 + |z − w|2 = 2(|z|2 + |w|2 ).
Zadanie 1.22. Przedstaw w postaci algebraicznej (a + bi, gdzie a, b ∈ R) oraz trygonometrycznej następujące
liczby:
√ !4
!5
√ 6
√
1+i 3
1+i
,
.
(1 + i 3) ,
2 − 2i,
− 3 + i,
1−i
1−i
Zadanie 1.23. Korzystając z poprzedniego zadania, proszę wyliczyć sin2 x znając sin x, cos x, sin 2x, cos 2x.
Analogicznie cos3 x.
Zadanie 1.24. Znajdź (i narysuj na płaszczyźnie) zbiór punktów z ∈ C takich, że
(a) ez ∈ R;
(b) |ez | = b, (b > 0);
(c) ez = a, (a ∈ C).
Zadanie 1.25. Podaj geometryczną interpretację zbiorów:
π
|};
4
A = {z : |z − a| = |z − b|}, a 6= b;
z + 1
<1 ;
C = z : z − 1
A = {z : |z − 2| = 4, | arg z| <
B=
√
6
−27i;
B = {z : 0 < Re iz < 1};
z − a
= k , a, b ∈ C, k > 0.
D = z : z − b
Zadanie 1.26. Oblicz sumę i iloczyn pierwiastków piątego stopnia z 1. Czy zadanie da się uogólnić?
Zadanie 1.27. Znajdź wszystkie pierwiastki równania:
1. z 5 + z 4 + z 3 + z 2 + z + 1 = 0;
2. z 4 − z 2 + 1 = 0;
3. 32z 5 = (z + 1)5 .
Zadanie 1.28. Korzystając ze wzoru de Moivre’a
1. znajdź formułę na cos(3φ) (jako funkcję sin φ oraz cos φ),
2. oblicz sumę
sin x + sin 2x + · · · + sin nx,
x ∈ R.
Zadanie 1.29. Udowodnij, że dla z, w ∈ C zachodzi
(1 + |z|2 )w = (1 + |w|2 )z ⇐⇒ z = w ∨ z̄w = 1.
Zadanie 1.30. Udowodnij geometrycznie nierówności:
z
− 1 ¬ |Argz|;
(a)
|z|
(b) |z − 1| ¬ |z| − 1 + |z||Argz|.
Zadanie 1.31. Proszę wyznaczyć cos3 x za pomocą cos x, cos 2x, cos 3x.
16
√
Zadanie 1.32. Wylicz (1 + i)30 /( 3 + i)7 .
Zadanie 1.33. Rozwiąż równanie a) z 10 = 1 − i; b) z 2 = 2 + 3i.
Zadanie 1.34. Rozwiąż równanie z 4 − 2z 2 + 2 = 0.
Zadanie 1.35. a) Proszę wyznaczyć cos 5x za pomocą potęg cos x. b) Proszę wyznaczyć cos3 x za pomocą
cos x, cos 2x, cos 3x.
Zadanie 1.36. Udowodnij następujące równości:
a) |z1 z2 | = |z1 | · |z2 |;
b) Arg(z1 z2 ) = Argz1 + Argz2 mod 2π.
Zadanie 1.37. Podać geometryczną interpretację
a) {z : 0 ¬ re(iz) < 1};
b) {z : rez 2 > α}, α > 0;
c) {z : |z 2 − 1| < 1};
d) {z : |z − 1| = |rez|}.
Zadanie 1.38. a) przedstaw sin(5x) za pomocą potęg cos x, sin x;
b) przedstaw sin5 (x) za pomocą cos x, sin x, . . . , cos 5x, sin 5x.
Zadanie 1.39. Wylicz wzory na
sin x + sin 2x + . . . sin kx,
cos x + cos 2x + . . . cos kx.
Wsk.: proszę najpierw policzyć sumę szeregu geometrycznego 1 + eix + . . . ekix , a następnie skorzystać z wzorów
ix
−iz
ix
−ix
, sin x = e −e
).
Eulera (cos x = e +e
2
2i
Zadanie 1.40. Rozwiąż równania 1. z 2 +
iz 2 − z + i = 0 3. z 2 − (1 + i)z + 6 − 17i = 0 4.
√iz − 2 = 0 2.
2
2
2
z − (1 + 9i)z − 20 + 5i = 0 5. z + 2z − 3i = 0 6. 3z + (2 − 3i)z − 1 − 3i = 0.
Rozwiąż [dokładnie] z 2 + 3iz + 1 = 0, i sprawdź.
√
Zadanie 1.41. Wylicz (1 − 2i)5 , (1 − i)/(1 + i − i2 ), (1 + i 3)10 .
Zadanie 1.42. Rozwiąż w liczbach zespolonych równania z 2 = 3 + 2i, z 2 + iz − 2 = 0, iz 2 − z + i = 0, z 3 = 1.
Zadanie 1.43. Udowodnij, że
Arg(z1 z2 ) = Argz1 + Argz2
mod 2π.
Zadanie 1.44. Podać geometryczną interpretację
a) {z : 0 ¬ re(iz) < 1};
b) {z : rez 2 > α}, α > 0;
c) {z : |z 2 − 1| < 1};
d) {z : |z − 1| = |rez|}.
Uwaga 1.1. Proszę w poniższym zadaniu skorzystać z wzorów: Eulera cos x =
de’Moivre’a (cos x + i sin x)n = cos(nx) + i sin(nx).
Zadanie 1.45. a) Przedstaw sin(5x) za pomocą potęg cos x, sin x;
b) Przedstaw sin5 (x) za pomocą cos x, sin x, . . . , cos 5x, sin 5x.
17
eix +e−ix
,
2
sin x =
eix −e−iz
,
2i
oraz
Zadanie 1.46. Wylicz wzory na
sin x + sin 2x + . . . + sin kx,
cos x + cos 2x + . . . + cos kx.
Wsk.: proszę najpierw policzyć sumę szeregu geometrycznego 1 + eix + . . . ekix , a następnie skorzystać z wzorów
Eulera.
Zadanie 1.47. Rozwiąż w liczbach zespolonych równania: z 3 = 1, z 4 = 1 oraz z n = 1.
Układ biegunowy na płaszczyźnie = to samo co zapisywanie liczby zespolonej w postaci trygonometrycznej. Inaczej mówiąc, zamiast określać punkt na płaszczyźnie po współrzędnych, określamy go za pomocą
odległości od zera r i kąta odchylenia ϕ od półosi OX. Jeżeli rysujemy funkcje w układzie biegunowym, to
zazwyczaj podajemy zależność r od ϕ. Warto zauważyć, że jeżeli punkt P na płaszczyźnie ma w układzie
biegunowym ma współrzędne r i ϕ, to w układzie kartezjańskim x = r cos ϕ i y = r sin ϕ.
Zadanie 1.48. Proszę narysować następujące krzywe w układzie biegunowym: a) r = 1, ϕ ∈ [0, 2π], b) r = ϕ,
ϕ ∈ [0, 4π], c) r = ϕ2 , ϕ ∈ [0, 2π], d) r = (4 + cos(8ϕ)), φ ∈ [0, 2π].
Zadanie 1.49. Korzystając z postaci trygonometrycznej liczby zespolonej, znajdź zbiór wszystkich liczb zespolonych spełniających równanie {z : |z 2 − 1| = 1} (chodzi o wyliczenie zależności r of ϕ).
Następnie w miarę możliwości narysować.
Zadanie 1.50 (*). Niech z = (2 + i)/(2 − i). Czy z jest pierwiastkiem z jedynki, tzn. czy istnieje takie n ∈ N,
że z n = 1?
Wsk.: zadanie sprowadza się do pokazania, że (3 + 4i)n 6= 0 (proszę zobaczyć na parzystość części rzeczywistej i urojonej).
Zadanie 1.51. Korzystając z wiadomości na temat funkcji trygonometrycznych (i w szczególności z funkcji
arc sin) znaleźć wszystkie rozwiązania równania
sin(x) = 0.2.
Korzystając z kalkulatorka (bądź tablic czy komputera) wyznaczyć te rozwiązania w przybliżeniu.
√
Zadanie 1.52. Policz pochodne następujących funkcji a) sin(x2 ), b) arc sin(tg x), c) x log 1 + x2 .
Zadanie 1.53. Rozwiąż równanie rekurencyjne
xn+2 = 6xn+1 − 9xn
z warunkiem x0 = 1, x1 = 0.
18
Rozdział 2
Podstawy równań liniowych i macierzy
Streszczenie. W rozdziale tym przedstawimy wstęp do rozwiązywania równań
liniowych przy pomocy metody eliminacji Gaussa. Da nam to motywację, do sformalizowania pewnych podstawowych operacji na macierzach.
2.1
Motywacja: Google Pagerank, geometria
Chciałbym teraz skrótowo opisać jedno z najważniejszych (i najbardziej intratnych) zastosowań algebry liniowej, czyli sposób wyszukiwania informacji przez firmę Google1 (aby się dowiedzieć więcej polecam książkę: [A.
Langville, C. D. Meyer, Google’s PageRank and Beyond: The Science of Search Engine Rankings, Princeton
University Press, 2006]). Pokazuje on, dlaczego warto rozwiązywać układy równań liniowych.
Do wyjaśnienia potrzebne będzie nam pojęcie grafu. Przedstawiam państwu najprostsze definicje, więcej
dowiedzą się Państwo w trakcie studiów.
Dygresja 2.1. Graf nieskierowany składa się z zbioru wierzchołków V (ang. vertices), z których niektóre są
połączone krawędziami E (ang. edges). Czyli z formalnego punktu widzenia, E to podzbiór zbioru {{u, v} :
u, v ∈ V, u 6= v}. Inaczej mówiąc, o parze wierzchołków u, v wiemy jedynie czy są połączone krawędzią, czy
nie.
Graf skierowany składa się podobnie jak nieskierowany ze zbioru wierzchołków V oraz skierowanych krawędzi E pomiędzy wierzchołkami. Czyli z formalnego punktu widzenia, E to podzbiór zbioru par skierowanych
{(u, v) : u, v ∈ V, u 6= v}. Czyli jeżeli e = (u, v), to krawędź idzie od wierzchołka u do wierzchołka v.
W poniższym przykładzie strony internetowe reprezentujemy w postaci grafu skierowanego, krawędź jest
od strony A do strony B jeżeli strona A wskazuje (zawiera link) do strony B.
Załóżmy, że chcemy znaleźć strony które zawierają słowo „krowa”, i poszeregować je względem ważności
(popularności). O ile wyszukanie stron na których występuje dane słowo jest (przynajmniej teoretycznie)
sprawą prostą, to problem się pojawia przy tym aby sprecyzować, co rozumiemy przez „ważność” danej strony.
Kiedyś (przed Google) był z tym problem: uznawano zazwyczaj, że ważność danej strony jest określona przez
ilość stron które na nią wskazują. Niestety, takie sortowanie wyników nie dawało to dobrych rezultatów: jeżeli
na moją stronę wskazuje choćby tylko jedna strona którą wszyscy znają, to moja strona powinna znaczyć
dużo więcej niż gdyby na nią wskazywało dużo stron których prawie nikt nie zna.
Sergey Brin i Lary Page, twórcy algorytmu PageRank spróbowali zastosować prosty model opisujący
jak będziemy się poruszać po internecie - jak znajdujemy się na danej stronie, to wybieramy losowo link, i
skaczemy do strony na którą wskazujemy2 . Obserwujemy jak użytkownik będzie się poruszał po stronach,
mierzymy jaki czas przebywał na każdej ze stron, i rangujemy strony na podstawie tego czasu.
1
nazwa Google wzięła sie od terminu matematycznego „Googol” oznaczającego 1 ze 100 zerami, wymyślonego przez Miltona
Sirotta
2
W rzeczywistości algorytm Google Pagerank dopuszczał możliwość teleportacji - chodziło o to, że człowiek jak był znudzony,
to z pewnym ustalonym z góry prawdopodobieństwem mógł skoczyć do dowolnie losowo wybranej strony. Powód zrobienia
19
Takie podejście jest fajne, ale ma pewne problemy:
• nie wiemy jak długo powinniśmy skakać aby mieć w miarę ustalony wynik?
• czy wynik zależy (nie chcielibyśmy aby tak było) od tego na której stronie zaczęliśmy?
• nie jest na razie jasne jak to policzyć efektywnie numerycznie?
Postaram się pokazać odpowiedź na prostym przykładzie. Rozpatrzmy następujący graf który opisuje
strony S1, S2, S3, S4 (skąd dokąd są linki po których się poruszamy):
S1 → {S2, S3}, S2 → S3, S3 → S4, S4 → {S1, S2, S3}.
Wtedy korzystając z zasady otrzymujemy prawdopodobieństwa przeskoczenia ze strony do strony.
1/2
1
1
1/3
S1 → {S2, S3}, S2 → S3, S3 → S4, S4 → {S1, S2, S3}.
Rozpatrzmy teraz stronę na którą patrzy dany człowiek, rozpatrzmy prawdopodobieństwa pt1 , .., pt4 , że w chwili
t znajduje się na stronach S1 , .., S4 . Zobaczmy, jak te prawdopodobieństwa będą wyglądać w następnym kroku
(patrzymy na to, w jaki sposób możemy na daną stronę skoczyć). W tym celu przyjrzyjmy się dla przykładu
prawdopodobieństwu pt+1
1 , że będziemy w chwili t + 1 znajdować się na stronie S1: zgodnie z tym co jest
napisane powyżej, do strony S1 możemy skoczyć tylko ze strony S4 z prawdopodobieństwem 1/3. Oznacza
to, że
pt+1
= 13 pt4 .
1
Przeprowadzając analogiczne rozumowanie dla każdej ze stron, otrzymujemy formułę rekurencyjną (równanie
różnicowe jak w oryginalnym problemie Fibonacciego) opisującą prawdopodobieństwo w chwili t + 1 o ile
znamy rozkład w chwili t:
 t+1
p1
= 31 pt4 ,



 pt+1 = 1 pt + 1 pt ,
2
2 1
3 4
t+1
1 t
1 t
t

=
p
+
1p
p

3
2 + 3 p4 ,
2 1

 t+1
p4
= 1p3 .
I teraz cały pomysł polega na tym aby wiedzieć3 , że interesuje nas sytuacja graniczna, czyli te rozkłady muszą
się ustabilizować. Oznacza to, że możemy zmazać literkę t, i dostaniemy układ równań:









p1
p2
p3
p4
= 31 p4 ,
= 21 p1 + 13 p4 ,
= 21 p1 + 1p2 + 13 p4 ,
= 1p3 .
(2.1)
Jedyny czego w tym układzie nie ma to informacji o tym, że to są prawdopodobieństwa (widzimy, że przemnożenie rozwiązania przez liczbę daje nam rozwiązanie). W konsekwencji dorzucamy jeszcze do (2.1) równanie
mówiące o tym, że to sa prawdopodobieństwa (czyli, że sumują się do jedynki):
p1 + p2 + p3 + p4 = 1.
(2.2)
Dostajemy teraz fajny układ równań, który będzie nam dość łatwo rozwiązać: od razu możemy za pomocą p4
podstawić p1 = 13 p4 , p3 = p4 , wstawiamy do drugiego równania dostając p2 = 16 p4 + 13 p4 = 12 p4 . Podstawiając
w (2.2) dostajemy
1
p + 21 p4 + p4 + p4 = 1,
3 4
teleportacji był także teoretyczno-numeryczny – mamy wtedy twierdzenie które gwarantuje jedyność rozkładu stacjonarnego –
będzie za chwilkę.
3
Badaniem zachowania zajmują sie Procesy Markowa
20
czyli p4 =
6
17
i w konsekwencji otrzymujemy wynik:
p1 =
2
, p2
17
=
3
, p3
17
=
6
, p4
17
=
6
.
17
I rangi stron w kolejności to I(S3, S4), II(S2), III(S1).
Uwaga 2.1. Zauważmy istotną różnicę w stosunku do podejścia pre-Google: jeżeli do nas (S4) prowadzi link
od strony bardzo popularnej (S3) i dodatkowo S3 nie wskazuje na żadne inne strony, to prawdopodobieństwo
znalezienia się na S4 jest takie same (lub większe) jak na S3 bo znajdując się na stronie S3 musimy skoczyć
na stronę S4.
Geometria: czytelna intuicja geometryczna (przecięcia prostych w R2 ; płaszczyzn w R3 , rysunki). Zobaczymy co się może wydarzyć na paru najprostszych przykładach.
Przykład 2.1. dwie proste równoległe: x + y = 1, x + y = 2 – układ sprzeczny (brak rozwiązań);
trzy proste przecinające się w jednym punkcie: x = 1, y = 1, x + y = 2 – dokładnie jedno rozwiązanie;
trzy proste które nie mają wspólnego punktu: x = 1, y = 1, x + y = 0;
jedna prosta: x + y = 3 nieskończenie wiele rozwiązań (y = 3 − x);
proszę sobie spróbować zrobić analogony w R3 .
Zazwyczaj (najczęściej) jako przecięcie dwóch prostych na płaszczyźnie otrzymujemy punkt, jako przecięcie dwóch płaszczyzn w przestrzeni trójwymiarowej dostajemy prostą, jako przecięcie trzech płaszczyzn (lub
płaszczyzny i prostej) dostajemy punkt.
2.2
Metoda eliminacji Gaussa: tablice (macierze)
Na razie tablice (macierze) jest traktowane jako forma zapisu układów równań liniowych.
Pokażemy rozwiązywanie metoda eliminacji Gaussa przez sprowadzanie do postaci schodkowej za pomocą
operacji elementarnych.
Typowy układ równań liniowych:




a11 x1 + . . . + a1n xn = b1 ,
..
.
.


a x + . . . + a x = b .
m1 1
mn n
m
Geometrycznie rzecz biorąc, szukamy przecięcia m „hiperpłaszczyzn kowymiaru 1” (cokolwiek by to nie
znaczyło) w przestrzeni n-wymiarowej Rn . W sensie analitycznym mamy m równań w przestrzeni Rn .
Zaczniemy sobie od tego w jaki sposób można (potencjalnie) uprościć, ale bez zmieniania zbioru rozwiązań.
Twierdzenie 2.1. Wykonanie poniższych operacji (tak zwane operacje elementarne):
• zamiana ze sobą dwóch równań (interpretowane jako wiersze w tablicy/macierzy): wi ↔ wj ;
• pomnożenie danego równania (wiersza w macierzy) przez niezerowy skalar wi ∗= α (gdzie α ∈ R \ {0});
• dodanie bądź odjęcie do danego równania innego pomnożonego przez dowolny (niekoniecznie niezerowy)
skalar α ∈ R: wi += α · wj (gdzie i 6= j) [analogicznie można odejmować];
nie zmienia zbioru rozwiązań.
Dowód. Wszystkie powyższe operacje są odwracalne:
• wk ↔ wj : operacja odwrotna wk ↔ wj ;
21
• wk ∗= α: operacja odwrotna wk ∗= α1 ;
• wk += α · wj : operacja odwrotna wk −= α · wj ;
i w konsekwencji każde wykonanie działanie możemy „cofnąć”.
Skoro tak, to możemy za pomocą powyższych operacji starać się uprościć dany układ równań liniowych.
Jeżeli chcemy zapisywać, to wygodniej / szybciej będzie nam stosować zapis macierzowy, czyli będziemy
pisać:


a11 . . . a1n b1
 .
..
..
.. 
 .
.
.
. 
 .

am1 . . . amn bm
Okazuje się, że przy rozwiązywaniu dobrze jest sprowadzać do postaci schodkowej (row echelon form z
angielskiego) lub do uproszczonej postaci schodkowej (simplified row echelon form). Zaczniemy sobie od przykładów. Pokażemy potem, że taki sposób postępowania można zapisać w postaci algorytmu (czyli precyzyjnie
opisanej procedury postępowania).
Przykład 2.2. Rozpatrzmy równanie:



2u + v + w = 5
4u − 6v
= −2


−2u + 7v + 2w = 9
Dla skrócenia zapisu, zapisujemy w postaci macierzowej:


2
1 1
5


 4 −6 0 −2 
−2
7 2
9
Musimy pamiętać, że wiersze odpowiadają równaniom (k-ty wiersz oznaczamy przez wk ).
Usuwamy pod dwójką w 1 kolumnie: w2 += − 2 · w1 :


2
1
1
5


 0 −8 −2 −12  ,
9
−2
7
2
następnie w3 += w1 i dostajemy




2
1
1
5


 0 −8 −2 −12 
14
0
8
3
Usuwamy pod −8, w3 += w2 :
2
1
1
5


 0 −8 −2 −12  .
0
0
1
2
Czyli w = 2. I potem postępujemy „wstecz”, czyli znając w wyznaczamy v: −8v − 2w = −12, −8v = −8, czyli
v = 1. Teraz wyznaczamy u: 2u + v + w = 5, czyli 2u = 5 − 2 − 1, czyli u = 1.
Macierz schodkowa – macierz, której pierwsze niezerowe elementy kolejnych niezerowych wierszy, znajdują
się w coraz dalszych kolumnach, a powstałe wiersze zerowe umieszcza się jako ostatnie.
Twierdzenie 2.2. Każda macierz może zostać przekształcona do postaci schodkowej za pomocą operacji
elementarnych, w szczególności metody Gaussa.
22
Definicja 2.1. Macierz schodkowa zredukowana to macierz schodkowa, która spełnia następujące warunki:
• jej pierwszym niezerowym elementem kolejnych wierszy (współczynnikiem wiodącym) jest jedynka,
• jeśli wyraz aij znajduje się w tej samej kolumnie, co pewien współczynnik wiodący i w wierszu powyżej
tego współczynnika, to aij = 0.
Sprowadzanie do postaci schodkowej zredukowanej (wersja eliminacji Gaussa) nazywa się czasem metodą
Gaussa-Jordana.
Aby sprowadzić macierz do postaci schodkowej zredukowanej, najpierw sprowadzamy do postaci schodkowej, a następnie idąc od schodków najbardziej na prawo do tych najbardziej na lewo:
1. najpierw dzielimy wiersz w którym znajduje się schodek przez wartość macierzy w „schodku” – wtedy
wartość w schodku staje się równa jeden;
2. następnie zerujemy wszystkie wartości poza schodkiem znajdujące się w kolumnie.
Macierz schodkowa zredukowana jest wygodna, jeżeli chcemy rozwiązywać równania liniowe na komputerze, gdyż algorytm doprowadza do postaci w której w zasadzie mamy gotowe rozwiązanie. Rozpatrujemy
macierz rozszerzoną którą sprowadzamy do postaci schodkowej.
• jeżeli w ostatniej kolumnie (odpowiadającej wyrazom wolnym) mamy schodek, to znaczy, że układ nie
ma rozwiązań;
• w przeciwnym razie, zmienne które odpowiadają schodkom wyznaczają się bezpośrednio za pomocą
parametrów, które odpowiadają zmiennym w którym nie ma schodków.
2.3
Przykłady
Pokażemy teraz parę przykładów sprowadzania macierzy do postaci schodkowej i do postaci schodkowej
zredukowanej. Następnie rozwiążemy przykładowe równania.
Przykład 2.3. Sprowadzimy macierz do postaci schodkowej za pomocą metody eliminacji Gaussa:
0
0


0
0

0
0
1
2
3 1
1 2

.
0 −1
0 1

Ponieważ pierwsza kolumna jest cała zerowa, patrzymy na drugą. W drugiej pierwszy element niezerowy jest
dopiero w trzecim wierszu, musimy więc zamienić wiersz pierwszy z trzecim (w1 ↔ w3 ):
0
0


0
0

1
0
0
2
0 −1
3 1

.
1 2
0 1

Teraz redukujemy za pomocą operacji elementarnych wszystkie niezerowe wyrazy znajdujące się poniżej 1,
w4 −= 2w1 :


0 1 0 −1
0 0 3 1 



.
0 0 1 2 
0 0 0 3
23
Pod jedynką są teraz same zera, możemy więc przejść do drugiego wiersza. Za pomocą 3 redukujemy 1 w
wierszu trzecim, w3 −= w2 /3:


0 1 0 −1
0 0 3
1 



.
0 0 0 5/3
0 0 0 3
Teraz zostało jedynie wyzerować 3 w wierszy czwartym za pomocą 5/3 z wiersza trzeciego, w4 −= 95 w3 :
0
0


0
0

1
0
0
0
0 −1
3 1 

.
0 5/3
0 0

Dostaliśmy postać schodkową naszej macierzy. Jeszcze zaznaczę za pomocą ∗ „schodki” (czyli współczynniki
wiodące):


0 ∗
0 0 ∗




.
0 0 0 ∗
0 0 0 0
Przykład 2.4. Sprowadzenie do postaci schodkowej (bez drobiazgowego komentarza):
#
"
"
#
"
1 0 3 1
1 0 3 1
∗
•
(w2 −= 2w1 )
, schodki:
2 0 1 2
0 0 −5 0
0 0 ∗
0
 3

• 
−1
1
1
1

 (w ↔ 2w1 )
0 2
2
1
1

 (w += w1 /3; w4 −= w1 /3)
0 3
2




3 1
∗ 1
0 1
0 ∗




, schodki 
.
(w3 −= w2 /3; w4 −= 73 w2 ) 
0 0
0 0
0 0
0 0


3
 0


−1
1


#
;
3 1
0
1 




0 1/3
0 7/3


Przykład 2.5. Sprowadzimy teraz macierz do postaci schodkowej zredukowanej:


2 1 3 1
1


0 0 −5 0 (w1 ∗= )
2
2 2 3 1



1 1/2 3/2 1/2

0 −5 0 
0
 (w3 −= 2w1 )
2 2
3
1



1 1/2 3/2 1/2

0 −5 0 
0

0 1
0
0
1 1/2 3/2 1/2
−1
3

0
0 
(w2 ↔ w3 ) 0 1
; w1 −= w3 )
 (w1 −= w2 /2; w3 ∗=
5
2
0 0 −5 0


1 0 0 1/2

0 
0 1 0

0 0 1 0
Ponieważ umiemy już sprowadzać macierz do postaci schodkowej i schodkowej zredukowanej, pokażemy
na paru przykładach jak to się przydaje do rozwiązywania równań liniowych.
Przykład 2.6. Rozpatrzmy układ równań



x+y+z =1
2x − 3y − z = 2


x + 6y + 4z = 1
24
Geometrycznie rzec biorąc przecinamy 3 płaszczyzny w przestrzeni trójwymiarowej. Jak się okaże, rozwiązaniem będzie prosta.
Macierz stowarzyszoną z tym układem sprowadzamy do postaci schodkowej (pierwsza kolumna odpowiada
zmiennej x, druga y, trzecia z)






1
1
1 1
1
1
1 1
1
1
1 1






 2 −3 −1 2  (w2 −= 2w1 ; w3 −= w1 )  0 −5 −3 0  (w3 += w2 )  0 −5 −3 0  .
1
6
4 1
0
5
3 0
0
0
0 0
Zobaczmy jeszcze gdzie są „schodki”


∗


 0 ∗
.
0 0 0 0
Ponieważ nie ma „schodka” w ostatniej kolumnie, więc układ ma rozwiązanie. Równanie będzie zależało od
parametru z (parametrem będzie każda zmienna dla której w odpowiadającej kolumnie nie ma schodka).
Wyliczamy więc „od końca” kolejne zmienne: −5y − 3z = 0, czyli y = − 53 z, i dalej x + y + z = 1, czyli
x = 1 − (− 53 z) − z = 1 + 23 z.
Koniec Wykładu 4
2.4
Mnożenie wektora przez macierz, interpretacja geometryczna
Do zajmowania się rozwiązywaniem równań liniowych przyda się nam dorzucenie do tablic pewnych operacji
– powstają w ten sposób macierze.
Konwencja zapisu wektorów (punktów): Zwyczajowo (domyślnie) stosuje się zapis kolumnowy,
" to
#
x
2
znaczy dla przykładu punkt (x, y) ∈ R zapisujemy w postaci macierzy składającej się z jednej kolumny:
.
y
h
i
Rzadziej się spotyka (na przykład u fizyków) zapis wierszowy, wtedy punkt (x, y) zapisujemy jako x y .
Macierz A = [aij ] ∈ Rm×n oznacza macierz o m wierszach i n kolumnach:

a11
 .

A =  ..

. . . a1n
.. 
. 
.
am1 . . . amn
W przypadku Rn przez ei będę rozumiał wektory które na i-tym miejscu mają jedynkę, a poza tym same
zera (tak zwane wektory bazy kanonicznej), w zapisie kolumnowym mamy:
 
 
 
 
1
0
0
0
 
 
.
.
0
1
.
.
 
 
.
.

 
 
 
e1 = 
0 , e2 = 0 , . . . , en−1 = 0 , en = 0 .
.
.
 
 
 .. 
 .. 
1
0
 
 
 
 
0
0
0
1
Dodawanie, odejmowanie i przemnażanie macierzy przez skalar (liczbę) – tak samo jak było dla wektorów,
proste. Dodawanie: możemy dodawać macierze posiadające tę samą ilość kolumn i wierszy, jeżeli A = [aij ], B =
[bij ] ∈ Rm×n , to
A + B = [aij + bij ].
25
Analogicznie definiujemy odejmowanie macierzy (jest także określone dla macierzy tych samych wymiarów):
A − B = [aij − bij ].
Łatwo można sprawdzić, że 0 + A = A + 0 = A (mówimy, że 0 jest elementem neutralnym dodawania), gdzie 0
to macierz posiadająca same zera. Dodawanie macierzy jest przemienne (A + B = B + A) i łączne, to znaczy
(A + B) + C = A + (B + C).
Macierze możemy mnożyć przez skalary za pomocą wzoru
α · A = [αaij ].
Teraz zajmijmy się mnożeniem wektora przez macierz, postaramy się wyprowadzić jak to działanie powinno wyglądać. Rozpatrzymy w tym celu dwa przykłady.
Przykład 2.7. Rozpatrzmy układ równań
(
a11 x1 + a12 x2 = b1
a21 x1 + a22 x2 = b2
Chcielibyśmy zdefiniować mnożenie wekotra przez macierz tak, by można było zapisać to równanie w postaci
A · x = b,
"
#
" #
x
b
gdzie A = [aij ] to macierz współczynników, x = 1 , b = 1 .
x2
b2
W konsekwencji dostajemy, że działanie Ax musi być zdefiniowane przez
"
a
a
Ax = 11 12
a21 a22
#"
#
"
#
x1
a x + a12 x2
= 11 1
.
x2
a21 x1 + a22 x2
Przykład 2.8. Wrócimy tutaj do przykładu z Fibonacciego (oryginalny problem!). Przypominam jak wygląda
równanie:
(
staren+1 = 0 · staren + 1 · mloden ,
(2.3)
mloden+1 = 1 · staren + 1 · mloden .
Prawą stronę równania zapiszmy w postaci macierzowej (jak w równaniach):
"
#
0 1
.
F =
1 1
I teraz chcemy tak zdefiniować mnożenie, by powyższe równanie można było zapisać w postaci:
"
#
"
# "
#
"
#
staren+1
0 1
staren
staren
=
·
=F·
.
mloden+1
1 1
mloden
mloden
I teraz widzimy, że aby" to uzyskać
musimy przemnożyć (jakby za pomocą iloczynu skalarnego) każdy wiersz
#
staren
macierzy przez wektor
.
mloden
Definicja 2.2. Rozpatrzmy macierz A = [aij ]i=1..n,j=1..k ∈ Rn×k o n wierszach i k kolumnach:


a11 . . . a1k
 .
.. 

A =  ..
. 
,
an1 . . . ank
26
oraz wektor v ∈ Rk zapisany w postaci kolumnowej


v1
.
k

v =  .. 
∈R .
vk
Wtedy w wyniku działania A · v (często zapisywane jako Av) jest element przestrzeni Rn dany wzorem
k
z

}|
{ 



a11 . . . a1k
v1 
a11 v1 + . . . + a1k vk

 .
  . 


.
..
 

 ∈ Rn .
.. 
A·v =
.
 ..
 ·  ..  k = 



an1 . . . ank
vk
an1 v1 + . . . + ank vk
UWAGA [bardzo ważne]: jak widać z powyższej procedury, nie ma można (operacja nie da się poprawnie
zdefiniować) mnożyć macierzy przez wektor, jeżeli macierz nie ma tylu kolumn jaki jest wymiar wektora.
Inaczej mówiąc, macierz n×k możemy przemnożyć tylko przez wektor o k współrzędnych, i w efekcie powstaje
nam wektor o n współrzędnych.
Obserwacja 2.1. Mamy Aei to i-ta kolumna macierzy A. To jest przydatne w przeprowadzaniu interpretacji
geometrycznej.
Inaczej mówiąc można powiedzieć, że każdej macierzy A ∈ Rn×k odpowiada odwzorowanie (liniowe, zaraz
wyjaśnię) z Rk do Rn :
A(v + w) = Av + Aw, A(αv) = αAv.
Zwyczajowo się utożsamia to odwzorowanie z macierzą.
ZASTOSOWANIA: obroty, rzutowania prostopadłe, zgniecenia, obroty lustrzane, etc.
Postaram się teraz na przykładach w R2 i R3 zobrazować geometrycznie (na wykładzie było bardzo dużo
przykładów wraz z rysowaniem, tu tylko wypiszę parę przykładów).
Przykład 2.9. Przykładowe operacje na płaszczyźnie które można uzyskać przez macierze:
• zgniatanie i rozszerzanie:
"
#
a 0
0 b
• symetria względem prostej x = y
"
0 1
1 0
#
• obrót o kąt α:
"
cos α − sin α
sin α cos α
Orientacja przestrzeni.
Przykład 2.10. Wstęga Möbiusa.
Przykład 2.11. Transport obuwia z Polski do Rosji.
27
#
Przykład 2.12. My jesteśmy lewoskrętni.
[źródło: http: // sciaga. pl/ slowniki-tematyczne/ 2601/ zastosowanie-znaczenie-funkcje/ ]
Może zdarzyć się także, że jeden z izomerów leku ma działanie lecznicze, a drugi jest bardzo szkodliwy
dla organizmu. Najbardziej znanym lekiem takiego typu jest talidomid. Talidomid był środkiem uspokajającym
podawanym kobietom ciężarnym. Był popularny w latach 50. i 60. XX wieku w Europie. Lekarze często
przepisywali talidomid, jednak po pewnym czasie od momentu rozpoczęcia stosowania tego leku zauważono
wzrost urodzeń dzieci z ciężkimi wadami wrodzonymi (braki rąk, nóg).
Po przeprowadzonym dochodzeniu okazało się, że tabletki talidomidu zawierały mieszaninę izomerów R i
S. Izomer R miał działanie terapeutyczne, natomiast za powstawanie wad wrodzonych u dzieci odpowiedzialny był enancjomer S talidomidu. Od tego czasu bardzo dokładnie bada się działanie wszystkich enancjomerów danego leku, zanim zostanie on wprowadzony na rynek farmaceutyczny. Odkrycie odmiennego działania
enancjomerów niektórych leków spowodowało, że opracowano bardzo szczegółowe sposoby rozdziału mieszanin
enancjomerów.
Zastosowanie 2.1. 1. preprocessing - rozpychanie 2. PCA - redukcja wymiarowości 3. SVM - sytuacja
jednowymiarowa
Koniec Wykładu 5
Zastosowanie 2.2. Filtry liniowe przy zdjęciach.
INTERPRETACJA ROZWIĄZYWANIA RÓWNAŃ PRZY POMOCY OPERACJI MACIERZOWYCH
Ax = b, jako zbiór tych wszystkich punktów które po przekształceniu dają nasz punkt.
Z podstawowych operacji jest jeszcze operacja transpozycji, która polega na zamianie wierszy na kolumny,
to znaczy dla A = [aij ] ∈ Rm×n mamy AT = [aji ] ∈ Rn×m , dla przykładu
"
#T
2 3 −1
0 1 −1


2
0


=  3 −1 .
−1 −1
Dygresja 2.2. Ponieważ jak widać wektory w zapisie kolumnowym zajmują w tekście dużo miejsca, często
zapisuje się używając operacji transpozycji (operacja zamienia w macierzy wiersze z kolumnami), i wtedy na
h
iT
przykład e1 = 1 0 . . . 0 . W niektórych programach (n.p. Matlab) jest przyjęta jeszcze konwencja, że jak
zapisujemy macierze, to przecinek oznacza postawienie macierzy obok siebie, a średnik oznacza pod (wygodne
jeżeli używamy macierzy budując je z bloków innych macierzy). Wtedy w tej konwencji zapis e1 mógłby być
e1 = [1; 0; . . . ; 0] = [1, 0, . . . , 0]T .
PODSTAWOWE TYPY MACIERZY:
• Macierz zerowa oznaczamy przez 0 (jest tu pewna kolizja oznaczeń). Zdefiniowana jest dla dowolnych
macierzy.
• Macierze kwadratowe to są macierze które mają równą liczbę wierszy i kolumn. Dla takich macierzy
można rozpatrywać przekątną główną, to jest elementy (aii ).
• Macierz identycznościowa I jest zdefiniowana tylko dla macierzy kwadratowych (jej wielkość, czyli ilość
kolumn i wierszy jest zazwyczaj wyciągana z kontekstu), i składa się z jedynek na przekątnej, zer poza:
I=

1
0

0

.
.
.
.
.
.
1
0
0 ...
28
... ... 0
..
0
.
..
.
1
.. ..
.
.










• Inne, często spotykane macierze kwadratowe: diagonalna, górnie trójkątna (spotyka się także nazwę
górnie przekątniowa): to taka macierz, która poniżej głównej przekątnej ma same zera (dualnie: dolnie
trójkątna, to taka która powyżej przekątnej ma same zera). Z sympatycznych macierzy jest jeszcze
macierz trójdiagonalna, która jest potencjalnie niezerowa tylko na głównej przekątnej i „przekątną
poniżej i powyżej”:


a11 a12 0 . . . . . . 0

.. 

0
. 
a21 a22 a23


.
...


 0 a32 a33 a34



... ... ... ...
Formalnie mówiąc, macierz kwadratowa A = [aij ] jest trójdiagonalna o ile aij = 0 dla wszystkich i, j,
takich, że |i − j| > 1.
• Są jeszcze ważne typy macierzy kwadratowych (symetryczne, dodatnio określone), ale jeszcze troszkę
za wcześnie o nich.
Jeżeli chodzi o sposób zapisywania macierzy, to są dwie ważne klasy, o których chciałbym wspomnieć.
Macierze blokowe to są macierze, w których zamiast współczynników mamy bloki macierzowe, jako przykład zapisu macierzy 4 na 6 mamy
# "
#
"
1 0 2
2 1 0


 0 1 −1
−3 1 1 


"
 −2

5
#
1 6
3 0
"

#
1 0 4 

7 −1 1
Inny przykład to
"
#
A11 A12 A13
gdzie Aij ∈ R2×2 ,
A21 A22 A23 ,
można potraktować jako reprezentację macierzy o sześciu kolumnach i czterech wierszach. Takie podejście
jest ważne wtedy, gdy mamy dostęp do szybkiej pamięci, w której możemy wykonywać operacje, i wtedy
tak maksymalnie dobieramy wielkość bloku, by w tej pamięci dały się radę zmieścić podstawowe operacje.
Analogicznie możemy robić w przypadku delegowania operacji macierzowych na karty graficzne – wtedy
też musimy podzielić te operacje na podzadania (za pomocą bloków). To jest konsekwencją faktu, że na
macierzach blokowych o odpowiednio zgodnych blokach działamy tak samo, jakby to były macierze skalarne
(dla przykładu dodawanie macierzy blokowych, polega na dodawaniu bloków). Zobaczymy też w następnej
sekcji, że to podejście jest też wygodne przy przyspieszaniu operacji mnożenia.
Drugą ważną klasą macierzy są macierze rzadkie (sparse matrices) – są to takie macierze w których elementów niezerowych jest znacznie mniej niż zerowych. Występują często w praktyce, choćby w NLP=natural
Language Processing, czy macierzach sąsiedztwa dla grafów.
Macierze rzadkie w celu oszczędności pamięci reprezentujemy za pomocą mapy, która dla indeksu przyporządkowuje wartość macierzy w tym indeksie. Dla przykładu A = {(1, 21) → −1, (33, 220) → 2} oznaczałoby
macierz, która ma wszystkie współczynniki zerowe, poza a1,21 = −1 i a33,220 = 2.
Dygresja 2.3. NLP=natural language processing. Podstawowa analiza tekstów za pomocą konceptu bag of
words (worek słów), którą zaraz opiszę, prowadzi w sposób naturalny do macierzy rzadkich.
Załóżmy, że chcemy zapisać (w uproszczeniu) pewien tekst do dalszej analizy. Przyjmujemy, że mamy
ustalony słownik (który potencjalnie, jak w języku angielskim, może liczyć nawet milion słów).
Rozpatrzmy tekst (zapisuje bez znaków przestankowych, kolejne zdania w kolejnych liniach, świadomie
piszę niegramatycznie kot zamiast kota aby sobie uprościć):
29
Ala ma kot
kot ma mysz
kot je mysz
Używam słownika pl PL.dic (do sprawdzania polskiej pisowni, używa na przykładu open office), ma 280962
słowa.
W słowniku ”Ala” ma indeks 2246, ”je” 62279, ”kot” 74998, ”ma” 85835, ”mysz” 97270.
Chcemy mieć reprezentację tego tekstu. Przy podejściu o którym piszę, zapominamy o kolejności słów (do
podstawowych zadań to nie przeszkadza). Wtedy patrzymy tylko na to, czy w danym zdaniu występuje dane
słowo. Dostajemy wtedy macierz o 3 wierszach (kolejne wiersze odpowiadają kolejnym zdaniam), i 280962
kolumnach, zapisanych w rzadki sposób jako {(1, 2246) → 1, (1, 74998) → 1, (1, 85835) → 1, ....}.
Dygresja 2.4. Reprezentacja grafów. Często stosowana jest reprezentacja grafów przez macierz sąsiedztwa.
Macierz sąsiedztwa to kwadratowa macierz M o liczbie kolumn i wierszy równej ilości wierzchołków w grafie (V
to zbiór wierzchołków grafu). Jeżeli pomiędzy wierzchołkami vi i vj jest krawędź to M [i][j] = 1, w przeciwnym
wypadku M[i][j]=0. Jak łatwo zauważyć, w przypadku większości grafów bazowanych na rzeczywistych danych
(na przykład na podstawie sieci społecznościowych) takie macierze będą składały się prawie z samych zer. W
konsekwencji do ich zapisu będziemy zazwyczaj stosowali macierzy rzadkich.
2.5
Mnożenie i potęgowanie macierzy
Uwaga 2.2. Często jeżeli mamy zestaw danych (formalnie ciąg punktów) v1 , . . . , vn z przestrzeni Rk , to
często zapisujemy w postaci macierzy
V = [v1 , . . . , vn ] ∈ Rk×n .
Wtedy mnożenie A · V , gdzie A ∈ Rj×k będzie odpowiadało przemnożeniu każdego wektora składającego się
na V przez A, i w konsekwencji dostaniemy n wektorów z przestrzeni Rj . Taka interpretacja prowadzi nas w
sposób jednoznaczny do definicji mnożenia dwóch macierzy.
Jeżeli A i B są macierzami, to możemy je wymnożyć o ile ilość kolumn A odpowiada ilości wierszy B.
Wtedy w macierzy C = AB punkt cij powstaje „nieprecyzyjnie mówiąc” przez wymnożenie i-tego wiersza
P
z A przez j-tą kolumnę z B (czyli cij = k aik bkj ). Na początku najlepiej nauczyć się mnożyć A przez B
„układając” B „u góry”. Łatwo sprawdzić, że
AI = IA = A,
gdzie I jest macierzą jednostkową odpowiedniej wielkości dobranej tak by mnożenie miało sens.
Jeżeli A jest macierzą kwadratową, to przez An (gdzie n ∈ N) rozumiem n-tą potęgę A, czyli (definicja
indukcyjna):
A0 = I, An+1 = A · An .
Jeżeli mamy dany wielomian W (x) =
P
i
ai xi oraz macierz kwadratową A, to przez W (A) rozumiemy
P
i
ai Ai .
Przykład 2.13. Zobaczymy teraz, że potęgowanie macierzy jest w pewnym sensie przydatne w rozwiązaniu
problemu Fibonacciego.
Rozważmy oryginalny problem: mamy w k-tym miesiącu mk mlodych królikow i sk starych. Wtedy ilość w
następnym miesiącu jest dana przez

m
k+1 = mk + sk ,
sk+1 = mk .
Powyższy układ korzystając z postaci macierzowej możemy zapisać jako
"
#
"
#
"
# "
#
mk+1
1 · mk + 1 · sk
1 1
mk
=
=
·
.
sk+1
1 · mk + 0 · sk
1 0
sk
30
Ale oznacza to, że rozumując przez indukcję dostajemy
"
#
"
mk
1 1
=
sk
1 0
#k "
#
m0
·
.
s0
W konsekwencji gdybyśmy umieli potęgować macierze (czego się nauczymy), potrafilibyśmy rozwiązać oryginalny problem Fibonacciego.
Dla prostoty w poniższych zadaniach zapisuję macierze jak w Matlabie (Scilabie), to znaczy średnik
oznacza przejście do następnego wiersza.
Zadanie 2.1. Zadania na mnożenie macierzy:
1. Niech A = [1, 1; 0, 1]. Proszę policzyć I + A2 ; W (A), gdzie W (x) = 1 − x3 ; An dla n ∈ N.
2. Niech A = [0, 1; 1, 1]. Policz An dla n ∈ N.
3. Niech A = [1, 2, 3; 3, −1, 0], B = [1, 2, 0; 2, 0, 1; 3, −2, 0], C = [1, 2, −1; 3, −2, 1], D = [2, 1; 1, 0], E =
[1, 0; 2, −1; 0, 1], F = [1, 2, 0], G = [1; 2; 3]. Proszę wymnożyć (o ile to możliwe)
AB, AC, BC, CD, DE, AE, BE, EB, GF, AG, GA, GE, GC, EA.
Uwaga 2.3. Mnożenie macierzy nie jest przemienne, to znaczy zazwyczaj AB 6= BA. Jako przykład wystarczy
rozpatrzyć:
"
#
"
#
0 0
0 1
A=
,B=
.
1 0
0 0
Z drugiej strony można pokazać (nie będziemy tego robić w tym momencie, bo jest dużo pisaniny), że
mnożenie macierzy jest łączne, to znaczy
A(BC) = (AB)C,
dla dowolnych macierzy A, B, C które można wymnożyć. W związku z tym będziemy pisać po prostu ABC
zamiast A(BC) czy (AB)C.
Warto zauważyć, że łączność jest ważna – dodawanie liczb na komputerze nie jest łączne, należy w miarę
możliwości dodawać od najmniejszych do największych (czyli dodawać liczby tego samego rzędu wielkości).
Zadanie 2.2. Niech A, B, C ∈ M22 (R) (macierze 2 × 2). Proszę pokazać, że
A(BC) = (AB)C.
ZŁOŻONOŚĆ: Mnożenie macierzy kwadratowych: trywialne złożoność taka bezpośrednia jest O(n3 ) (patrzymy na ilość mnożeń): zauważmy, że jak mnożymy A = [aij ] przez B = [bij ], to (dla przykładu) popatrzmy
w którym mnożeniu występuje aij , jego będziemy mnożyć przez dowolne bjk , gdzie k dowolne z zakresu 1..n.
Oznacza to, że mamy n2 · n mnożeń (bo możemy wybrać ij na n2 sposobów). Zobaczmy jak możemy uzyskać
tą złożoność za pomocą macierzy blokowych.
Bezpośrednie zastosowanie najprostsza zasada dziel i rządź ma n3 : jeżeli zastosujemy w postaci blokowej:
"
#
"
#
A
A12
B11 B12
A = 11
,B =
,
A21 A22
B21 B22
gdzie A, B są macierzami n × n, a Aij oraz Bij są macierzami n1 × n1 (gdzie n = 2n1 ), wtedy mamy
"
#
C
C12
AB = C = 11
,
C21 C22
31
gdzie Cij są macierzami n1 × n1 takimi, że Cij = Ai1 B1j + Ai2 B2j . Wzory na Cij pokazują, że aby je wyliczyć
potrzebujemy 8 mnożeń macierzy n1 ×n1 i 4 dodawania. W konsekwencji, przy dwukrotnym wzroście wielkości
macierzy ilość operacji (przypominam, zliczamy tylko mnożenie) wzrasta 8-krotnie. Oznacza to, jak łatwo
zauważyć, że złożoność algorytmu jest sześcienna – O(n3 ).
Strassen [Gaussian Elimination is Not Optimal, Numer. Math, 1969, vol. 4 pp 354-356] znalazł wzory
które wymagają tylko 7 mnożeń:
I
II
III
IV
V
VI
V II
=
=
=
=
=
=
=
oraz
C11
C21
C12
C22
(A11 + A22 )(B11 + B22 )
(A21 + A22 )B11
A11 (B12 − B22 )
A22 (−B11 + B21 )
,
(A11 + A12 )B22
(−A11 + A21 )(B11 + B12 )
(A12 − A22 )(B21 + B22 )
= I + IV − V + V II
= II + IV
,
= III + V
= I + III − II + V I
co oznacza, że jego algorytm ma złożoność O(nlog2 7 = n2,8.. ). Zostało to potem poprawione, ale hipoteza, że
złożoność wynosi O(n2+ε ) jest o ile wiem, ciągle otwarta.
Więcej informacji można znaleźć na wikipedii: https://en.wikipedia.org/wiki/Matrix_multiplication_
algorithm.
Koniec Wykładu 6
2.6
Macierz odwrotna
W niniejszej sekcji zajmiemy się definicją i liczeniem macierzy odwrotnej do danej.
Definicja 2.3. Niech A ∈ Mnn (R). Mówimy, że B jest macierzą odwrotną do A (oznaczamy macierz odwrotną
przez A−1 ) o ile
AB = BA = I.
Jeżeli dla danej macierzy istnieje macierz odwrotna, to tą macierz nazywamy macierzą odwracalną.
Obserwacja 2.2. Jeżeli dla danej macierzy istnieje macierz odwrotna, to jest ona jednoznacznie wyznaczona.
Dowód. Załóżmy, że mamy macierze B1 , B2 takie, że
AB1 = B1 A = I = B2 A = AB2 .
Wtedy B1 = B1 I = B1 (AB2 ) = (B1 A)B2 = IB2 = B2 .
Zadanie 2.3. Proszę pokazać, że macierz
"
1 1
A=
1 1
#
nie jest odwracalna. Wsk.: proszę najpierw zauważyć, że jeżeli macierz B jest odwracalna, to Bv 6= 0 dla
każdego wektora v 6= 0, a następnie znaleźć takie v ∈ R2 , że Av = 0.
32
Spróbujmy więc policzyć macierz odwrotną „bezmyślnie” (proszę tak nie rozwiązywać!!!). Załóżmy, że
mamy daną macierz A = [aij ] n × n, i szukamy takiej macierzy B = [bij ], by AB = I. Wtedy
n
X
dla i, j ∈ {1, . . . , n},
aik bkj = δij
k=1
gdzie δij = 1 jeśli i = j i 0 gdy i 6= j. W konsekwencji otrzymujemy n2 równań o zmiennych bij , który możemy
spróbować rozwiązać. Jak pokażę u dołu, dla macierzy 2 × 2 można się jeszcze w ten sposób bawić (mamy 4
zmienne), ale dla 3 × 3 (9 zmiennych) czy 4 × 4 (16 zmiennych) to już się robi makabra.
Przykład 2.14. Spróbujmy w powyższy sposób znaleźć macierz odwrotną do
"
Niech
#
1 1
.
1 0
"
#
b
b
B = 11 12 .
b21 b22
Chcemy, aby AB = I, czyli by
"
#
"
#
b11 + b21 b12 + b22
1 0
=
.
b11
b12
0 1
(2.4)
W konsekwencji dostajemy układ równań

b11



b
+ b21 = 1
12 + b22 = 0
,

b11 = 0



b12 = 1
czyli otrzymujemy, że
"
#
0 1
B=
.
1 −1
Wprost z tego jak wyprowadziliśmy mamy, że AB = I. Aby sprawdzić, czy B jest rzeczywiście macierzą
odwrotną do A, musimy jeszcze sprawdzić czy BA = I (tak jest).
Widzimy, że powyższa metoda jest w zasadzie niestosowalna. Ale spróbujmy zobaczyć troszkę bardziej
inteligentnie jak ona działa. Zobaczmy, że (2.4) można potraktować jako dwa równania:
(
(
b11 + b21 = 1
oraz
b11 = 0
b12 + b22 = 0
b12 = 1
Macierze rozszerzone dla powyższych układów są dane
"
1 1 1
1 0 0
#
"
oraz
1 1 0
1 0 1
#
.
Rozwiążmy więc układ pierwszy (sprowadzając do postaci schodkowej zredukowanej). W tym celu wystarczy
dokonać operacji w2 −= w1 ; w2 ∗= − 1, w1 −= w2 aby dostać
"
1 0 0
0 1 1
#
,
czyli b11 = 0, b21 = 1. Analogicznie rozwiązujemy drugi układ (proszę zauważyć, że dokonujemy dokładnie
tych samych operacji elementarnych co wcześniej) za pomocą w2 −= w1 ; w2 ∗= − 1, w1 −= w2
"
1 0 1
0 1 −1
33
#
,
czyli b12 = 1, b22 = −1. Skoro dokonywaliśmy dokładnie tych samych operacji, to po co mamy to powtarzać?
Możemy zamiast tego utworzyć taką „dużą” rozszerzoną macierz [A|I] daną przez
"
1 1 1 0
1 0 0 1
#
,
i spróbować sprowadzić A do postaci schodkowej zredukowanej, równocześnie modyfikując I do macierzy
odwrotnej do A. Widzimy, że stosując tą metodę można relatywnie szybko znaleźć macierz odwrotną. Pokazuje
to poniższe twierdzenie.
Twierdzenie 2.3. Niech A będzie daną macierzą kwadratową. Rozpatrujemy macierz rozszerzoną [A|I].
Niech [C|B] oznacza macierz uzyskaną w wyniku sprowadzenia A (w macierzy [A|I]) do postaci schodkowej
zredukowanej za pomocą operacji elementarnych.
Wtedy A jest macierzą odwracalną wtedy i tylko wtedy gdy C = I. Co więcej, jeżeli C = I, to A−1 = B.
Koniec Wykładu 7
2.7
Zadania
Zadanie 2.4. Proszę rozwiązać (przy pomocy metody eliminacji Gaussa) układy równań:
1. x = 1, x = 2;
2. x + y = 1, x + 2y = 2, 2x + 3y = 3;
3. x + y = 1, x + 2y = 2, 2x + 3y = 0;
4. 3x + y = 1, x + 2y = 5;
5. x2 + x3 + x4 + x5 = 1, x2 − x3 + x6 = 0, x1 − x2 + 2x6 = −1, x4 − x5 = 2, x1 − x3 + x4 = 0;
6. a + b + c = 2, −2a + 2b + 3c = 1, −a + 3b + 4c = 3;
7. w + v = 1, u + z = 2, v + u + w = 3, w − u = 1.
Zadanie 2.5. Rozpatrzmy następujący graf który opisuje strony S1, S2, S3, S4 (skąd dokąd są linki po których
się poruszamy):
S1 → {S2, S3, S4}, S2 → S3, S3 → S4, S4 → {S1, S2, S3}.
Proszę porangować zgodnie z algorytmem pagerank.
Zadanie 2.6. Przy pomocy operacji elementarnych na wierszach proszę sprowadzić daną macierz


0 1 1 2


0 1 0 −1
1 0 0 1
do postaci schodkowej zredukowanej.
Zadanie 2.7. Proszę podać operacje elementarne sprowadzające daną macierz
0
0


0
0

0
0
1
2
3 1
1 2


0 −1
0 1

do postaci schodkowej i schodkowej zredukowanej.
34
Zadanie 2.8. Proszę rozwiązać układ równań a + b + c + d = 2, −2a + 2b + 3c − d = 1, −a + 3b + 4c = 0.
Zadanie 2.9. Rozwiąż w zależności od parametru a układ równań:
(
ax + y = 1,
x − y = 1.
Zadanie 2.10. Znaleźć, w zależności od parametru a ∈ R, rozwiązanie układu równań



ax + y
+ z = 1,
y + 2z = 3,



x − y + z = 2.
Zadanie 2.11. Proszę rozwiązać (przy pomocy metody eliminacji Gaussa) układy równań:
1. x = 1, x = 2;
2. x + y = 1, x + 2y = 2, 2x + 3y = 3;
3. x + y = 1, x + 2y = 2, 2x + 3y = 0;
4. 3x + y = 1, x + 2y = 5;
5. x2 + x3 + x4 + x5 = 1, x2 − x3 + x6 = 0, x1 − x2 + 2x6 = −1, x4 − x5 = 2, x1 − x3 + x4 = 0;
6. a + b + c = 2, −2a + 2b + 3c = 1, −a + 3b + 4c = 3;
7. w + v = 1, u + z = 2, v + u + w = 3, w − u = 1.
Zadanie 2.12. Niech A = [0, 1; 1, 1]. Policz An dla n ∈ N.
Zadanie 2.13. Niech A = [1, 2, 3; 3, −1, 0], B = [1, 2, 0; 2, 0, 1; 3, −2, 0], C = [1, 2, −1; 3, −2, 1], D =
[2, 1; 1, 0], E = [1, 0; 2, −1; 0, 1], F = [1, 2, 0], G = [1; 2; 3].
Proszę wymnożyć (o ile to możliwe) AB, AC, BC, CD, DE, AE, BE, EB, GF, AG, GA, GE, GC, EA.
Zadanie 2.14. Sprawdzić, czy dla macierzy prawdziwa jest następująca równość (A + B)2 = A2 + 2AB + B 2 .
Jeżeli tak, uzasadnić, jeżeli nie, podać kontrprzykład.
Zadanie 2.15. Wyznaczyć macierz odwrotną (jeżeli istnieje) do macierzy [1, 0, 1; 2, 1, 1; 1, 0, 2].
Zadanie 2.16. Proszę znaleźć (o ile to możliwe) macierz odwrotną do macierzy [1, 2, 3; 0, 1, 2; 0, 0, 2].


1 2 −1

Zadanie 2.17. Przedstaw macierz 2 3 4 
 jako iloczyn dwóch macierzy trójkątnych.
1 1 0
Zadanie 2.18. Proszę znaleźć (o ile to możliwe) macierze odwrotne do następujących macierzy [1], [1, 2; 2, 1],
[1, 2, 3; 2, 0, 1], [1, 0, 0; 0, 1, 0; 0, 0, 2], [1, 0, 0, 1; 1, 0, 0, 2; 0, 1, 0, 0; 0, 0, 1, 0] (stosuję zapis macierzy jak w Scilabie).
35
Rozdział 3
Wyznacznik macierzy
3.1
Definicja wyznacznika
Przykład 3.1. GLOBUS vs Mapa kwadratowa vs Mapa eliptyczna vs Mapa pocięta (siatka).
Ważna jest umiejętność odzyskania oryginalengo pola, jeżeli znamy na mapie kwadratowej i wzór przekształcenia. Lokalnie (analiza) każde rozsądne odwzorowanie można przybliżyć za pomocą odwzorowania liniowego, co znaczy, że aby móc policzyć, jak się zmieniło pole, musimy wiedzieć, jak odwzorowania liniowe
zmieniają pole.
Rozpatrzmy wektory v, w ∈ R2 (zapisane w postaci kolumnowej). Jeżeli ustawimy je obok siebie, to
powstaje „macierz” 2 × 2:
"
#
v1 w 1
[v, w] =
.
v2 w 2
Definicja 3.1. Zobaczmy teraz jak wyraża się pole równoległoboku rozpiętego na wektorach v i w. Załóżmy
dla prostoty, że wektory są w I ćwiartce, mają niezerowe współrzędne, i że w leży „nad” wektorem v (tzn.
v1 , v2 , w1 , w2 ­ 0 oraz w2 /w1 ­ v2 /v1 ). Wtedy po łatwych wyliczeniach („zanurzamy” ten równoległobok w
prostokącie o bokach v1 + w1 i v2 + w2 ) dostajemy, że pole równoległoboku wynosi v1 w2 − w1 v2 .
Można pokazać, że (niezależnie od tego gdzie te wektory są położone), pole równoległoboku rozpiętego
na nich wynosi |v1 w2 − w1 v2 |). Tak doszliśmy do definicji wyznacznika (z angielskiego determinant) dla takiej
macierzy 2 × 2:
v w 1
1
= v1 w2 − w1 v2 .
v2 w2 Widzimy więc, że moduł wyznacznika daje nam pole. Okazuje się, znak mówi czy macierz zmienia orientację,
czyli czy lewy but pod wpływem działania macierzy zmienia się na prawy.
Postaramy się teraz wyprowadzić definicję wyznacznika w ogólnym przypadku. Dla macierzy A = [aij ] ∈
R2×2 przez
a
11 a12 = det A
a21 a22 rozumiem„zorientowane pole” równoległoboku rozpiętego na wektorach danych przez pierwszą i drugą kolumnę A (nie precyzuję tego dokładniej, ale chodzi o to, że potencjalnie „zorientowane pole” może być ujemne,
aby odzyskać normalne pole trzeba wziąć moduł).
Uwaga 3.1. Spróbujmy wypisać jakie własności chcielibyśmy aby to zorientowane pole miało:
• pole równoległoboku rozpiętego na wektorach jednostkowych układu współrzędnych (czyli inaczej mówiąc
jednostkowego kwadratu) jest równe 1, czyli
1
0
36
0
= 1;
1
(3.1)
• pole równoległoboku o podstawie v i drugim boku równym w1 + w2 jest równy sumie pól równoległoboków
o podstawie v i boku w1 oraz w2 :
det[v, (w1 + w2 )] = det[v, w1 ] + det[v, w2 ];
(3.2)
Powyższy fakt łatwo widać, jak za podstawę przyjmiemy v i oznaczymy przez h1 (h2 ) wysokość równoległoboku rozpiętego na [v, w1 ] (odp. [v, w2 ]). Wtedy z rysunku (był na wykładzie) widać, że wysokość
równoległoboku rozpiętego na [v, w1 + w2 ] to h1 + h2 . Oraz analogicznie
det[(v1 + v2 ), w] = det[v1 , w] + det[v2 , w];
(3.3)
• przemnożenie boku przez α ∈ R przemnaża pole przez α
det[(αv), w] = α det[v, w] = det[v, (αw)];
(3.4)
• pole równoległoboku rozpiętego na v i v (to jest de facto patyczek) jest równe zero:
det[v, v] = 0.
(3.5)
Zauważmy, że nie wiemy, czy da się zdefiniować funkcję, która takie warunki w rzeczywistości spełnia (potencjalnie mogłoby się okazać, że nie). Można pokazać, że tak jest, natomiast naszym celem będzie założenie,
że taka funkcja istnieje, i będziemy starali się ją wyliczać.
Oczywiście, bezpośrednio z powyższego dostajemy, że wyznacznik macierzy diagonalnej jest równy iloczynowi wyrazów na przekątnej:
#
"
a11 0
= a11 a22 .
det
0 a22
Koniec Wykładu 8
Korzystając z powyższych wzorów dostajemy, że
0 = det[(v + w), (v + w)] = det[v, v] + det[v, w] + det[w, v] + det[w, w],
czyli zamiana kolejności kolumn zmienia znak na przeciwny
det[w, v] = − det[v, w] (antysymetryczność).
(3.6)
Jako konsekwencję otrzymujemy, że przy dodaniu do jednej kolumny drugiej przemnożonej przez jakąś stałą,
wartość wyznacznika się nie zmienia:
det[v + αw, w] = det[v, w] + α det[w, w] = det[v, w].
Wniosek 3.1. Jeżeli i-ta kolumna jest zerowa, to wyznacznik mamy równy zero bo
k ∗=0
0 = 0 det A i= det A.
W konsekwencji, jeżeli dwie kolumny się powtarzają, też mamy zero (można od jednej odjąć drugą).
Wniosek 3.2. Dla macierzy górnie (dolnie) trójkątnej:
"
#
a
a
det 11 12 = a11 a22 .
0 a22
37
(3.7)
Dowód. Robimy dla górnie (dualnie można dla dolnie). Jeżeli a11 = 0, wtedy jest kolumna zerowa, czyli
mamy zero. W przeciwnym razie korzystamy z
"
a
a
det 11 12
0 a22
#
a
k2−= a12 k1
=
11
"
#
a
0
det 11
= a11 a22 .
0 a22
Stwierdzenie 3.1. Mamy
"
#
a
a
det 11 12 = a11 a22 − a21 a12 .
a21 a22
Dowód. Mamy
"
#
"
#
"
#
a
a
a
a
0 a12
det 11 12 = det 11 12 + det
.
a21 a22
0 a22
a21 a22
Teraz pierwszy jest górnie przekątniowy, a w drugiej po zamianie kolumn dostajemy dolnie przekątniową, i
w konsekwencji otrzymujemy a11 a22 − a21 a12 .
Przykład 3.2. Policzmy pole równoległoboku rozpiętego na wektorach
" #
" #
1
3
v :=
,w=
.
2
1
Możemy skorzystać, z wzoru powyżej, ale postaramy się zastosować inną strategię, a mianowicie wersję metody
eliminacji Gaussa (z tym, że uwaga, nie pracujemy na wierszach lecz na kolumnach).
Mamy
1 3 k1+
=
2 1 Otrzymaliśmy więc, że pole tego równoległoboku wynosi 5.
"
Zadanie 3.1. Proszę analogicznie policzyć pole równoległoboku rozpiętego na wektorach v :=
"
#
−1
oraz
1
#
2
w=
.
−3
3.2
Wyznacznik w R3
Widzimy, że liczenie wyznacznika dla macierzy 2×2 wygląda tak: przekątną & bierzemy z plusem i przekątną
% z minusem. Okaże się, że podobny wzór zachodzi dla macierzy 3 × 3 (ale już nie dla macierzy wyższych
rzędów!).
Musimy najpierw uogólnić sytuację z R2 na RN : Przyjmuję następującą konwencję:
 
 
1
0
 
.
0
 .. 

 
e1 = 
 ..  , . . . , eN =   .
.
0
0
1
Dla N wektorów (kolumnowych) v1 , . . . , vN ∈ RN , przez
det[v1 , . . . , vN ]
rozumiem „zorientowaną N -wymiarową objętość” równoległościanu rozpiętego na tych wektorach (nie precyzuję dokładniej co przez to rozumiemy), ale chodzi o to, że „zorientowana objętość” może być ze znakiem −,
aby odzyskać klasyczną objętość trzeba wziąć moduł). Spróbujmy wypisać jakie własności chcielibyśmy aby
to zorientowane pole miało:
38
• objętość N -wymiarowej kostki rozpiętej na wektorach e1 , . . . , eN jest równe 1, czyli
det I = det[e1 , . . . , eN ] = 1;
(3.8)
• mamy rozdzielność mnożenia względem dodawania:
det[v1 , . . . , vk−1 , (wk + wk0 ), vk+1 , . . . , vn ]
= det[v1 , . . . , vk−1 , wk , vk+1 , . . . , vn ] + det[v1 , . . . , vk−1 , wk0 , vk+1 , . . . , vn ];
(3.9)
• przemnożenie boku przez α ∈ R przemnaża objętość przez α
det[v1 , . . . , vk−1 , (αvk ), vk+1 , . . . , vn ] = α det[v1 , . . . , vk−1 , vk , vk+1 , . . . , vn ];
(3.10)
• jeżeli dwa boki się powtarzają, to objętość się zeruje:
det[v1 , . . . , w, . . . , w, . . . , vN ] = 0.
(3.11)
Korzystając z powyższych wzorów dostajemy, że zmiana kolejności dwóch dowolnych elementów w iloczynie powoduje zmianę znaku
det[. . . , v, . . . , w, . . .] = − det[. . . , w, . . . , v, . . .] skośnie-symetryczność
(3.12)
(można spotkać się z nazwą antysymetryczne).
Postaramy się teraz policzyć wyznacznik macierzy 3 × 3:
Stwierdzenie 3.2. Rozpatrzmy macierz


a11 a12 a13


A := a21 a22 a23  .
a31 a32 a33
Aby policzyć wyznacznik tej macierzy postępujemy następująco: dopisujemy dwa pierwsze wiersze u dołu

a11

a21
a31
a11
a21
a12
a22
a32
a12
a22

a13
a23 

a33 ,
a13
a23
(analogicznie można dwie pierwsze kolumny po prawej) i liczymy z plusem przekątne & a z minusem %:
det A = a11 a22 a33 + a21 a32 a13 + a31 a12 a23 − a31 a22 a13 − a11 a32 a23 − a21 a12 a33 .
Dowód. Wyliczając powyższy iloczyn, zauważmy, że czynnik w którym się dwa razy powtarza któryś ek
(dla k = 1, 2, 3) zeruje się, w konsekwencji więc zostają jedynie czynniki w którym występują (w pewnej
kolejności) wszystkie czynniki e1 , e2 , e3 . Każdy z tych czynników możemy sprowadzić przy pomocy pewnej
liczby transpozycji (zamiany ze sobą dwóch czynników) do wyznacznika kostki jednostkowej det[e1 , e2 , e3 ]
(pamiętając oczywiście o tym, że każda wymiana, na podstawie antysymetryczności, zmienia nam znak). Dla
przykładu mamy
det[e2 , e3 , e1 ] = [zamieniamy e2 i e1 miejscami] = (−1) det[e1 , e3 , e2 ]
= [zamieniamy e3 i e2 miejscami = (−1)2 det[e1 , e2 , e3 ].
39
Korzystając z powyższych obserwacji liczymy:
det A = det[(a11 e1 + a21 e2 + a31 e3 ), (a12 e1 + a22 e2 + a32 e3 ), (a13 e1 + a23 e2 + a33 e3 )]
=
det[a11 e1 , a22 e2 , a33 e3 ] + det[a11 e1 , a32 e3 , a23 e2 ]
+ det[a21 e2 , a12 e1 , a33 e3 ] + det[a21 e2 , a32 e3 , a13 e1 ]
+ det[a31 e3 , a12 e1 , a23 e2 ] + det[a31 e3 , a22 e2 , a13 e1 ]
= a11 a22 a33 − a11 a32 a23 − a21 a12 a33 + a21 a32 a13 + a31 a12 a23 − a31 a22 a13 .
3.3
Wyznacznik w RN : metoda eliminacji Gaussa
Korzystamy z faktu, że za pomocą operacji elementarnych na wierszach zawsze można dojść do postaci
schodkowej (u dołu schodów zera, i bezpośrednio nad schodkami zera). Analogicznie/dualnie, za pomocą
operacji elementarnych na kolumnach można dojść do schodkowej dualnej, w której na „prawo” schodów
zera, i na lewo od schodków zera.
Twierdzenie 3.1. Wyznacznik dolnie/górnie-trójkątnej to iloczyn wyrażeń na przekątnej.
Dowód. Dowód indukcyjny, robimy sprowadzenie do postaci dolnie trójkątnej. Jeżeli a11 6= 0, to usuwamy w
tym wierszu wszystkie na prawo, i jeżeli potem po przejściu do postaci schodkowej mamy wszędzie na głównej
przekątnej niezerowe, to wtedy możemy do diagonalnej. Jeżeli nie, to na końcu kolumna ostatnia jest zerowa.
Jeżeli a11 jest zerowe, to wtedy po przejściu do postaci schodkowej mamy znowu w ostatniej kolumnie zero,
czyli dostajemy zero.
Jeżeli chcemy efektywnie liczyć wyznacznik najlepiej zastosować metodę eliminacji Gaussa (względem kolumn). To znaczy, przy dodaniu/odjęciu od innej wyznacznik się nie zmienia, natomiast przy zamianie kolumn
zmieniamy znak na przeciwny. I to nam wystarcza, by szybko sprowadzić macierz do postaci dolnietrójkątnej,
i w konsekwencji wtedy wystarczy już przemnożyć wyrażenia na przekątnej.
3.4
Wyznacznik w RN : permutacje
Teraz postaramy się wyliczyć wzór (jest istotny z punktu widzenia teorii, natomiast dla „konkretnej” macierzy
nie należy go stosować bo ma złożoność silnii) na wyznacznik ogólnej macierzy kwadratowej A ∈ MN N (R):

a11
 .
A=
 ..

. . . a1N
.. 
. 
.
aN 1 . . . aN N
Zgodnie z naszym podstawowym wzorem mamy:
det A = det[(a11 e1 + . . . aN 1 eN ), . . . , (a1N e1 + . . . + aN N eN )].
(3.13)
Podobnie jak poprzednio, przy wyliczaniu tego iloczynu wyzerują się składniki w których powtarza się jakiś
czynnik dwukrotnie. Aby to opisać matematycznie przyda się nam pojęcie permutacji.
Definicja 3.2. Przez permutację rozumiem dowolną bijekcję zbioru N -elementowego w siebie (standardowo,
jeżeli nie jest wyraźnie napisane inaczej bierzemy pod uwagę zbiór {1, . . . , N }). Zbiór wszystkich permutacji
zbioru N -elementowego oznaczamy przez SN .
Łatwo widać, że ilość permutacji zbioru N -elementowego wynosi N !. Parę uwag:
40
• permutacje oznaczamy często literką σ (sigma);
• niech σ : {1, . . . , N } → {1, . . . , N }; wtedy σ jest permutacją wtw. gdy σ jest iniekcją wtw. gdy σ jest
surjekcją;
• permutacje zazwyczaj zapisujemy w postaci
!
1
...
N
,
σ(1) . . . σ(N )
tak więc
!
1 2 3
σ=
3 1 2
oznacza permutację, taką, że σ(1) = 3, σ(2) = 1, σ(3) = 2;
• rozważa się jeszcze cykle, czyli dla przykładu (3412) oznacza taką permutację, że 3 → 4, 4 → 1, 1 → 2,
2 → 3, szczególnym przypadkiem cyklu jest cykl dwuelementowy (transpozycja).
Wróćmy teraz do naszego wzoru (3.13). Na potrzeby poniższego rozumowania, przyjmijmy, że ON oznacza
wszystkie odwzorowania zbioru {1, . . . , N } w siebie. Wtedy
det A = (a11 e1 + . . . aN 1 eN ) ∧ . . . ∧ (a1N e1 + . . . + aN N eN )
P
=
(ap(1)1 ep(1) ) ∧ . . . ∧ (ap(N )N ep(N ) )
p∈ON
=
(ap(1)1 . . . ap(N )N ) (ep(1) ∧ . . . ∧ ep(N ) ).
P
p∈ON
Na podstawie naszych założeń wiemy, że jeśli w det[ep(1) , . . . , ep(N ) ] któryś czynnik powtarza się dwukrotnie,
to ten iloczyn się zeruje. Ale tak będzie, w.t.w. gdy p nie jest różnowartościowe. W konsekwencji możemy się
zawęzić w naszej sumie do tych odwzorowań które są różnowartościowe, czyli do permutacji:
det A =
X
(ap(1)1 . . . ap(N )N ) det[ep(1) , . . . , ep(N ) ].
p∈SN
Jedyne co nam teraz zostało, to pozbyć się czynnika ep(1) ∧ . . . ∧ ep(N ) . Znowu korzystając z założeń wiemy, że
ten iloczyn można za pomocą pewnej ilości transpozycji sprowadzić do ±(e1 ∧. . .∧eN ), przy czym znak będzie
+ jeżeli ilość tych zamian jest parzysta (wtedy mówimy o permutacji parzystej), a minus jeżeli nieparzysta
(wtedy mówimy o permutacji nieparzystej). Oznaczmy dla danej permutacji p ten znak1 przez sign(p). W
konsekwencji dostajemy
Twierdzenie 3.2. Wyznacznik macierzy A = [aij ] ∈ MN N (R) wyraża się wzorem
det A :=
X
sign(p) · ap(1)1 . . . ap(N )N .
p∈SN
Poniższe twierdzenie (nie robię dowodu) pokazuje, że znak permutacji jest dobrze określonym pojęciem:
Twierdzenie 3.3. Zachodzą następujące fakty:
• każdą permutację można przedstawić w postaci iloczynu transpozycji, tzn. dla każdej permutacji σ istnieją transpozycje τ1 , . . . , τr takie, że
σ = τ1 · . . . · τr ;
1
proszę zauważyć, że ja nie udowodniłem, że pojęcie znaku permutacji jest dobrze zdefiniowane, sformułuję odpowiednie
twierdzenia później
41
• jeżeli mamy dwa przedstawienia w powyższym rozkładzie, tzn.
σ = τ1 · . . . · τr = τ10 · . . . · τr0 0
to r ≡ r0 mod 2 (czyli parzystość bądź nieparzystość nie zależy od rozkładu);
• w konsekwencji wartość sign(σ) := (−1)r jest dobrze zdefiniowana;
• znak ma następujące własności:
sign(σ −1 ) = sign(σ), sign(σσ 0 ) = sign(σ) · sign(σ 0 ).
Zadanie 3.2. Niech będzie dany cykl k-elementowy σ. Policz sign(σ).
Zadanie 3.3. (z gwiazdką) Niech będzie dana permutacja σ ∈ Sn . Wtedy
sign(σ) = (−1)N (σ) ,
gdzie N (σ) oznacza liczbę inwersji w σ, czyli ilość par k, l ∈ {1, . . . , n} takich, że k < l i σ(k) > σ(l) (ta
własność jest wygodna do liczenia znaku permutacji na komputerze).
Dowód. Jeżeli tak zdefiniujemy wyznacznik, to to jest dobrze zdefiniowana funkcja, i wystarczy potem się
przypatrzyć, czy rzeczywiście znak permutacji jest ok?
3.5
Własności wyznaczników
Przyda się nam dla badania macierzy pojęcie macierzy transponowanej: jeżeli mamy macierz A = [aij ]ij ∈
Mmn (R), to przez AT , macierz transponowaną do A, rozumiem macierz AT := [aij ]ji ∈ Mnm , tzn. jeśli

a11
 .

A =  ..

. . . a1n
.. 
. 
,
am1 . . . amn
to


a11 . . . am1
 .
.. 
T
A =
. 
 ..
.
a1n . . . amn
Okazuje się, że operacja transponowania macierzy kwadratowej nie zmienia wyznacznika:
Stwierdzenie 3.3. Mamy
det A = det AT .
Dowód. Niech A = [aij ] ∈ Mnn (R). Oznaczmy przez aTij := aji (wtedy AT = [aTij ]). Wtedy
det A =
sign(p) · ap(1)1 . . . ap(n)n
Pp∈Sn
=
sign(p−1 ) · a1p−1 (1) . . . anp−1 (n)
Pp∈Sn
=
sign(σ)a1σ(1) . . . anσ(n)
Pσ∈Sn
T
T
T
=
sign(σ)a
σ∈Sn
σ(1)1 . . . aσ(n)n = det A .
P
Jako wniosek otrzymujemy, że możemy tak samo pracować na wierszach jak i na kolumnach. Teraz postaramy się pokazać pewne ważne własności wyznaczników. Zaczniemy od przypomnienia:
42
• zamiana kolumn → zmienia znak;
• dodanie kolumny innej przemnożonej przez skalar → nie zmienia;
• jeżeli dwie kolumny są równe → zero;
• przemnożenie kolumny przez skalar → przemnaża wyznacznik przez skalar;
Stwierdzenie 3.4. Jeżeli macierz jest górnie (dolnie) trójkątna, to wyznacznik jest równy iloczynowi współczynników na przekątnej głównej.
P
Dowód. Zrobimy dowód dla górnie trójkątnej. Ponieważ det A = σ∈Sn signσaσ(1)1 . . . asign(n)n , to aby czynnik
był niezerowy musimy mieć σ(i) ¬ i dla każdego i (czyli σ(1) ¬ 1, czyli σ(1) = 1, analogicznie σ(2) ¬ 2, ale
ponieważ nie może być jeden bo już było, dostajemy σ(2) = 2, itd.). W konsekwencji σ(i) = i.
Korzystając z powyższego stwierdzenia i uwagi wcześniej liczy się zazwyczaj wyznacznik dla macierzy
więcej niż 4 × 4, a mianowicie sprowadza się do prostszej postaci (możemy pracować zarówno na kolumnach
jak i na wierszach).
Zadanie 3.4. Jeżeli macierz jest blokowa postaci
"
A
A12
A = 11
A21 A22
#
gdzie Aik to macierze, oraz A12 = 0 lub A21 = 0, to wyznacznik A jest równy iloczynowi wyznaczników A11 i
A22 .
Wsk.: (rozpatruję przypadek gdy A12 = 0) niech K oznacza ilość wierszy macierzy kwadratowej A11 ; proszę
zauważyć, że dla dowolnej permutacji σ, jeżeli σ(k) > K dla pewnego k ∈ {1, . . . , K}, to aσ(k)k = 0; oznacza
to, że wystarczy rozpatrywać tylko te permutacje dla których σ(k) ∈ {1, . . . , K} dla k ∈ {1, . . . , K}.
Można pokazać, że iloczyn wyznaczników to wyznacznik iloczynu.
Twierdzenie 3.4. Niech A, B ∈ MN N (R). Wtedy
det(AB) = det A · det B.
3.6
Rozwinięcie Laplace’a
Naszym głównym celem będzie teraz wyznaczenie wzoru Laplace’a, który pozwala liczyć wyznacznik rekurencyjnie względem wiersza lub kolumny. Dla prostoty zapisu pokażę wyprowadzenie dla macierzy 3 × 3.
Rozpatrzmy macierz


a11 a12 a13


A = a21 a22 a23  .
a31 a32 a33
Naszym celem jest wyliczenie wyznacznika tej macierzy, to jest takiej liczby det A, że
(a11 e1 + a21 e2 + a31 e3 ) ∧ (a12 e1 + a22 e2 + a32 e3 ) ∧ (a13 e1 + a23 e2 + a33 e3 ) = det A · (e1 ∧ e2 ∧ e3 ).
Lewa strona powyższej równości wynosi:
a11 · e1 ∧ (a12 e1 + a22 e2 + a32 e3 ) ∧ (a13 e1 + a23 e2 + a33 e3 )
L = +a21 e2 ∧ (a12 e1 + a22 e2 + a32 e3 ) ∧ (a13 e1 + a23 e2 + a33 e3 ) .
+a31 · e3 (a12 e1 + a22 e2 + a32 e3 ) ∧ (a13 e1 + a23 e2 + a33 e3 )
43
Zajmijmy się pierwszym składnikiem powyższej sumy. Z własności iloczynu zewnętrznego wiemy, że możemy
pominąć te czynniki w których dwukrotnie występuje e1 , czyli
a11 · e1 ∧ (a12 e1 + a22 e2 + a32 e3 ) ∧ (a13 e1 + a23 e2 + a33 e3 ) = a11 · e1 ∧ (a22 e2 + a32 e3 ) ∧ (a23 e2 + a33 e3 ).
Ale z definicji wyznacznika, wiemy, że
(a22 e2 + a32 e3 ) ∧ (a23 e2 + a33 e3 ) =
a
22
a32
a23 · e ∧ e3 .
a33 2
W konsekwencji dostajemy
a11 e1 ∧(a12 e1 +a22 e2 + a32 e3 ) ∧ (a13 e1 + a23 e2 + a33 e3 )
a
a = a11 · 22 23 · e1 ∧ e2 ∧ e3
a32 a33 Analogicznie
a21 e2 ∧ (a12
e1 + a22e2 + a32 e3 ) ∧ (a13 e1 + a23 e2 + a33 e3 )
a
a = a21 e2 ∧ 12 13 (e1 ∧ e3 )
a32 a33 a
a
12
13
= (−1)1 a21 · · (e1 ∧ e2 ∧ e3 ),
a32 a33 oraz
a31 e3 ∧ (a12
e1 + a22e2 + a32 e3 ) ∧ (a13 e1 + a23 e2 + a33 e3 )
a
a = a31 e3 ∧ 12 13 · (e1 ∧ e2 )
a22 a23 a
a = (−1)2 a31 · 12 13 · (e1 ∧ e2 ∧ e3 ).
a22 a23 W konsekwencji otrzymaliśmy rozwinięcie macierzy A względem pierwszej kolumny:
1+1
det A = (−1)
a
a11 · 22
a32
a
a
a23 12 a13 12 a13 + (−1)2+1 a21 + (−1)3+1 a31 .
a32 a33 a22 a23 a33 Dla skrócenia zapisu niech Aij oznacza macierz powstałą z macierzy A przez wykreślenie i-tego wiersza i j-tej
kolumny (wyznacznik Aij nazywamy minorem i często oznaczamy Mij ). Tak więc dostaliśmy
det A = (−1)1+1 a11 det A11 + (−1)2+1 a21 det A21 + (−1)3+1 a31 det A31 .
Stosując analogiczne rozumowanie względem k-tej kolumny dla ogólnej macierzy N ×N , rozwijając dostajemy tak zwane rozwinięcie Laplace’a (drugi wzór jest konsekwencją pierwszego oraz tego, że transponowanie
nie zmienia wartości wyznacznika):
Twierdzenie 3.5 (rozwinięcie Laplace’a). Niech A ∈ MN N (R).
a) [względem j-tej kolumny] Niech j ∈ {1, . . . , N } będzie dowolne. Wtedy
det A =
N
X
(−1)i+j aij det Aij .
(3.14)
i=1
b) [względem i-tego wiersza] Niech i ∈ {1, . . . , N } będzie dowolne. Wtedy
det A =
N
X
(−1)i+j aij det Aij .
j=1
44
(3.15)
Zadanie 3.5. Niech fn = det A, gdzie gdzie A = [aij ] ∈ Mnn (R), a współczynniki aij zadane są wzorami
ai(i+1) = 3, a(i+1)i = 5 dla i = 1, . . . , n − 1,
oraz aij = 0 w pozostałych przypadkach. Proszę wyliczyć fn za pomocą jawnego wzoru.
Zadanie 3.6. Niech A = [aij ] będzie macierzą n×n, taką, że aii = 0 dla i = 2, . . . , n oraz aij = 1 w pozostałym
przypadku. Proszę wyliczyć wyznacznik A. Wsk.: proszę odjąć od pierwszego wiersza drugi (wyznacznik się nie
zmieni), i następnie zastosować rozwinięcie Laplace’a.
Zadanie 3.7. Niech fn = det[aij ], gdzie [aij ] ∈ Mnn (R) dane jest
aii = 2 dla i = 1, . . . , n, ai(i+1) = 1, a(i+1)i = 1 dla i = 1, . . . , n − 1,
oraz aij = 0 o ile |i − j| > 1. Proszę znaleźć jaką formułę rekurencyjną spełnia fn a następnie ją rozwiązać,
czyli wyliczyć fn za pomocą jawnego wzoru.
Pokażemy teraz, że z rozwinięcia Laplace’a łatwo można wyliczyć wzór na macierz odwrotną. Rozpatrzmy
macierz (nazywamy ją macierzą dołączoną do macierzy A):


+ det A11 − det A21 + det A31 . . .


− det A12 + det A22

−


+ det A

i+j
T
+
13 − det A23
B = [(−1) det Aij ] = 



−
+
−




..
.
Naszym celem będzie obserwacja, że
AB = BA = (det A) · I.
(3.16)
Na podstawie wzorów (3.14) i (3.15) otrzymujemy trywialnie, że zarówno AB jak i BA na przekątnej głównej
mają wartość det A. Dowód powyższej równości kończy
Zadanie 3.8. Proszę pokazać, że AB i BA są macierzami diagonalnymi. Wsk.: niech C = BA; spróbujmy
sprawdzić czy c12 = 0; oczywiście
c12 = det(A11 )a12 − det(A21 )a22 + det(A31 )a32 ± . . . ,
proszę zauważyć, że powyższy wzór możemy otrzymać stosując wzór Laplace’a względem pierwszej kolumny
na wyznacznik macierzy powstałej z A przez zastąpienie pierwszej kolumny drugą (a jak skądinąd wiemy ten
wyznacznik jest równy zero, bo ta macierz ma dwie kolumny równe).
Dostajemy w konsekwencji:
Twierdzenie 3.6. Niech A ∈ MN N (R). Wtedy NWSR:
• macierz A jest macierzą odwracalną;
• det A 6= 0;
• istnieje B ∈ MN N (R), takie, że AB = I (i wtedy A−1 = B);
• istnieje B ∈ MN N (R), takie, że BA = I (i wtedy A−1 = B).
Co więcej, jeżeli A jest odwracalna, to
A−1 =
1
[(−1)i+j det Aij ]T .
det A
45
Dowód. Jeżeli det A 6= 0, to wzór na macierz odwrotną, to oczywiście (3.16).
Niech teraz det A = 0. Pokażemy, że A nie jest odwracalna. Dla dowodu nie wprost załóżmy, że A jest
odwracalna, czyli, że istnieje B takie, że AB = I. Wtedy
1 = det I = det(AB) = det A · det B = 0 · det B = 0,
sprzeczność.
Załóżmy teraz, że znaleźliśmy takie B, że AB = I. Pokażę, że wtedy A jest odwracalne i, że B = A−1 .
Skoro znaleźliśmy takie B to w konsekwencji stosując powyższe rozumowanie otrzymujemy, że det A 6= 0,
czyli A jest odwracalna. Teraz mnożąc obie strony równości AB = I lewostronnie przez A−1 dostajemy
A−1 (AB) = A−1 (I),
(A−1 A)B = A−1 ,
B = A−1 .
Pozostałe implikacje są analogiczne.
Ważnym zastosowaniem jest znalezienie wielomianu możliwie najniższego stopnia przechodzącego przez
punkty (x0 , y0 ), . . . , (xn , yn ) (zakładamy, że xi są parami różne). Pokażę, że istnieje dokładnie jeden wielomian
W stopnia co najwyżej n przechodzący przez te punkty, to znaczy taki, że W (xi ) = yi . Niech
W (x) = a0 + a1 x1 + . . . + an xn .
Wtedy W musi spełniać
W (xi ) = a0 + a1 x1i + . . . + an−1 xin−1 = yi
dla i = 0, . . . , n,
co oznacza, że współczynniki ak spełniają
a0
y0
1 x10 . . . xn0
 
  . 
.
..
 ·  .  =  .. 
.
.
  . 
 . 
.
an
yn
1 x1n . . . xnn
 




Korzystając z następującego faktu:
Zadanie 3.9. (wyznacznik Vandermonda) Zachodzi równość:
1
.
.
.
1
x10 . . . xn0 Y
..
=
(xj − xi ).
.
i<j
1
n xn . . . xn
Wsk.: proszę najpierw odjąć od wierszy 2 : n + 1 wiersz pierwszy (wtedy z rozwinięcia Laplace’a sytuacja
redukuje się do wyznacznika macierzy n × n); a następnie odejmować kolejno od ostatniej kolumny przedostatnią, od przedostatniej przed-przedostatnią, itd; a potem się chwilę zastanowić i skorzystać z założenia
indukcyjnego.
otrzymujemy, że wyznacznik Vandermonda jest niezerowy, czyli macierz jest odwracalna, czyli współczynniki ak są jednoznacznie wyznaczone przez:
−1 
a0
1 x10 . . . xn0
 . 
.

..
 .  = .

.
 . 
.

1
n
an
1 xn . . . xn



46

y0
 . 

·
 .. 
yn
Zadanie 3.10 (Scilab). Proszę dla danego ciągu skończonego ciągu par (xi , yi ) (dane jako macierz o dwóch
wierszach, zakładamy, że dane są poprawne, tzn xi 6= xj dla i 6= j) znaleźć wzór wielomianu najniższego
stopnia przechodzącego przez te punkty.
Zadanie 3.11. Wielkość
((a1 , . . . , an )) := det(−diag(ones(1, n − 1), −1) + diag([a1 , . . . , an ]) + diag(ones(1, n − 1), 1))
wiąże się z ułamkami łańcuchowymi, tzn
a1 +
1
a2 +
=
1
a3 +
..
.
+ an−11+
3.7
((a1 , . . . , an ))
.
((a2 , . . . , an ))
1
an
Wzory Cramera
Teraz pokażemy, że z (3.16) wynika wzór na rozwiązanie równania liniowego (Wzory Cramera). Rozpatrzmy
równanie
Ax = b,
gdzie A jest odwracalną macierzą kwadratową N × N . Postaramy się wyliczyć x = [x1 , . . . , xN ]T . Oczywiście
x = A−1 b, co oznacza, że



x1
 . 
 . =
 . 
xN
1
det A
(−1)1+1 det A11

..

.

(−1)N +1 det AN 1
b1
  . 
..
 ·  . ,
.
  . 
N +N
. . . (−1)
det AN N
bN
 
...
(−1)1+N det A1N

czyli
1
((−1)1+k det(A1k )b1 + . . . (−1)k+N det(AN k )bN ).
det A
Zauważmy teraz, że Wk = (−1)1+k det(A1k )b1 + . . . (−1)k+N det(AN k )bN to po prostu wyznacznik macierzy
powstałej z A przez zamienienie k-tej kolumy b. Oznaczając W = det A, dostajemy wzór na xk :
xk =
xk = Wk /W.
Powyższy wzór jest szczególnie wygodny jeśli chodzi o rozwiązywanie układów równań liniowych z parametrem.
Przykład 3.3. Rozpatrzmy układ z parametrem a:
(
ax + y = 1,
x − y = 1.
Rozpatrzmy macierz odpowiadającą temu układowi:
#
"
a 1
A=
.
1 −1
Wyznacznik tej macierzy wynosi W = −a−1. Jeżeli ten wyznacznik będzie różny od zera (czyli gdy −a−1 6= 0,
czyli a 6= −1), to nasz układ będzie miał dokładnie jedno rozwiązanie dane wzorem
1 1 a 1
1
1
x = Wx /W =
, y = Wy /W =
.
−a − 1 1 −1
−a − 1 1 1
47
Pozostaje jeszcze rozwiązanie w przypadku gdy a = −1. Wtedy układ przybiera postać
(
−x + y = 1,
,
x − y = 1.
i jak widać nie ma on rozwiązań.
GEOMETRYCZNA INTERPRETACJA: dla a 6= −1 mamy dwie proste które nie są równoległe, czyli
przecinają się w dokładnie jednym punkcie, a dla a = −1 mamy dwie proste równoległe które się nie przecinają.
48

Podobne dokumenty