Математика
Комплексний аналіз · Візуалізація · ⌛ ~16 хв читання · Останнє оновлення: 3 липня 2026 р.

Комплексні функції та доменне розфарбування: візуалізація невидимого

Комплексна функція відображає одну пару чисел на іншу, живучи в чотиривимірному просторі, що не піддається прямому побудові графіку. Доменне розфарбування — елегантне рішення: закодуй вихідне значення як колір і розфарбуй вхідну площину. Раптово полюси стають розетками з циклічними відтінками, нулі зникають у темряві, розрізи гілок стають колірними обривами, а нетривіальні нулі дзета-функції Рімана світяться наче намистини на нитці. Ця стаття пояснює математику за цією технікою та досліджує, що вона розкриває про деякі найглибші функції в математиці.

1. Комплексні числа та функції

Комплексне число z = x + iy поєднує дійсну частину x та уявну частину y, де i = √(−1). Його полярна форма z = r e = r(cosθ + i sinθ) виражає ту саму інформацію через модуль r = |z| = √(x² + y²) і аргумент θ = arg(z) = arctg(y/x). Формула Ейлера e = cosθ + i sinθ поєднує тригонометрію та експоненційний ріст в одному виразі й лежить в основі всього доменного розфарбування.

Комплексне число: z = x + iy = r·e^(iθ) Модуль: |z| = r = √(x² + y²) Аргумент: θ = arg(z) = atan2(y, x) ∈ (−π, π] Спряжене: z̄ = x − iy, z·z̄ = |z|² = r² Арифметика: (a+ib)(c+id) = (ac−bd) + i(ad+bc) 1/z = z̄ / |z|² = (x − iy) / (x² + y²) z^n = r^n · e^(inθ) (теорема де Муавра) |z₁·z₂| = |z₁|·|z₂|, arg(z₁z₂) = arg(z₁) + arg(z₂) mod 2π Комплексна функція f: ℂ → ℂ: f(z) = u(x,y) + i·v(x,y) Приклади: f(z) = z² = (x²−y²) + i(2xy) f(z) = e^z = eˣ(cos y + i sin y) f(z) = sin z = sin x·cosh y + i·cos x·sinh y f(z) = 1/z = x/(x²+y²) − i·y/(x²+y²)

Комплексні функції набагато багатші за своїх дійсних аналогів. Функція дійсної змінної може лише зростати, спадати або коливатися; комплексна функція обертає, розтягує, стискає й згинає площину в патернах, контрольованих її аналітичною структурою. Похідна f'(z) має бути однаковою незалежно від напрямку підходу в комплексній площині — набагато сильніша вимога, ніж дійсна диференційованість, що призводить до рівнянь Коші–Рімана і, врешті-решт, до надзвичайно жорсткої геометричної поведінки.

2. Метод доменного розфарбування

Доменне розфарбування, запроваджене Франком Фаррісом та популяризоване Гансом Лундмарком та Еліасом Вегертом, перетворює кожне вихідне значення f(z) у колір. Канонічна схема використовує HSV (відтінок, насиченість, яскравість):

Для кожного пікселя в позиції z комплексної площини обчислюємо w = f(z): Відтінок: H = arg(w) / (2π) ∈ [0, 1) Відображає аргумент 0 → червоний, π/3 → жовтий, 2π/3 → зелений, π → блакитний, 4π/3 → синій, 5π/3 → пурпурний → червоний Яскравість (варіанти): (а) Кільця модуля: V = (log|w| mod 1)^0.5 — логарифмічні контури (б) Безперервна: V = |w| / (1 + |w|) — обмежена 0→1 (в) Шахова: накладка сітки |Im(z)| або |Re(z)| mod 1 Насиченість: S = 1 (повністю насичені, яскраві кольори) Читання діаграми: Кольори циклюють проти годинникової стрілки навколо точки → нуль f Кольори циклюють за годинниковою стрілкою → полюс n повних циклів кольорів → нуль або полюс n-го порядку Лінія розриву кольорів → розріз гілки Усі кольори сходяться без нетто-циклу → регулярна точка Рівномірний колір → стала функція в цій ділянці Реалізація на JavaScript (фрагмент): function domainColour(re, im, f) { const [wr, wi] = f(re, im); const arg = Math.atan2(wi, wr); const mod = Math.hypot(wr, wi); const hue = ((arg / (2*Math.PI)) + 1) % 1; const logMod = Math.log(mod + 1e-12); const val = 0.5 + 0.5 * Math.sin(Math.PI * (logMod % 1)); return hslToRgb(hue, 1.0, val); }

