Вы находитесь на странице: 1из 18

Министерство образования и науки РФ

Пермский государственный технический университет

Факультет прикладной математики и механики

«Нелинейная комплексная динамика


и структура фрактальных множеств»

Выполнил: студент гр. ММ-09-1 Бузмаков А.П.

Проверил: преподаватель Грайфер Л.Б.

Пермь, 2010

Содержание.
Итерации комплексных функций.

Множество Жюлиа.

Множество Мандельброта.

Фракталы Ньютона.

Основы гиперкомплексной динамики.

Библиографический список.

Итерации комплексных функций.


Одним из методов получения красивых фрактальных множеств
является комплексное отображение в виде итерационного процесса
zn+1 = f(zn),

где f(zn) – некоторая функция комплексного переменного,

n – номер итерации.

Наиболее изученным отображением (и потому оно чаще других


встречается в литературе) является квадратичное отображение
вида

zn+1 = zn2+с, (1)

где c – комплексная константа, которая играет важную роль в


данном отображении.

Для простоты восприятия представим (1) в виде двух


вещественных отображений

xn+1=xn2-yn2+Re c, (2)

yn+1=2xnyn+Im c,

откуда видно, что точка с координатами (xn, yn) переходит в


точку с координатами (xn+1, yn+1).

Рассмотрим основные термины и понятия, важные для данной


теории.

Неподвижной точкой ω отображения zn+1 = f(zn) называется


корень уравнения f(ω)= ω. Понятно, что, начав процесс в этой
точке, мы никогда не покинем ее. Такая точка может быть трех
типов:

• притягивающая или устойчивая (стартовав в


непосредственной ее близости, мы будем неограниченно
приближаться к ней);

• отталкивающая или неустойчивая (стартовав в


непосредственной ее близости, мы будем неограниченно удаляться
от нее);

• нейтральная или индифферентная (стартовав в ее


окрестности, мы будем все время находиться там).

Как же можно определить характер неподвижной точки?


Разложим функцию f(z) в ряд Тейлора вблизи точки ω:
f(z)=f(ω)+(z-ω)f’(ω),

с учетом f(ω)=ω получим zn+1 - ω= (zn-ω)f’(ω),

отсюда видно, как изменяется расстояние до неподвижной точки


|zn-ω| в процессе итераций в зависимости от | f’(ω)| и значит

• если | f’(ω)|<1, то ω – притягивающая,

• если | f’(ω)|>1, то ω – отталкивающая,

• если | f’(ω)|=1, то ω – нейтральная.

Перейдем к следующему понятию. Будем обозначать через fk k-


ую итерацию (композицию f◦…◦f) нашего процесса. Наименьшее
целое число k, при котором fk(ω)=ω, называется периодом
k
неподвижной точки ω, а числа ω, f(ω), … , f (ω) – орбитой периода k.
Для определения характера устойчивости периодической точки
вычисляют производные (fk)’(ω), пользуясь правилом
дифференцирования сложной функции.

Аттрактором называется точка или множество точек, к которым


сходится итерационный процесс при n→∞. Такой точкой может
быть, например, притягивающая неподвижная точка или
притягивающий цикл, также это может быть бесконечно удаленная
точка, непрерывная линия и пр.

Множество Жюлиа.

В 1918 Гастон Жюлиа издал подробную работу, где им


рассматривалось отображение (1). Работа получила приз
Французской Академии, но игнорировалась почти полвека. Теперь,
благодаря компьютерам, удалось визуализировать то, что не
удалось Жюлиа. Как оказалось, процесс (1) приводит к
фрактальным структурам, которые названы множествами Жюлиа.

Рассмотрим случай итераций, когда c=0, то есть zn+1 = zn2.


Отображение имеет две неподвижных точки ω1=0 и ω2=1. ω1
является притягивающей (f’(ω)=0), а ω2 – отталкивающей (f’(ω)=2).

В зависимости от начальной точки z0 будем иметь следующее:

при | z0|<1 итерации будут вести к нулю, т.е. аттрактором


является нуль;

при | z0|>1 аттрактором будет бесконечность;


при | z0|=1 начальная точка лежит на окружности единичного
радиуса, а значит, и остальные точки будут лежать на ней.

Итак, в случае c=0 имеем две области притяжения: у одной из


