Ньютон фрактал - это граничный набор в комплексной плоскости, который характеризуется методом Ньютона, примененным к фиксированному полиному или трансцендентная функция. Это множество Джулии из мероморфной функции , который задается методом Ньютона. Когда нет привлекательных циклов (порядка больше 1), комплексная плоскость делится на области , каждая из которых связана с корень полинома, . В этом смысле фрактал Ньютона подобен множеству Мандельброта и, как и другие фракталы, имеет замысловатый вид, возникающий из простого описания. Это относится к численному анализу, поскольку показывает, что (за пределами области квадратичной сходимости ) метод Ньютона может быть очень чувствителен к выбору начальной точки.
Многие точки комплексной плоскости связаны с одним из корней полинома следующим образом: точка используется как начальное значение для итерации Ньютона , что дает последовательность точек Если последовательность сходится к корню , тогда был элементом области . Однако для каждого полинома степени не менее 2 есть точки, для которых итерация Ньютона не сходится ни к какому корню: примеры - это границы областей притяжения различных корней. Существуют даже многочлены, для которых открытые наборы начальных точек не могут сходиться ни к одному корню: простой пример: , где некоторые точки притягивает цикл 0, 1, 0, 1..., а не корень.
Открытый набор, для которого итерации сходятся к заданному корню или циклу (который не является фиксированной точкой), является набором Фату для итерации. Дополнительным набором к объединению всего этого является набор Жюлиа. Множества Фату имеют общую границу, а именно множество Жюлиа. Следовательно, каждая точка множества Жюлиа является точкой накопления для каждого из множеств Фату. Именно это свойство обуславливает фрактальную структуру множества Жюлиа (когда степень полинома больше 2).
Для построения интересных изображений можно сначала выбрать заданное количество комплексных точек и вычислить коэффициенты полинома
Тогда для прямоугольной решетки , , точек в , найдется индекс соответствующего корня и использует это для заполнения растровой сетки ×, назначая каждой точке цвет . Дополнительно или альтернативно цвета могут зависеть от расстояния , которое определяется как первое значение такой, что для некоторых ранее исправленных маленьких .
Обобщение итерации Ньютона:
где - любое комплексное число. Специальный выбор соответствует фракталу Ньютона. Неподвижные точки этой карты стабильны, когда лежит внутри диска радиуса 1 с центром в 1. Когда находится за пределами этого диска, фиксированные точки локально нестабильно, однако на карте все еще отображается фрактальная структура в смысле множества Жюлиа. Если является многочленом степени , то последовательность является ограниченным при условии, что находится внутри диска с радиусом с центром в .
В общем, фрактал Ньютона является частным случаем множества Джулии.
фрактала Ньютона для трех корней степени 3 (), раскрашенный количеством необходимых итераций
фрактал Ньютона для трех корней степени 3 ( ), раскрашенный корнем, достигшим
фрактала Ньютона для . Точки в красных тазах не доходят до корня.
Фрактал Ньютона для полинома 7-го порядка, раскрашенный по достигнутому корню и закрашенный по скорости сходимости.
Фрактал Ньютона для
Фрактал Ньютона для , окрашен в соответствии с достигнутым корнем, затемнен по количеству необходимых итераций.
фрактал Ньютона для , раскрашен по достигнутому корню, заштрихован по количеству итераций требуется
Другой фрактал Ньютона для
Обобщенный фрактал Ньютона для , Цвет был выбран на основе аргумента после 40 итераций.
Обобщенный фрактал Ньютона для ,
Обобщенный фрактал Ньютона для ,
Обобщенный фрактал Ньютона для ,
Фрактал Новой, изобретенный в середине 1990-х Полом Дербиширом, является обобщением фрактала Ньютона с добавлением значения на каждом шаге:
Вариант "Джулии" фрактала Nova сохраняет константу над изображением и инициализирует координатами пикселей. Вариант «Мандельброта» фрактала Новой инициализирует с координатами пикселей и устанавливает до критической точки, где . Часто используемые многочлены, такие как или ведут к критической точке .
Чтобы реализовать фрактал Ньютона, необходимо иметь начальную функцию, а также ее производную функцию:
Корни функции:
Определенные выше функции можно преобразовать в псевдокод следующим образом:
// z ^ 3-1 float2 Функция (float2 z) {return cpow (z, 3) - float2 (1, 0); // cpow - экспоненциальная функция для комплексных чисел} // 3 * z ^ 2 float2 Derivative (float2 z) {return 3 * cmul (z, z); // cmul - это функция, которая обрабатывает умножение комплексных чисел}
Теперь осталось просто реализовать метод Ньютона с использованием заданных функций.
float2 root [3] = // Корни (решения) многочлена {float2 (1, 0), float2 (-. 5, sqrt (3) / 2), float2 (-. 5, -sqrt (3) / 2)}; color colors [3] = // Назначьте цвет для каждого корня {красный, зеленый, синий} Для каждого пикселя (x, y) на цели выполните: {zx = масштабированная координата x пикселя (масштабированная, чтобы лежать в Мандельброте Масштаб X (-2,5, 1)) zy = масштабированная координата y пикселя (масштабируется в соответствии с масштабом Y Мандельброта (-1, 1)) float2 z = float2 (zx, zy); // Z изначально задано в пиксельных координатах для (int iteration = 0; iteration < maxIteration; iteration++;) { z -= cdiv(Function(z), Derivative(z)); //cdiv is a function for dividing complex numbers float tolerance = 0.000001; for (int i = 0; i < roots.Length; i++) { float difference = z - roots[i]; //If the current iteration is close enough to a root, color the pixel. if (abs(difference.x) < tolerance abs (difference.y) < tolerance) { return colors[i]; //Return the color corresponding to the root } } } return black; //If no solution is found }
На Wikimedia Commons есть носители, связанные с Фракталы Ньютона. |