Логарифмічні контури яскравості є ключовими. Оскільки |f(z)| може змінюватися від 0 до ∞, лінійна шкала яскравості показала б лише малу частину структури. Взяття log|w| і застосування синусоїдальної модуляції виробляє кільця змінної яскравості, що підраховують порядок величини модуля — кожен повний цикл яскравості відповідає множнику e (≈ 2,718) у модулі.

Вдосконалене доменне розфарбування (фазові портрети Вегерта) іноді використовує лише аргумент, відкидаючи модуль, щоб отримати найчистіший вигляд фазової структури. Особливо вражаючими є фазові портрети функцій з багатьма нулями та полюсами, таких як дзета-функція Рімана, де нулі вишиковуються в ряд на критичній лінії.

3. Полюси, нулі та числа обмотування

Найважливішими рисами комплексної функції є її нулі та полюси. Доменне розфарбування робить їх негайно видимими без обчислень.

Нулі f(z): Простий нуль в z₀: f(z) ≈ a(z − z₀) поблизу z₀ → кольори роблять один оберт проти годинникової стрілки Нуль n-го порядку: f(z) ≈ a(z − z₀)ⁿ → n обертів проти годинникової стрілки Полюси f(z): Простий полюс в z₀: f(z) ≈ A/(z − z₀) → один оберт за годинниковою стрілкою (модуль → ∞) Полюс n-го порядку: f(z) ≈ A/(z − z₀)ⁿ → n обертів за годинниковою стрілкою Число обмотування W(C, z₀) = (1/2πi) ∮_C dz/(z − z₀) Підраховує нетто-обертів кривої C навколо z₀ проти годинникової стрілки. Принцип аргументу: (1/2πi) ∮_C f'(z)/f(z) dz = N − P де N = нулі всередині C, P = полюси Приклад: f(z) = (z² − 1)(z + 2i) / ((z − i)³(z + 1)) Нулі: z = ±1 (порядок 1), z = −2i (порядок 1) → N = 3 Полюси: z = i (порядок 3), z = −1 (порядок 1) → P = 4 Результат: N − P = −1 (один оберт за год. стрілкою по великому контуру) Суттєва особливість (велика теорема Пікара): Поблизу суттєвої особливості f приймає кожне комплексне значення (з щонайбільше одним винятком) нескінченно багато разів. Доменне розфарбування: нескінченно багато циклів кольорів поблизу точки. Приклад: f(z) = e^(1/z) при z = 0

Теорема про лишки є визначальним результатом цієї структури. Для меромофної функції з полюсами zk всередині простого замкненого контуру C, контурний інтеграл дорівнює 2πi, помноженому на суму лишків. У термінах доменного розфарбування інтеграл “підраховує” нетто-обмотування вихідного кольору при проходженні по C. Ця геометрична інтерпретація робить інакше абстрактну теорему наочно очевидною.

4. Конформне відображення та аналітичне продовження

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

Рівняння Коші-Рімана (необхідні для голоморфності): f(z) = u(x,y) + iv(x,y) ∂u/∂x = ∂v/∂y та ∂u/∂y = −∂v/∂x → і u, і v задовольняють рівняння Лапласа: ∇²u = ∇²v = 0 → u та v є гармонічними спряженими Конформні відображення та їх застосування: Перетворення Мебіуса: w = (az+b)/(cz+d), ad−bc ≠ 0 Відображає кола/прямі в кола/прямі; білінійне перетворення в обробці сигналів Перетворення Жуковського: w = z + 1/z Відображає одиничне коло в плоску пластину; кола поблизу → профілі аеродинамічних крил Перетворення Шварца-Крістоффеля: відображає верхню напівплощину в многокутники Застосовується в електростатиці, гідродинаміці, теплопровідності Логарифм: w = log(z) = ln|z| + i·arg(z) Відображає кільце в прямокутник; використовується в конформному проектуванні антен Аналітичне продовження: Голоморфна функція на області D однозначно розширюється на будь-яку зв'язну D': Доменне розфарбування візуалізує це: кольоровий малюнок на D гладко продовжується в D'. Розрізи гілок — це шви, де продовження блокується багатозначністю.

Аналітичне продовження — один з найдивовижніших фактів у математиці: функція, відома на довільно малій відкритій множині, однозначно визначається всюди, де її можна аналітично продовжити. Ця жорсткість не має паралелей у дійсному аналізі — дійсна гладка функція може бути змінена на компактній множині, не впливаючи на поведінку поза нею. Для комплексних функцій вся глобальна структура закодована в будь-якій малій ділянці.