них аттрактор ноль, а у другой – бесконечность. Границей между
этими двумя областями является окружность единичного радиуса
(гладкая кривая).

А теперь положим, что с≠0. Ноль уже не будет аттрактором, но


аттрактор бесконечность остается, а граница не будет гладкой
кривой. Граница будет иметь фрактальную структуру (сильно
изломанную и самоподобную).

Подытожив, скажем, что множество Жюлиа J(f) – это граница


множества точек z, стремящихся к ∞ при итерировании f(z).

Ниже представлены некоторые множества Жюлиа для


различных значений c:

c=-0.12375+ 0.56508i c=-0.12 + 0.74i

c= -0.481762-0.531657i c= -0.39054-0.58679i
c= -1.25 c= 0.11031-0.67037i

c=i c= -0.194 + 0.6557i

c= -0.74543 + 0.11301i c= 0.32 + 0.043i

Рассмотрим некоторые свойства множества Жюлиа:

1. Отображение (1) преобразует J(f) в себя, т.е. J(f) –


инвариантное множество преобразования.

2. Почти каждая точка P(x,y) имеет два прообраза.

Действительно, разрешим (2) относительно x и y. Получим


xn2 − y n2 = xn+1 − Re c

( xn2 + y n2 ) 2 = ( xn2 − y n2 ) 2 + 4 xn2 y n2 = ( xn+1 − Re c ) 2 + ( yn+1 − Im c) 2

( xn2 + y n2 ) 2 = ( xn+1 − Re c ) 2 + ( yn+1 − Im c) 2

1 1
xn2 = ( xn +1 − Re c ) + ( xn+1 − Re c) 2 + ( y n+1 − Im c) 2
2 2
( xn+1 − Re c) + ( xn+1 − Re c) 2 + ( y n+1 − Im c) 2
xn =
2

( y n+1 − Im c)
А далее можно найти yn : yn = 2 xn

Итак, каждая точка имеет прообраз, каждый прообраз, в свою


очередь, имеет свои два прообраза и так далее. Согласно Жюлиа,
прообразы заполняют J(f) всюду плотно.

3. Все неустойчивые периодические циклы расположены в J(f).

4. Орбита произвольной точки P ϵ J(f) остается в J(f) и является


либо периодическим циклом, либо хаотической орбитой.

5. Фракталы Жюлиа всегда симметричны относительно центра


координат. Если Im c = 0, то они симметричны относительно обеих
осей x и y.

Свойство 5 используется при компьютерном построении


множеств Жюлиа. В общем же, используется условие приближения
орбиты к аттрактору – бесконечно удаленному в данном случае. Так
как для приближения к аттрактору орбите может потребоваться
огромное количество итераций, то в программе необходимо
использовать некое предельное значение для числа итераций,
после которого считаем, что орбита подошла к аттрактору. Цвет же
каждой точки на экране определяется числом итераций, которое
потребовалось орбите, чтобы приблизиться к аттрактору. Если
использовать 256 цветов, то номер цвета можно, например,
определить по формуле n mod 256, где n – число совершенных
итераций.

Но сколько нужно совершить итераций? Ответ дает следующая


теорема.

Теорема. Предположим, что |c|<2. Пусть z ϵ C и пусть zn=f(n)(z)


для n=1,2,3,… . Если существует такое n0, что |zn0|≥2, то имеет
место lim z n = ∞ , то есть орбита цикла стремиться к бесконечности и
n→∞

z не принадлежит множеству Жюлиа.

Доказательство. Без потери общности можно предположить,


что |z|≥2. Получаем

|f(z)| = |z2 + c|

≥|z2| - | c|
= |z|(|z|-|c|/|z|)

Пусть δ удовлетворяет условию |c|=2-2δ. Рассмотрим


производную вещественной φ(x)=x-|c|/x на интервале [2;+∞]. Легко
видеть, что φ(x)≥ φ(2) и вследствие этого

|z|(|z|-|c|/|z|)≥|z|(2-|c|/2)= |z|(1+δ).

Таким образом, |f(z)|≥ |z|(1+δ).

|f(2)(z)|≥ |f(z)|(1+δ)≥ |z|(1+δ)2

Для n-ой итерации получим:

|f(n)(z)|≥ |z|(1+δ)n

Это выражение стремиться к бесконечности, когда n становится


достаточно большим.

Теорема доказана.

Представим алгоритм (на псевдокоде) построения множества


