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  11,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 )kN0
posługując się wzorem (4). Jeżeli | zk | 2 dla każdego k  0,1,
, N , to uznajemy, że ciąg ( zn )n0
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 ( xn1 , yn1 ) następujący:
Losujemy jedno z odwzorowań (7), czyli wybieramy losowo liczbę k {0, 1}. Obliczamy
nowy punkt przy pomocy wylosowanego odwzorowania
( xn1 , yn1 )  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].