5. Спеціальні функції: гамма, дзета та еліптичні

Доменне розфарбування перетворює абстрактні спеціальні функції на яскраві зображення, що негайно розкривають їх структуру.

Гамма-функція Γ(z): Визначення: Γ(z) = ∫₀^∞ t^(z−1) e^(−t) dt для Re(z) > 0 Функціональне рівняння: Γ(z+1) = z·Γ(z) Полюси: прості полюси при z = 0, −1, −2, … з лишком (−1)ⁿ/n! при z = −n Формула відображення: Γ(z)Γ(1−z) = π / sin(πz) Доменне розфарбування: нескінченний ряд полюсів на від'ємній дійсній осі, кожен з однотурною кольоровою розеткою. Дзета-функція Рімана ζ(s): ζ(s) = Σₙ₌₁^∞ n^(−s) = ∏_p (1 − p^(−s))^(−1) для Re(s) > 1 Аналітичне продовження на ℂ \ {1}; простий полюс при s=1 (лишок 1) Функціональне рівняння: ζ(s) = 2^s π^(s−1) sin(πs/2) Γ(1−s) ζ(1−s) Тривіальні нулі: s = −2, −4, −6, … Нетривіальні нулі: Re(s) = ½ (гіпотеза Рімана, 1859 р.) Відомо: перші 10¹³ нулів лежать на Re(s) = ½ Перші нулі при t ≈ 14,1; 21,0; 25,0; 30,4; 32,9; … Еліптичні функції (Вейєрштрасс ℘): ℘(z; ω₁, ω₂) = 1/z² + Σ'_{m,n} [1/(z−mω₁−nω₂)² − 1/(mω₁+nω₂)²] Двоперіодична: ℘(z + ω₁) = ℘(z + ω₂) = ℘(z) Два полюси на фундаментальному паралелограмі (порядок 2 при z=0) Доменне розфарбування: ідеально повторюваний ґратковий патерн; фундаментальна область тайлить площину — робить періодичність наочно очевидною.

Гіпотеза Рімана — найвідоміша невирішена проблема математики: чи лежать усі нетривіальні нулі ζ(s) на лінії Re(s) = 1/2? Доменне розфарбування ζ поблизу критичної смуги робить це наочно інтуїтивним — темні точки зустрічі кольорів здаються маршируючими точно вздовж вертикальної лінії, утворюючи послідовність, що кодує розподіл простих чисел.

6. Практичне застосування

Комплексний аналіз і доменне розфарбування — не лише естетичні заняття; вони фундаментально підтримують інженерію, фізику та обчислення.

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

Чому ми не можемо просто побудувати графік комплексної функції як 3D поверхню?

Комплексна функція f: ℂ → ℂ приймає 2D вхід (комплексна площина) і виробляє 2D вихід (інша комплексна площина). Щоб побудувати її точно, нам знадобилися б чотири дійсних виміри — два для входу, два для виходу — що неможливо відобразити безпосередньо. Найкраще рішення — доменне розфарбування: воно кодує і аргумент, і модуль одночасно в одному 2D зображенні, не втрачаючи жодної інформації.

Що означає, що комплексна функція є “аналітичною”?

Функція є аналітичною (або голоморфною) в точці, якщо вона є комплексно-диференційованою в деякому відкритому околі цієї точки. Це набагато сильніша умова, ніж дійсна диференційованість: вона означає, що функція дорівнює своєму ряду Тейлора, є нескінченно диференційованою, задовольняє рівнянням Коші–Рімана, має гармонічні дійсну та уявну частини й є конформною там, де її похідна ненульова. У доменному розфарбуванні аналітичні ділянки показують плавну, неперервну зміну кольорів; ізольовані особливості виділяються як аномалії з циклуванням кольорів.

Як доменне розфарбування виявляє розрізи гілок?

Розрізи гілок — це лінії, вздовж яких багатозначна функція має бути зроблена однозначною вибором однієї гілки, вводячи розрив. У доменному розфарбуванні вони виглядають як різкі лінії, де відтінок різко стрибає, як правило, на половину колірного кола. Для √z зі стандартним розрізом гілки вздовж від'ємної дійсної осі, колір стрибає від блакитного до червоного через від'ємну вісь, відображаючи стрибок аргументу √z від −π/2 до +π/2 при перетині розрізу.