Жюлиа, основанный на вышеописанной теореме:

Вход:

с1, с2 (с=с1+с2i)

a, b (центр окна)

s (размер окна)

p (число пикселов в каждой стороне)

Инициализация:

Графический экран для окна [a-s/2; a+s/2] × [b-s/2; b+s/2]

Шаги:

for m=1 to p

x0=a-s/2+ms/p

for n=1 to p

y0=b-s/2+ns/p

x=x0

y=y0

z=0
iter = 1

while iter<20

iter=iter+1

x1=x2+y2+c1

y1=2xy+c2

x=x1

y=y1

z=x2+y2

if z>4, выход из цикла, end if

end while

if z<4, построить (x0,y0), end if

end for

end for.

Множество Мандельброта.

Несмотря на большое разнообразие множеств Жюлиа, их можно


разделить на 2 типа: связные и волне несвязные (пыль Фату). Во
втором случае фрактал состоит из несчетного множества
дискретных точек. Изучение связности приводит к фрактальному
множеству Мандельброта – множеству, каждая точка которого
представляет собой значение константы c в процессе (1), для
которой множество Жюлиа J(f) связно, т.е. орбита точки 0
ограничена.

Ниже представлен фрактал Мандельброта и множества Жюлиа


для указанных точек из множества Мандельброта:
Теорема. Если |c|>2 и |z|≥|c|, то орбита z устремляется к ∞, т.е.
точка c не принадлежит множеству Мандельброта.

Доказательство. Пусть |c|=2+δ, δ>0, тогда

|f(z)| = |z2 + c|

≥|z2| - |c|

= |z|(|z|-|z|)

= |z|(|z|-1)

≥|z|(|c|-1)

≥|z|(1+ δ).

В частности, |f(z)| > | c| и при итерировании получаем

|f(2)(z)|≥ |f(z)| (1+ δ)≥ |z|(1+ δ)(2)

|f(n)(z)|≥ |z|(1+ δ)(n).

Откуда следует, что |f(n)(z)|→∞ при n→∞.


Теорема доказана.

Представим алгоритм (на псевдокоде) построения множества


Мандельброта, основанный на вышеописанной теореме:

Вход:

a, b (центр окна)

s (размер окна)

p (число пикселов в каждой стороне)

iter (число итераций при проверке орбиты на


ограниченность)

Инициализация:

Графический экран для окна [a-s/2; a+s/2] × [b-s/2; b+s/2]

Шаги:

for m=1 to p

с1=a-s/2+ms/p

for n=1 to p

с2=b-s/2+ns/p

x=0

y=0

iter = 1

while iter≤20

iter=iter+1

x1=x2+y2+c1

y1=2xy+c2

x=x1

y=y1

z=x2+y2

if z>4, выход из цикла, end if

end while
if z<4, построить (с1, с2), end if

end for

end for.

Фракталы Ньютона.

Пусть нам дано нелинейное уравнение f(z)=0. Вспомним


алгоритм Ньютона численного решения подобного вида уравнений:
f ( zn )
z n+1 = z n − , n=0, 1, 2, 3,… (3)
f ′( z n )

В качестве примера рассмотрим f(z) как полином zk - a, где k≥1,


целое число. Тогда (3) примет вид:

(k − 1)( z nk ) + a
z n+1 = , n=0, 1, 2, 3,… (4)
k ( z nk −1 )

Выбирая какое-либо начальное приближение z0, мы будем


получать корни k-ой степени из комплексного числа a, т.е. будем
иметь k корней
2 jπ 2 jπ
z j +1 = k a (cos( ) + i sin( )) , j=0,1,2,…, k-1,
k k

расположенных на окружности радиуса k


a и отстоящих друг от

друга на угол k
. Кстати, именно таким способом реализовано
компьютерное вычисление корня из a при начальном приближении
z0=a и k=2.

Корни уравнения zk - a являются устойчивыми неподвижными


точками отображения (4).

Вся проблема метода Ньютона заключается в следующем: если


мы выберем начальное приближение, близкое к корню уравнения,
то мы получим последовательность {zn}, быстро сходящуюся к
корню, но что будет, если мы выберем достаточно отдаленное
первое приближение? Строя области притяжения различных корней
уравнения f(z)=0, получим области с фрактальной границей.

Ниже представлены несколько областей для a=1 и различных k.


