Построение множества Жюлиа

от автора

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

Итак, вернемся к теме поста. Я давно хотел немного больше узнать о комплексных числах, а не только то, что корень из минус единицы равен i. Особенно вызывали интерес фигуры имеющие фрактальную структуру, хотелось понять, что это значит, и как сделать такую визуализацию. Где то на полке стояла книжка по ТФКП, а так же закончился курс по комплексному анализу на курсере, и появилось немного свободного от работы времени. Приступим.

Итерация функции

Перед тем как написать алгоритм, придется изучить несколько базовых понятий. Начнем мы с понятия итерация функции f. Введем следующее обозначение n-ой итерации функции f:

За нулевую итерацию принимается тождественное отображение:

Существует множество теорем о неподвижных точках определенных типов отображений, вспомним что такое неподвижная точка некоторого отображения g:

Аналогично, для итерации функции вводится притягивающая точка — такая точка из области определения функции f, что последовательность значение итераций функции f сходится к некоторой неподвижной точке отображения f:

  • где y — некоторая точка достаточно близкая к точке x

Множество всех y, удовлетворяющее предыдущему условию — называется предельным множество точки x под действием итерации функции f.

Как правило, интерес представляет изучение последовательности функций образованных итерациями (подобную идею можно увидеть в методе Ньютона, где отображения являются сжимающими)

а так же последовательность значений вычисленных в некоторой начальной точке

Для комплексного мира визуализировать итеративную сходимость точки y к x под действием итерации функции f немного проблематично, все таки 4d, но для действительного мира картина всего 2d.

Итак, первый камушек, необходимый для понимания множества Жюлиа заложен, перейдем к следующему.

Квадратичный комплексный полином

Квадратичный комплексный полином в общем виде выглядит следующим образом:

Так же существует понятие унитарной (a = 1) центрированное (b = 0) формы квадратичного полинома

Введем следующее отображение φ, и найдем его обратное отображение:

Рассмотрим следующее выражение

Легко заметить, что последнее выражение напоминает квадратичный полином в общем виде p(z), давайте найдем такое c, что бы привести полученное выражение к квадратичному полиному в общего вида

Таким образом мы показали, что при вышеприведенной замене c, полином общего вида можно записать как

Поведение квадратичного полинома под действием итераций

Перейдем к третьему камушку базы для понимания множества Жюлиа. Рассмотрим вторую итерацию комплексного квадратичного полинома

Не трудно показать, что

И как раз вот тут мы объединяем все три пункта, давайте сформулируем вывод: для того что бы исследовать поведение квадратичного полинома под действием итераций, достаточно исследовать его в унитарной центрированной форме, а не в общем виде. А это реально круто, ведь в общем виде мы имеем целых три коэффициента, а в унитарной центрированной форме всего лишь один.

Хаотичное и нормальное поведение

Уже скоро можно будет дать определение множества Жюлиа. Мы будем рассматривать скорее интуитивные определения, нежели строго математические. Но сперва, рассмотрим понятие устойчивости. Решением некоторого дифференциального уравнения называется устойчивым, если поведение решения с условиями, близкими к начальным, не сильно отличается от поведения исходного решения. Не трудно догадаться, что вся соль во фразе не сильно отличается. Вообще выделяют различные типы устойчивости, например в определении множества Жюлиа учавствует устойчивость по Ляпунову (это более ясное определение вытекает из теоремы Монтеля о компактном семействе функций), но мы даже не будем вдаваться в суть различий устойчивостей, тут главное понять идею. Попробуем это проиллюстрировать. Для начала взглянем на интуитивное восприятие устойчивости, тут синяя и желтые траектории точек при небольшом изменении ведут себя почти одинаково, в то время как для красной траектории, небольшое изменение ведет совершенно в другую сторону.

Давайте рассмотрим следующий полином f(z) = z2 — 1 + 0.213i, и построим траекторию для 100 итераций при z0 = 0.3 + 0.2i и z0 = 0.31 + 0.2i

В этом примере вы видите, что небольшое изменение в начальном условии вылилось в расхождение траекторий, такое поведение мы назовем хаотичным. В то время как поведение при котором сохраняется устойчивость, мы будем называть нормальным, как в следующем примере. Рассмотрим следующий полином f(z) = z2 — 1 + 0.2i (всего лишь чуть изменили константу c), и построим траекторию для 100 итераций при z0 = 0.3 + 0.2i и z0 = 0.31 + 0.2i

Множества Фату, Жюлиа и Мандельброта

ссылка на оригинал статьи http://habrahabr.ru/post/206292/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *