Liczby zespolone – przypomnienie
Transkrypt
Liczby zespolone – przypomnienie
Liczby zespolone – przypomnienie Zbiór liczb zespolonych rzeczywistych formalnie zdefiniowany jest jako zbiór uoprzadkowanych par liczb : {z ( x, y) : x, y }, (1) gdzie działania algebraiczne dodawania i mnożenia określone są następująco ( x1 , y1 ) ( x2 , y2 ) : ( x1 x2 , y1 y2 ), ( x1 , y1 ) ( x2 , y2 ) : ( x1 x2 y1 y2 , x1 y2 x2 y1 ). Liczby zespolone postaci ( x,0) (2) można utożsamić ze zwykłymi liczbami rzeczywistymi x . Tak więc możemy napisać , (3) co oznacza, że liczby zespolone są uogólnieniem liczb rzeczywistych. W praktyce często wygodniej posługiwać się nieco innym sposobem zapisu liczb zespolonych. Zamiast używać pary ( x, y) możemy pisać x iy, gdzie i jest tak zwaną jednostką urojoną. Formalnie jest to liczba zespolona i (0,1). Jeżeli wykorzystamy definicję mnożenia z punktu (2), to otrzymamy i 2 i i (0,1) (0,1) (0 0 11,0 1 1 0) (1,0) 1, 2 czyli i 1. Przykład. Dane są dwie liczby zespolone z1 2 3i, z2 1 i. Znaleźć ich sumę, iloczyn i iloraz. Rozwiązanie. z1 z2 (2 3i) (1 i) 2 1 (3 1)i 1 4i, z1 z2 (2 3i) (1 i) 2 2i 3i 3i 2 2 i 3(1) 5 i, z1 2 3i (2 3i)(1 i) 2 2i 3i 3i 2 2 5i 3( 1) z2 1 i (1 i )(1 i ) (1) 2 (i) 2 1 ( 1) 1 5i 1 5 i. 2 2 2 Obrazy fraktali powstają zazwyczaj za pomocą wyrażeń iteracyjnych. Zaczniemy od omówienia jak powstaje zbiór Mandelbrota. Na płaszczyźnie zmiennej zespolonej, , rozważamy ciąg liczb zespolonych z0 , z1 , z2 , określony następującym wzorem rekurencyjnym z0 0, 2 zn 1 zn c, dla n 0,1, 2, (4) gdzie c jest daną liczbą zespoloną. Jak widać z konstrukcji tego ciągu, zależy on oczywiście od liczby c. Okazuje się, że w zależnościom wartości c ciąg określony rekurencją (4) albo dąży do nieskończoności, albo jest ograniczony. Definicja zbioru Mandelbrota jest następująca: zbiór Mandelbrota tworzą te i tylko te liczby zespolone c , dla których ciąg ( zn )n 0 jest ograniczony, tzn. istnieje stała M 0 taka, że | zn | M dla wszystkich n 0,1, 2, Udowodniono, że aby sprawdzić, czy ciąg ( zn )n 0 jest ograniczony wystarczy sprawdzić, czy | zn | 2 dla n 0,1, 2, (5) Wynik ten znacznie ułatwia pisanie programu rysującego zbiór Mandelbrota. Opis procedury Wybieramy „duże” N , np. N 1000, oraz pewien zakres liczb c , np. c a ib, takie że a [2, 2], b [2, 2]. Dla każdego punktu c z tego zakresu wyznaczamy wyrazy ( zk )kN0 posługując się wzorem (4). Jeżeli | zk | 2 dla każdego k 0,1, , N , to uznajemy, że ciąg ( zn )n0 jest ograniczony i punkt zaznaczamy, np. czarnym kolorem. W przeciwnym razie punkt zaznaczmy innym kolorem, np. białym. Jeżeli chcemy otrzymać pokolorowany zbiór, to w zależności od liczby iteracji k N , po której punkt przestaje spełniać warunek | zk | 2, zaznaczamy punkt określonym kolorem. Inny przykładem uzyskiwania obrazów fraktalnych są tzw. iterowane układy odwzorowań (ang. IFS, iterated function system). Najprostszy przypadek jest wtedy, gdy do iteracji bierzemy odwzorowania (funkcje) afiniczne na płaszczyźnie f: określone wzorem 2 2 , (6) f ( x, y) (a11 x a12 y b1 , a21 x a22 y b2 ), gdzie aij , bi ustalone parametry definiujące dane odwzorowanie. Przykład (Spirala). Rozważmy na płaszczyźnie dwa przekształcenia afiniczne dane wzorami f1 ( x, y ) (0.4 x 1, 0.4 y 0.1), f 2 ( x, y ) (0.76 x 0.4 y, 0.4 x 0.76 y). Wybierzmy teraz dowolny punkt ( x0 , y0 ) na płaszczyźnie 2 (7) i utwórzmy ciąg punktów ( x0 , y0 ), ( x1 , y1 ), ( x2 , y2 ), ( x3 , y3 ), (8) rysowanych kolejno na płaszczyźnie. Sposób generowania (8) ciągu jest iteracyjny, a dokładniej na podstawie punktu ( xn , yn ) tworzymy punkt ( xn1 , yn1 ) następujący: Losujemy jedno z odwzorowań (7), czyli wybieramy losowo liczbę k {0, 1}. Obliczamy nowy punkt przy pomocy wylosowanego odwzorowania ( xn1 , yn1 ) f k ( xn , yn ). Operację tę powtarzamy (za każdym razem losujemy odwzorowanie oddzielnie). (9) Poniżej jest przykład, w którym wygenerowano 106 punktów (pominięto 15 punktów początkowych). Prostokąt obejmuje obszar ( x, y) [1.25, 0.55] [0.8, 0.5].