k=3, a=1

k=4, a=1
k=5, a=1

Основы гиперкомплексной динамики.

Множества Жюлиа квадратичной функции (и других функций)


существуют не только на комплексной плоскости, но и в
пространствах с большими размерностями, в частности, в
гиперкомплексном пространстве. Так как комплексная плоскость -
это подмножество гиперкомплексного пространства, то любое
комплексное множество Жюлиа существует в гиперкомплексном
пространстве и имеет продолжение вне комплексной плоскости.

Поэтому рассмотрим основные понятия, связанные с


гиперкомплексным пространством и его элементами.

Кватернионы

Кватернионы (гиперкомплексные числа) были введены


Гамильтоном в 19 веке. Множество гиперкомплексных чисел
обозначается H.
По аналогии с комплексным числом, кватернион q = r + ai + bj +
ck, где i, j, k - мнимые единицы (i2 = j2 = k2 = -1), r, a, b, c -
вещественные. Таким образом, гиперкомплексные числа
порождаются вещественной единицей 1 и тремя мнимыми i, j, и k.
Обозначения:
Re(q) = r - вещественная часть q, Imi(q) = a, Imj(q) = b, Imk(q)
= c,
Pu(q) = Imi(q)i + Imj(q)j + Imk(q)k = ai + bj + ck - мнимая часть
q,
S = {q e H: |q| = 1} - сфера радиуса 1 в H,
S2 = {q e H: |q| = 1, Re(q) = 0}.
Кватернион, у которого вещественная часть нулевая, называется
чистым кватернионом. Если q - чистый кватернион, то Pu(q) = q.
Пусть P - пространство (трехмерное) чистых кватернионов. Тогда
H = R ⊕P, так как q = Re(q) + Pu(q), Re(q) ϵ R, Pu(q) ϵ P.
S можно определить по-другому: S = {q ϵ P: |q| = 1} - сфера
чисто мнимых точек радиуса 1.
Гиперкомплексное пространство - продолжение комплексной
плоскости (по аналогии с тем, что комплексная плоскость -
продолжение вещественной прямой). Комплексные числа -
гиперкомплексные, у которых Imj = Imk = 0 (вещественные, если
еще и Imi = 0).

Иногда кватернионы представляют в виде

• вещественного числа r и 3-х мерного вектора (a, b, c)


(разложение H на R и P: r ϵ R, (a,b,c) ϵ P)

• c1+c2j, где c1, c2 - комплексные, c1 = r + ai, c2 = b + ci

• R(A + Bu) = Rcos(θ) + Rsin(θ)u, A, B, R, θ - вещественные, R


– модуль кватерниона, A2 + B2 = 1, u ϵ S2 .

Действия с кватернионами

Пусть q = r + ai + bj + ck, q1 = r1 + a1i + b1j + c1k , q2 = r2 + a2i +


b2j + c2k
Сложение и вычитание выполняются покомпонентно:
q1 + q2 = (r1 + r2) + (a1 + a2 )i + (b1 + b2)j + (c1 +c2)k
q1 - q2 = (r1 - r2) + (a1 - a2 )i - (b1 + b2)j - (c1 +c2)k
Умножение кватернионов похоже на умножение полиномов с
тремя переменными i, j, k, но со специфическими свойствами:
I2 = j2 = k2 =-1, ij = k, jk = i, ki = j, ji = -k, kj = -i, ik = -j . Поэтому
умножение не коммутативно.
Сопряжение: q* = r - ai - bj – Ck
Модуль: | q | = q ⋅ q = r + a + b + c ; свойство: | q1∙ q2 |=| q1 |∙| q2 |
* 2 2 2 2

- 1
q* -1
Обратное : q = q
2 , q∙q =1
Деление: q1/ q2 = q1 ∙ q2-1
Скалярное произведение: < q1, q2 > = Re(q1 ∙ q2) = r1r2 + a1a2 +
b1b2 + c1c2
q
Нормализация: Un(q) = q
, если q ≠ 0
Un(q) ϵ S, а если q ϵ P, то Un(q) ϵ S2
Возведение в квадрат: q2 = (r2 - a2 - b2 - c2) + 2rai + 2rbj + 2rck

Возведение в степень n eN: qn = q∙ q∙...∙q

Удобнее представить q в виде R cos(θ) + Rsin(θ)∙u, где uϵS2, и


