📖 Теорія — метод Ньютона, басейни та задача Келі

Метод Ньютона у комплексній площині

Щоб знайти корінь функції f(z), метод Ньютона ітерує z ← z − f(z)/f′(z). Коли z — комплексне число, те саме правило прокладає шлях по площині. Для більшості стартових точок шлях по спіралі сходиться до одного з коренів полінома.

Басейни притягання

Басейн кореня — це множина всіх стартових точок, які зрештою сходяться до нього. Кожному кореню ми даємо окремий колір і забарвлюємо кожен піксель за басейном, до якого він належить, роблячи його яскравішим за швидкої збіжності (мало ітерацій) і темнішим за повільної.

Фрактальна межа

Там, де басейни зустрічаються, картина ніколи не заспокоюється: скільки завгодно близько до точки, що прямує до кореня A, є точки, що прямують до коренів B та C. Ця межа — фрактал із вражаючою властивістю: кожна її точка дотикається до всіх басейнів одночасно.

Задача Келі

У 1879 році Артур Келі розв'язав випадок z² − 1 (межа басейнів — просто уявна вісь), але виявив, що z³ − 1 "становить значну складність". Ця складність і є фракталом — структурою, яку неможливо було побачити, доки комп'ютери не навчилися забарвлювати мільйони пікселів.

Релаксація та хаос

Над- або недорелаксований метод Ньютона використовує z ← z − a·f(z)/f′(z). За a = 1 маємо класичний Ньютон; зсуваючи a від 1 (або обираючи поліном на кшталт z³ − 2z + 2 з притягальними циклами), збіжність руйнується і відкриваються хаотичні області, що ніколи не сходяться.

Про фрактал методу Ньютона

Метод Ньютона, застосований до комплексних поліномів, породжує одну з найкрасивіших фрактальних структур у математиці. Починаючи від будь-якого комплексного числа z₀, ітерація z ← z − a·f(z)/f′(z) (де a — параметр релаксації, за замовчуванням 1) збігається до кореня f(z) = 0. Забарвлення кожної початкової точки відповідно до того, до якого кореня вона потрапила — і тонування за швидкістю збіжності — розкриває діаграму басейнів притягання. Для степеня n ≥ 3 межі між басейнами є фракталами — множинами Жюліа раціонального відображення N(z) = z − f(z)/f′(z), нескінченно складними і самоподібними на кожному масштабі.

Обирайте між кількома поліномами (включно з «хаотичним» z³ − 2z + 2, що має притягальні 2-цикли), налаштовуйте параметр релаксації та кількість ітерацій, а клацання в будь-якому місці дозволяє наближати вибрану точку. Прогресивний рендерер рядок за рядком оновлює полотно по мірі завершення смуг, щоб ви бачили, як зображення будується в реальному часі. Збережіть улюблений вид фракталу як PNG за допомогою кнопки в панелі керування.

Часті запитання

Як працює метод Ньютона в комплексній площині?

Ітерація Ньютона z ← z − f(z)/f′(z) розроблена для дійсних чисел, але однаково добре працює для комплексних — алгебра ідентична, тільки з комплексною арифметикою. Починаючи з комплексного початкового наближення z₀, послідовність зазвичай спіраллю наближається до одного з коренів полінома. Приголомшлива знахідка полягає в тому, що множина початкових точок, які збігаються до даного кореня (басейн притягання), має фрактальну межу при степені полінома 3 і більше.

Що робить z³ − 2z + 2 «хаотичним»?

Поліном z³ − 2z + 2 має три корені поблизу z ≈ −1,769, 0,885 ± 0,590i, але відображення Ньютона N(z) для цього полінома має притягальні 2-цикли — точки, де ітерація нескінченно перескакує між двома значеннями, не збігаючись до жодного кореня. Ділянки комплексної площини, захоплені цими циклами, виглядають як темні незбіжні зони, а межі між збіжними і незбіжними областями особливо заплутані.

Що робить параметр релаксації a?

Релаксований метод Ньютона використовує z ← z − a·f(z)/f′(z). При a = 1 — це стандартний метод Ньютона з квадратичною збіжністю. Значення a < 1 сповільнюють збіжність, але можуть приборкати розбіжність. Значення a > 1 прискорюють збіжність для деяких точок, але збільшують хаотичну межу, де жоден корінь не досягається. При великому відхиленні a від 1 виникають зовсім нові фрактальні структури.

Що таке корені одиниці і чому вони так часто використовуються?

Корені одиниці n-го степеня — це n розв'язків рівняння zⁿ = 1, рівномірно розташованих на одиничному колі під кутами 2πk/n. Вони є зручними тестовими випадками, бо мають прості точні значення, похідна f′(z) = n·z^{n−1} легко обчислюється, а n-кратна симетрія обертання робить фрактал симетричним. Зміна повзунка степеня від 3 до 9 додає більше коренів і басейнів, збільшуючи складність фракталу.

Чому зображення рендериться прогресивно рядками?

Кожен піксель потребує до maxIter кроків Ньютона (до 80 у цій симуляції), а полотно 480×360 містить ~172 800 пікселів — потенційно мільйони операцій з плаваючою комою. Щоб не блокувати інтерфейс браузера, рендерер обробляє 12 рядків на кадр анімації й передає керування між пакетами. Ви бачите, як фрактал з'являється зверху вниз; зміна будь-якого налаштування скасовує поточний рендер і запускає новий.

Як працює наближення при клацанні?

Кожне клацання перецентровує вигляд комплексної площини на клацнуту точку і вдвічі зменшує масштаб (scale × 0,5), подвоюючи збільшення. Вигляд визначається центром (centerX + centerY·i) і шириною (масштаб у комплексних одиницях). На кожному рівні збільшення та сама ітерація Ньютона виконується з вищою роздільною здатністю — фрактальна структура повторюється на всіх масштабах, оскільки математика є масштабно інваріантною на межі фракталу.

Які кольорові палітри доступні і як вони працюють?

Пропонуються чотири палітри. «Vivid» використовує насичені кольори HSL з відтінками, розподіленими по колірному колі, по одному відтінку на басейн. «Pastel» — менша насиченість для м'якшого вигляду. «Neon» — 100% насиченість для ефекту свічення. «Mono» — відтінки сірого з невеликими зсувами кольору. В усіх паліграх пікселі зі швидшою збіжністю яскравіші, тому межа фракталу — де збіжність найповільніша — виглядає темною і заплутаною.

Який зв'язок між фракталами Ньютона і множинами Жюліа?

Відображення Ньютона N(z) = z − f(z)/f′(z) є раціональною функцією степеня 2n−2 для полінома степеня n. Його множина Жюліа — межа між басейнами притягання — є точно тим фрактальним кордоном, видимим на зображенні фракталу Ньютона. Для z³ − 1 ця множина Жюліа має вимірність Хаусдорфа приблизно 1,29. Множину Мандельброта можна розглядати як параметризацію того, які множини Жюліа є «гарними» (зв'язними) чи «пилоподібними» (типу Кантора).

Чи можна зберегти зображення фракталу?

Так — кнопка «Зберегти PNG» експортує поточний вміст полотна у внутрішній роздільній здатності рендера (до 560×420 пікселів). Зображення захоплює точні кольори пікселів, обчислені ітерацією Ньютона при поточному вигляді, поліномі, палітрі та налаштуваннях релаксації. Для експорту у вищій роздільній здатності потрібно збільшити RW і RH у вихідному коді і дочекатися довшого рендеру.