Комплексный анализ
Ряды Тейлора и Лорана
tanh(x) вычисляется за наносекунды на GPU. Но как именно? Через усечённый ряд степеней - математику Тейлора 1715 года. Каждая функция активации - это полином, притворяющийся нелинейностью. Ряд Лорана - обобщение, которое умеет описывать поведение функции в точках, где она взрывается: именно это нужно квантовой физике, DSP-фильтрам и численному интегрированию.
- **PyTorch/JAX:** `torch.sin`, `torch.exp`, `torch.tanh` вычисляются через CORDIC/Паде-аппроксиманты - рациональные аналоги ряда Тейлора, дающие машинную точность за фиксированное число операций
- **Приближения Паде:** `scipy.linalg.expm` (матричная экспонента) использует Паде вместо ряда Тейлора - лучшая точность при том же числе членов, устойчивость за пределами диска сходимости
- **DSP/Z-преобразование:** $X(z) = \sum x[n] z^{-n}$ - ряд Лорана; полюсы определяют стабильность фильтра. IIR-фильтр нестабилен, если полюс вне единичного круга
- **QFT и петлевые интегралы:** вычисление фейнмановских диаграмм = контурные интегралы = сумма вычетов. Аномальный магнитный момент электрона известен до 10 знаков через 13 000 диаграмм
- **Аналитическое продолжение:** дзета-функция Римана определена рядом при Re(s) > 1, но ряд Лорана вокруг s=1 даёт аналитическое продолжение на всю комплексную плоскость
Предварительные знания
Ряды Тейлора
tanh(x) вычисляется за наносекунды на GPU. Но как именно? Под капотом - не магия, а усечённый ряд степеней: $\tanh(x) \approx x - x^3/3 + 2x^5/15 - \ldots$ Именно это объясняет, почему функция активации ведёт себя линейно вблизи нуля - первый член ряда Тейлора там просто $x$. Нелинейность начинается с третьего члена.
Центральный факт: функция аналитична в области тогда и только тогда, когда она совпадает со своим рядом Тейлора в каждой точке. Это не аппроксимация - это точное равенство. Именно это делает комплексный анализ настолько мощным: знание функции в одной точке (все производные) даёт её поведение во всём диске сходимости.
**Ряд Тейлора** в точке $z_0$: $f(z) = \sum_{n=0}^{\infty} a_n (z - z_0)^n, \quad a_n = \frac{f^{(n)}(z_0)}{n!}$ **Радиус сходимости (Коши-Адамар):** $\frac{1}{R} = \limsup_{n \to \infty} |a_n|^{1/n}$ Ряд сходится при $|z - z_0| < R$, расходится при $|z - z_0| > R$. Геометрически $R$ - расстояние от $z_0$ до ближайшей особой точки.
| Функция | Ряд Тейлора ($z_0=0$) | Радиус сходимости |
|---|---|---|
| $e^z$ | $\sum z^n/n!$ | $\infty$ |
| $\sin z$ | $\sum (-1)^n z^{2n+1}/(2n+1)!$ | $\infty$ |
| $1/(1-z)$ | $\sum z^n$ | $1$ |
| $\ln(1+z)$ | $\sum (-1)^{n+1} z^n/n$ | $1$ |
| $\tanh z$ | $z - z^3/3 + 2z^5/15 - \ldots$ | $\pi/2$ |
Ряд Тейлора для $\ln(1+x)$ сходится только при $|x| \leq 1$. Использовать за пределами - численная катастрофа. PyTorch это знает и переключается на другой алгоритм (логарифм через bit manipulation для float). Граница сходимости на вещественной оси диктуется комплексными особыми точками - даже если сама функция гладкая.
Радиус сходимости ряда $\sum n! \cdot z^n$ равен:
Радиус сходимости и особые точки
Вот парадокс, который стоит запомнить. Функция $f(x) = 1/(1+x^2)$ на вещественной оси абсолютно гладкая - никаких разрывов, никаких проблем. Но её ряд Тейлора вокруг $x=0$ расходится при $|x| > 1$. Почему? Потому что в комплексной плоскости есть точки $z = \pm i$, где функция имеет полюсы. Они невидимы на вещественной прямой, но определяют радиус сходимости.
**Геометрический смысл радиуса сходимости:** $R = \text{dist}(z_0, \text{ближайшая особая точка})$ Диск сходимости $|z - z_0| < R$ - это наибольший открытый диск с центром в $z_0$, не содержащий особых точек. **Следствие:** ряд Тейлора для $\ln(1+z)$ вокруг $z=0$ имеет $R=1$, потому что $z = -1$ - логарифмическая особенность. На вещественной оси это выглядит как граница области сходимости при $x = -1$.
Это не просто математическая элегантность - это практическая диагностика. Когда численный метод расходится, часто виноваты комплексные особые точки вблизи области вычисления. Приближения Паде (используемые в scipy, Julia, Matlab для matrix exponential) специально конструируются чтобы отодвинуть эти особые точки подальше от нужной области.
Радиус сходимости ряда Тейлора для $f(z) = 1/(z^2 + 4)$ вокруг $z_0 = 0$:
Ряд Лорана и вычеты
Ряд Тейлора молчит об особых точках - он просто там расходится. Ряд Лорана - обобщение, которое умеет говорить про саму особую точку. Он содержит отрицательные степени $(z-z_0)^{-n}$ и сходится не в диске, а в кольце $r < |z-z_0| < R$. Именно это кольцо охватывает особую точку снаружи, не включая её.
**Ряд Лорана:** $f(z) = \sum_{n=-\infty}^{+\infty} c_n (z-z_0)^n$ **Главная часть:** $\sum_{n=-\infty}^{-1} c_n (z-z_0)^n$ (отрицательные степени) **Правильная часть:** $\sum_{n=0}^{+\infty} c_n (z-z_0)^n$ (неотрицательные степени) **Вычет функции** в точке $z_0$: $\text{Res}(f, z_0) = c_{-1}$ Вычет - это единственный коэффициент Лорана, который выживает при контурном интегрировании.
В квантовой теории поля (QFT) вычисление петлевых интегралов - буквально вычисление вычетов. Фейнмановские диаграммы приводят к контурным интегралам; пропагатор частицы имеет полюс на массовой оболочке; вычет в этом полюсе - амплитуда рассеяния. Вся квантовая электродинамика считается через $c_{-1}$.
Вычет функции $f(z) = e^z/z^3$ в точке $z=0$ равен:
Классификация особых точек
Особые точки - не одинаковые монстры. У них есть иерархия, и главная часть ряда Лорана её раскрывает. Три типа, радикально разного поведения. Ошибиться в классификации - значит применить неверную формулу для вычета и получить неверный ответ.
**Классификация по главной части ряда Лорана:** - **Устранимая особенность:** главная часть $= 0$ (нет отрицательных степеней). $\lim_{z \to z_0} f(z)$ конечен. Пример: $\sin(z)/z$ в $z=0$ - **Полюс порядка $m$:** конечное число отрицательных степеней (до $z^{-m}$). $|f(z)| \to \infty$. Пример: $1/z^3$ - **Существенная особенность:** бесконечная главная часть. Предел не существует. Пример: $e^{1/z}$ в $z=0$ **Теорема Пикара (большая):** вблизи существенной особенности $f$ принимает любое комплексное значение (кроме не более одного) сколь угодно часто в любой проколотой окрестности.
| Тип | Главная часть | $\lim f(z)$ при $z \to z_0$ | Пример |
|---|---|---|---|
| Устранимая | 0 членов | Конечный | $\sin(z)/z$ |
| Полюс порядка $m$ | $m$ членов (до $c_{-m}$) | $\infty$ | $1/z^3$ |
| Существенная | $\infty$ членов | Не существует | $e^{1/z}$ |
Для полюса порядка $m$ вычет вычисляется по формуле без разложения в ряд: $\text{Res}(f, z_0) = \frac{1}{(m-1)!} \lim_{z \to z_0} \frac{d^{m-1}}{dz^{m-1}} [(z-z_0)^m f(z)]$ Для простого полюса ($m=1$): если $f = p/q$ и $q(z_0) = 0$, $q'(z_0) \neq 0$, то $\text{Res}(f, z_0) = p(z_0)/q'(z_0)$. Эта формула - рабочая лошадка при вычислении несобственных интегралов через контурное интегрирование.
Устранимая особенность - это просто разрыв, который можно доопределить. Большого различия с обычной точкой нет.
Устранимая особенность - это аналитическая функция с "дыркой", которую можно заполнить. После заполнения функция аналитична. Важно: ряд Лорана вырождается в ряд Тейлора.
$\sin(z)/z$ не определена в $z=0$, но $\lim_{z \to 0} \sin(z)/z = 1$. Доопределив $f(0) = 1$, получаем целую (аналитическую везде) функцию с рядом $1 - z^2/6 + z^4/120 - \ldots$
Какой тип особой точки у функции $\sin(z)/z$ в точке $z=0$?
Ключевые идеи
- **Тейлор:** аналитическая функция = сходящийся степенной ряд в диске радиуса $R = \text{dist}(z_0, \text{ближайшая особая точка})$
- **Коши-Адамар:** $1/R = \limsup |a_n|^{1/n}$ - формула для радиуса через коэффициенты
- **Лоран:** сходится в кольце $r < |z - z_0| < R$; главная часть (отрицательные степени) кодирует тип особенности
- **Три типа особых точек:** устранимая (нет главной части), полюс (конечная), существенная ($\infty$ членов)
- **Вычет $= c_{-1}$** - единственный коэффициент, выживающий при контурном интегрировании. Ключ к теореме о вычетах
Что дальше
Ряды Тейлора и Лорана - инструменты. Теорема о вычетах - оружие:
- Теорема о вычетах — Контурный интеграл = $2\pi i \cdot$ сумма вычетов внутри. Главный результат курса
- Аналитическое продолжение — Перекрытие дисков Тейлора даёт функцию вне исходной области определения
- Complex Analysis в CS — Z-преобразование = ряд Лорана; ДПФ = ряд Тейлора на единичной окружности
Вопросы для размышления
- Функция $f(x) = 1/(1+x^2)$ гладкая на всей вещественной оси. Почему её ряд Тейлора в нуле расходится при $|x| > 1$? Где прячутся виноватые точки?
- Как ряд Лорана объясняет поведение $e^{1/z}$ вблизи $z=0$? Почему там бесконечно много значений - и при этом ни одного предела?
- Приближение Паде - рациональная функция $p(z)/q(z)$. Чем оно принципиально лучше ряда Тейлора для численных вычислений за пределами диска сходимости?
Связанные уроки
- ca-03 — Контурные интегралы - основа для теоремы о вычетах
- ca-05 — Теорема о вычетах строится поверх ряда Лорана
- ca-10 — Аналитическое продолжение через перекрытие дисков Тейлора
- nm-01 — Приближения Паде - рациональные улучшения ряда Тейлора
- calc-02-series-intro — Вещественные ряды - частный случай комплексных
- calc-16-taylor