воспользоваться формулой: qn = Rncos(nθ) + Rn sin(nθ) ∙u

Повороты 3-х мерного пространства

Одно из самых интересных свойств кватернионов - это


возможность представлять повороты 3-х мерного пространства.
Представим 3-х мерное пространство R3 в виде пространства
чистых кватернионов P. Если g - единичный кватернион (|g| = 1), то
определим отображение ρ: R3 →R3 уравнением
ρ(Z) = gZg-1, где Z ϵ P, описывающим поворот 3-х мерного
пространства вокруг оси u на угол θ, где
g = cos(θ/2) + sin(θ/2)∙u
Здесь u - чистый кватернион единичной длины, следовательно,
вектор в 3-х мерном пространстве. Любой единичный кватернион
можно представить в таком виде.
Этот метод представления поворотов с помощью кватернионов
очень полезен в компьютерной графике для выполнения вращения
без использования матриц.
Следствие 1. Для любого кватерниона q существует единичный
кватернион p такой, что p-1∙q∙p - комплексное число. То есть любой
кватернион может быть повернут в комплексную плоскость с
помощью соответствующего единичного кватерниона.
Следствие 2. Можно определить ось вращения, являющегося
композицией вращений, перемножив соответствующие этим
вращениям кватернионы.

Гиперкомплексные множества Жюлиа и Мандельброта

Пусть f: H → H (например, f(h) = fq(h) = h2 + q).


Бассейн притяжения бесконечно удаленной точки (∞) для
отображения f
Af(∞) = {h ϵ H: |fn(h)| → ∞, если n → ∞}.
Множество Жюлиа для отображения f - это граница множества
Af(∞).
Наполненное множество Жюлиа
K(f) = H \ Af(∞) = { h ϵ H: |fn(h)| ограничен, если n →∞}.
Множество Мандельброта
M = {q ϵ H: 0 ϵ Kf(q), где fq(h) = h2 + q}
Множества Жюлиа квадратичного семейства

Классическое гиперкомплексное множество Жюлиа


определяется функцией
fq(z) = z2 + q, где q ϵ
H.
Рассмотрим случай q = c ϵ C. Поэтому fc(z) = z2 + c - расширение
комплексной функции.
Так как комплексная плоскость - это подмножество
гиперкомплексного пространства, то любое комплексное
множество Жюлиа существует в гиперкомплексном пространстве и
часто имеет продолжение вне комплексной плоскости.
Когда c ϵ R, гиперкомплексное множество Жюлиа - всего лишь
поверхность вращения в H 2-х мерного множества Жюлиа вокруг
вещественной оси. Если c имеет мнимые компоненты, то
продолжение не тривиальное. Гиперкомплексное множество
Жюлиа содержит больше информации, чем его комплексное
подмножество.
Множества Жюлиа для fc(z) = z2 + c могут быть визуализированы
в 3-х мерном пространстве с помощью нахождения пересечения 4-х
мерного объекта с 3-х мерным пространством, натянутом на
векторы 1, i, j.
Существуют соответствующие q (q ϵ H), единичный кватернион p
(|p| = 1) и комплексное число c, такие, что p∙q∙p-1 = c. Тогда
множество Жюлиа Jq для fq(z) = z2 + q (q ϵ H) может быть получено с
помощью поворота в гиперкомплексном пространстве множества
Жюлиа Jc для fc(z) =
z2 + c (c ϵ C).
Библиографический список.

1. Р.М. Кроновер. «Фракталы и хаос в динамических системах.


Основы теории». - М: Постмаркет, 2000.

2. С.В. Божокин, Д.А. Паршин. «Фракталы и мультифракталы». –


Ижевск: НИЦ «Регулярная и хаотическая динамика», 2001.

3. Х.-О. Пайтген, П.Х. Рихтер. «Красота фракталов», - Москва,


«МИР», 1993.

4. А.Д. Морозов. «Введение в теорию фракталов». – Москва-


Ижевск, Институт компьютерных исследований, 2002.

5. Н.О. РАБА. «Реализация алгоритмов построения


гиперкомплексных множеств Жюлиа и Мандельброта».
Электронный журнал «Дифференциальные уравнения и
процессы управления», №3, 2007.

6. Л.С. Понтрягин. «Обобщения чисел». – М: Едиториал УРСС,


2003.

Оценить