🔴 Сложный ⏱️ 50 минут

Сравнение бесконечно малых

📋 Содержание урока

Сравнение бесконечно малых ⚖️

В прошлом уроке ты научился узнавать бесконечно малую в лицо: функция бесконечно мала при $x \to a$, если её предел в этой точке равен нулю. Но это грубое деление на «стремится к нулю» и «не стремится» скрывает огромную разницу внутри первой группы. Возьми три функции — $x$, $x^2$ и $\sin x$ — и посмотри, что с ними происходит при $x \to 0$. Все три обнуляются. Но $x^2$ добегает до нуля куда быстрее, чем $x$: при $x = 0{,}1$ первая равна $0{,}1$, а вторая — уже $0{,}01$, в десять раз меньше. А вот $\sin x$ и $x$ на этом же шаге почти неразличимы: $\sin(0{,}1) \approx 0{,09983}$. Три бесконечно малые, три разные скорости.

Именно эта разница в скорости и есть тема сегодняшнего урока. Мы введём строгий язык для сравнения бесконечно малых друг с другом: когда две из них можно считать «практически одинаковыми» (эквивалентными), когда одна пренебрежимо мала на фоне другой, а когда они и вовсе несравнимы. Дальше выяснится, что для эквивалентных бесконечно малых есть готовая таблица — набор стандартных замен, которые превращают устрашающий предел в арифметику за десять секунд. И сразу же — предупреждение о единственной, но очень коварной ловушке: этими заменами нельзя пользоваться где попало, и половина ошибок на эту тему происходит именно там, где студент об этом забывает.

А в конце урока обнаружится, что весь аппарат сравнения бесконечно малых — это не изолированный трюк матанализа. Символы $o$ и $O$, которые здесь появятся, — это те же самые символы, которыми в информатике описывают сложность алгоритмов: $O(n \log n)$ у быстрой сортировки, $O(n^2)$ у наивного перемножения матриц, $O(n^3)$ у решения линейной системы методом Гаусса. Один и тот же язык, один и тот же смысл — «не быстрее, чем», «строго медленнее, чем» — просто в одном случае переменная стремится к нулю, а в другом к бесконечности. Разобравшись здесь, ты автоматически разберёшься и там.

🎯 Ты узнаешь:

  • Что значит, что две бесконечно малые $\alpha$ и $\beta$ эквивалентны ($\alpha \sim \beta$), и почему это условие записывается как $\lim \frac{\alpha}{\beta} = 1$

  • Таблицу стандартных эквивалентностей при $x \to 0$ и элегантный факт, который объясняет половину этой таблицы одной строкой: почему $\sin x \sim x$, $\operatorname{tg} x \sim x$, $e^x - 1 \sim x$, $\ln(1+x) \sim x$ и $(1+x)^k - 1 \sim kx$ — это, по сути, одно и то же наблюдение

  • Теорему о замене эквивалентных бесконечно малых в пределах — и почему она работает для множителей и делителей, но ломается на слагаемых

  • Классическую ловушку $\sin x - x$ и общий принцип, который объясняет, откуда она берётся

  • Что такое порядок малости, как сравнивать бесконечно малые «на кого сколько делится», и что делать, когда сравнение вообще невозможно

  • Символику Ландау — $o(\cdot)$ и $O(\cdot)$ — как формальный язык для всего, что мы обсуждали неформально

  • Почему это тот же самый $O$-символ, что в анализе сложности алгоритмов, и как его прочитать на примерах $O(n \log n)$ против $O(n^2)$

История: откуда это взялось?

Сравнивать скорости стремления к нулю или к бесконечности математики начали задолго до того, как для этого придумали удобные обозначения. Уже у Ньютона и Лейбница в XVII веке при обосновании производной фактически используется идея, что $\sin x$ и $x$ «почти совпадают» при малых $x$ — иначе не работает ни одна оценка погрешности касательной. Но интуиция ещё долго оставалась интуицией: строгого языка для фраз вроде «пренебрежимо мало по сравнению с» не было.

Систематически наводить порядок в сравнении бесконечно малых и бесконечно больших начал немецкий математик Пауль дю Буа-Реймон. В 1870-х годах он опубликовал серию работ под общим названием «Infinitärcalcül» — «исчисление бесконечного», — где впервые ввёл понятие порядка роста функции и попытался классифицировать функции по скорости стремления к бесконечности. Именно оттуда идёт сама идея, что бесконечно малые и бесконечно большие можно упорядочивать, как числа, — только по признаку «кто быстрее».

Обозначение, которым мы пользуемся сегодня, появилось чуть позже и по конкретному поводу. В 1894 году немецкий математик Пауль Бахман в книге по аналитической теории чисел ввёл символ $O$ для оценки погрешности в асимптотических формулах о распределении простых чисел. Символ подхватил и по-настоящему прославил Эдмунд Ландау — с начала 1900-х годов он систематически использовал $O$ и $o$ в своих работах по теории чисел, в том числе в фундаментальном труде 1909 года о распределении простых чисел. Обозначения настолько прочно ассоциировались с его именем, что и сегодня $O$ и $o$ называют символами Ландау, хотя сам символ придумал Бахман, а Ландау — популяризировал и стандартизировал.

Следующий поворот случился спустя семьдесят лет и совсем в другой области. В 1976 году Дональд Кнут, один из основателей теоретической информатики и автор многотомника «Искусство программирования», опубликовал статью «Big Omicron and Big Omega and Big Theta» в журнале ACM SIGACT News. Он предложил формально перенести символ Ландау $O$ в анализ алгоритмов — для оценки времени работы программы при росте размера входных данных — и дополнил его симметричными обозначениями $\Omega$ (нижняя оценка) и $\Theta$ (точная оценка, когда сложность зажата и сверху, и снизу). С этого момента $O(n \log n)$, $O(n^2)$ и их родственники стали стандартным языком информатики, и сегодня их знает любой программист, даже если никогда не слышал имени Ландау. Математически это ровно тот же символ, что ты увидишь в этом уроке, — просто переменная $x$ устремляется не к нулю, а $n$ устремляется к бесконечности.

Эквивалентные бесконечно малые и таблица стандартных эквивалентностей

Интуиция: гонка к финишу

Представь, что несколько бегунов стартуют из разных точек и бегут к одному и тому же финишу — нулю. Все они бесконечно малые, все рано или поздно окажутся сколь угодно близко к финишу. Но интереснее не то, что они финишируют, а как они это делают. Если два бегуна всё время идут практически ноздря в ноздрю — расстояние между ними в каждый момент пренебрежимо мало по сравнению с расстоянием, которое им ещё осталось пробежать, — их называют эквивалентными. Формально это означает, что отношение их «оставшихся дистанций» стремится к единице.

Определение

Определение: Пусть $\alpha(x)$ и $\beta(x)$ — бесконечно малые при $x \to a$ (то есть $\lim_{x \to a} \alpha(x) = \lim_{x \to a} \beta(x) = 0$), причём $\beta(x) \ne 0$ в некоторой проколотой окрестности точки $a$. Функции $\alpha$ и $\beta$ называются эквивалентными при $x \to a$, если

$$\lim_{x \to a} \frac{\alpha(x)}{\beta(x)} = 1.$$

Обозначение: $\alpha(x) \sim \beta(x)$ при $x \to a$.

Отсюда и таблица, ради которой всё затевалось. При $x \to 0$ выполняются следующие эквивалентности:

Функция $\alpha(x)$ Эквивалентная бесконечно малая
$\sin x$ $x$
$\operatorname{tg} x$ $x$
$\arcsin x$ $x$
$\operatorname{arctg} x$ $x$
$1 - \cos x$ $x^2/2$
$e^x - 1$ $x$
$\ln(1+x)$ $x$
$a^x - 1$ $x \ln a$
$(1+x)^k - 1$ $kx$

Ключевое правило, которое делает эту таблицу рабочим инструментом, а не музейным экспонатом: она применяется не только к $x$, но и к любому выражению $u(x) \to 0$. Если $u(x) \to 0$ при $x \to a$, то $\sin(u(x)) \sim u(x)$, $\ln(1 + u(x)) \sim u(x)$ и так далее для всей таблицы — просто подставь $u(x)$ вместо $x$ в правую и левую часть.

Почему таблица работает: одна идея на шесть строк

Присмотрись внимательнее к строкам $\sin x \sim x$, $\operatorname{tg} x \sim x$, $e^x - 1 \sim x$, $\ln(1+x) \sim x$, $(1+x)^k - 1 \sim kx$. У всех этих функций общее свойство: в точке $x = 0$ они сами равны нулю. А значит, для каждой из них верно

$$\lim_{x \to 0} \frac{f(x)}{x} = \lim_{x \to 0} \frac{f(x) - f(0)}{x - 0} = f'(0)$$

— это же просто определение производной в точке! Если $f(0) = 0$ и $f'(0) = k \ne 0$, то по определению предела $f(x)/x \to k$, то есть $f(x) \sim kx$. Вся правая часть таблицы (кроме строки с $1 - \cos x$) — это одна и та же идея, применённая к пяти разным функциям: $\sin'(0) = \cos 0 = 1$, $\operatorname{tg}'(0) = \sec^2 0 = 1$, $(e^x)'|_{x=0} = e^0 = 1$, $\ln'(1+x)|_{x=0} = \frac{1}{1+0} = 1$, и $\left[(1+x)^k\right]'|_{x=0} = k(1+0)^{k-1} = k$. Не шесть отдельных фактов для запоминания, а один принцип и пять подстановок.

А вот $1 - \cos x$ выпадает из этой схемы не случайно: у неё $f(0) = 0$, но $f'(0) = -\sin 0 = 0$. Первая производная не даёт информации — нужно идти на шаг глубже, ко второй производной. Это не баг, а первый намёк на то, что порядок бесконечно малой может отличаться от первого, и полноценно эта идея развернётся в разделе про порядки малости.

Разбор примеров

Пример 1 (лёгкий). Докажи, что $\sin(5x) \sim 5x$ при $x \to 0$.

Введём замену $t = 5x$. Когда $x \to 0$, тоже $t \to 0$. Тогда

$$\lim_{x \to 0} \frac{\sin(5x)}{5x} = \lim_{t \to 0} \frac{\sin t}{t} = 1.$$

Значит, $\sin(5x) \sim 5x$. Работает общее правило: таблица применяется к любому аргументу, стремящемуся к нулю, не только к «голому» $x$.

Пример 2 (средний). Докажи, что $1 - \cos x \sim x^2/2$ при $x \to 0$, не используя ряд Тейлора.

Здесь пригодится тригонометрическое тождество $1 - \cos x = 2\sin^2(x/2)$. Тогда

$$\frac{1 - \cos x}{x^2/2} = \frac{2\sin^2(x/2)}{x^2/2} = 4 \cdot \frac{\sin^2(x/2)}{x^2} = \left(\frac{\sin(x/2)}{x/2}\right)^2.$$

При $x \to 0$ также $x/2 \to 0$, и по таблице $\sin(x/2)/(x/2) \to 1$. Значит, весь предел равен $1^2 = 1$, то есть $1 - \cos x \sim x^2/2$. Красота приёма в том, что мы свели новую эквивалентность к уже известной через удвоение угла — классический ход для тригонометрии в пределах.

Пример 3 (сложный). Выведи общий принцип: если $f(0) = 0$ и $f'(0) = k \ne 0$, то $f(x) \sim kx$ при $x \to 0$, и получи из него сразу три строки таблицы.

По определению производной в точке $0$:

$$f'(0) = \lim_{x \to 0} \frac{f(x) - f(0)}{x - 0} = \lim_{x \to 0} \frac{f(x)}{x}.$$

Если этот предел равен $k \ne 0$, то $\lim_{x \to 0} \dfrac{f(x)}{kx} = \dfrac{1}{k}\lim_{x \to 0}\dfrac{f(x)}{x} = \dfrac{k}{k} = 1$, а это в точности означает $f(x) \sim kx$. Применим к $f(x) = e^x - 1$: $f(0) = 0$, $f'(x) = e^x$, $f'(0) = 1$, значит $e^x - 1 \sim x$. К $f(x) = \ln(1+x)$: $f(0) = 0$, $f'(x) = \frac{1}{1+x}$, $f'(0) = 1$, значит $\ln(1+x) \sim x$. К $f(x) = (1+x)^k - 1$: $f(0) = 0$, $f'(x) = k(1+x)^{k-1}$, $f'(0) = k$, значит $(1+x)^k - 1 \sim kx$. Три строки таблицы — из одной теоремы о производной, без единого ряда Тейлора.

Почему это важно

Таблица эквивалентностей — это не список для зубрёжки, а сжатая шпаргалка производных элементарных функций в нуле. Понимание того, откуда она берётся, избавляет от необходимости помнить девять строк — достаточно помнить одну идею и таблицу производных, которую ты и так знаешь. А сама эквивалентность — это первый, самый грубый уровень приближения функции вблизи точки: следующий уровень, ряды Тейлора, ты пройдёшь через несколько уроков, и там окажется, что $\alpha \sim \beta$ — это ровно совпадение первых ненулевых членов разложения.

Теорема о замене эквивалентных бесконечно малых — и её главное ограничение

Интуиция: эстафета против перетягивания каната

Представь эстафету: если заменить одного бегуна на другого, бегущего с точно такой же скоростью, общее время эстафеты не изменится — не важно, кто именно бежал этот этап, важна скорость. Произведения и частные бесконечно малых устроены как эстафета: замена одного «этапа» на эквивалентный не меняет исход.

А теперь представь перетягивание каната, где с одной стороны — почти равные по силе команды. Исход决定яется не общей силой каждой команды (она примерно одинакова с обеих сторон), а разницей сил — той крошечной добавкой, на которую одна команда сильнее другой. Если ты заменишь каждую команду на «эквивалентную по силе» абстракцию и просто вычтешь одну силу из другой, ты получишь ноль — и потеряешь именно ту информацию, ради которой всё затевалось. Сложение и вычитание бесконечно малых устроены как перетягивание каната: наивная замена может уничтожить сам ответ.

Теорема

Теорема (о замене эквивалентных бесконечно малых). Пусть $\alpha(x) \sim \alpha_1(x)$ и $\beta(x) \sim \beta_1(x)$ при $x \to a$. Если существует $\displaystyle\lim_{x \to a} \frac{\alpha_1(x)}{\beta_1(x)} = L$, то существует и равен тому же значению предел

$$\lim_{x \to a} \frac{\alpha(x)}{\beta(x)} = L.$$

Более того, в любом произведении или частном, где $\alpha$ и $\beta$ участвуют как множители или делители, каждую из них можно заменить на эквивалентную бесконечно малую, не меняя значения предела.

Доказательство короткое и объясняет саму суть ограничения. Распишем частное как произведение трёх дробей:

$$\frac{\alpha(x)}{\beta(x)} = \frac{\alpha(x)}{\alpha_1(x)} \cdot \frac{\alpha_1(x)}{\beta_1(x)} \cdot \frac{\beta_1(x)}{\beta(x)}.$$

По определению эквивалентности первый множитель стремится к $1$, третий — тоже к $1$ (так как $\beta_1/\beta \to 1$, если $\beta/\beta_1 \to 1$), а средний по условию стремится к $L$. Предел произведения трёх множителей равен произведению их пределов: $1 \cdot L \cdot 1 = L$. Заметь: доказательство работает только потому, что $\alpha$ и $\beta$ стоят в числителе и знаменателе одной дроби — именно эта структура позволяет разложить всё на множители, каждый из которых честно стремится к единице или к нужному пределу. Для суммы $\alpha(x) + \gamma(x)$ такого разложения на множители просто не существует.

Разбор примеров

Пример 1 (лёгкий). Вычисли $\displaystyle\lim_{x \to 0} \frac{\sin(3x)}{\operatorname{tg}(2x)}$.

По таблице $\sin(3x) \sim 3x$ и $\operatorname{tg}(2x) \sim 2x$ при $x \to 0$. Оба множителя — числитель и знаменатель одной дроби, замена законна:

$$\lim_{x \to 0} \frac{\sin(3x)}{\operatorname{tg}(2x)} = \lim_{x \to 0} \frac{3x}{2x} = \frac{3}{2}.$$

Пример 2 (средний). Вычисли $\displaystyle\lim_{x \to 0} \frac{(1 - \cos x)\operatorname{tg}(3x)}{x^3}$.

Здесь три бесконечно малых участвуют исключительно как множители в числителе и делитель в знаменателе — теорема применяется к каждой независимо. По таблице $1 - \cos x \sim x^2/2$ и $\operatorname{tg}(3x) \sim 3x$:

$$\lim_{x \to 0} \frac{(1 - \cos x)\operatorname{tg}(3x)}{x^3} = \lim_{x \to 0} \frac{\frac{x^2}{2} \cdot 3x}{x^3} = \lim_{x \to 0} \frac{3x^3/2}{x^3} = \frac{3}{2}.$$

Пример 3 (сложный, ловушка). Вычисли $\displaystyle\lim_{x \to 0} \frac{\sin x - x}{x^3}$.

Соблазн велик: $\sin x \sim x$, значит «$\sin x - x \sim x - x = 0$», и предел вроде бы равен $0 / x^3 = 0$. Это неверно. Мы заменили $\sin x$ на эквивалентную величину внутри разности — а не внутри множителя одной дроби, — и потеряли ровно ту информацию, которая определяет ответ. Правильный путь: воспользоваться более точным представлением $\sin x = x - \dfrac{x^3}{6} + o(x^3)$ (это ты научишься получать формально из рядов Тейлора через несколько уроков, а сейчас прими как уточнённую версию таблицы). Тогда

$$\sin x - x = -\frac{x^3}{6} + o(x^3) \sim -\frac{x^3}{6},$$

и

$$\lim_{x \to 0} \frac{\sin x - x}{x^3} = \lim_{x \to 0} \frac{-x^3/6}{x^3} = -\frac{1}{6}.$$

Правильный ответ $-1/6$, а не $0$ — разница принципиальная, и именно она отделяет тех, кто понял теорему, от тех, кто её вызубрил.

Почему это важно

Эта оговорка — не бюрократическая мелочь, а самое частое место, где рушатся вычисления пределов на экзаменах и контрольных. Но у неё есть и более серьёзное значение: разности близких величин, теряющие точность при грубом приближении, — это ровно то явление, которое в численных методах называют катастрофическим сокращением (catastrophic cancellation). Когда алгоритм вычисляет разность двух почти равных чисел с плавающей точкой, он теряет значащие цифры именно там, где старшие члены сокращаются, а ответ определяется младшими. Умение аккуратно выделять следующий, более точный член разложения — тот же навык, что здесь, в пределах, что и там, в численной устойчивости алгоритмов.

Порядки малости: кто быстрее, кто медленнее

Интуиция: не только «одинаково», но и «во сколько раз быстрее»

Эквивалентность — это отношение «бегут ноздря в ноздрю». Но большинство пар бесконечно малых так не бегут: одна обгоняет другую, и хочется знать, насколько. Порядок малости — это как раз шкала для измерения этого разрыва: с какой степенью $x$ сравнима данная бесконечно малая.

Определение

Определение. Пусть $\alpha(x)$ и $\beta(x)$ — бесконечно малые при $x \to a$. Если $\displaystyle\lim_{x \to a} \frac{\alpha(x)}{\beta(x)} = c$, где $c \ne 0$ и $c$ конечно, то $\alpha$ и $\beta$ называются бесконечно малыми одного порядка (эквивалентность — частный случай при $c = 1$). Если $\displaystyle\lim_{x \to a} \frac{\alpha(x)}{\beta(x)} = 0$, то $\alpha$ называется бесконечно малой более высокого порядка, чем $\beta$ (записывается $\alpha = o(\beta)$): $\alpha$ стремится к нулю строго быстрее. Если этот предел равен $\infty$, то $\alpha$ — бесконечно малая более низкого порядка, чем $\beta$ (эквивалентно: $\beta = o(\alpha)$). Если бесконечно малая $\alpha(x)$ одного порядка с $x^k$ при некотором $k > 0$ (то есть $\alpha(x) \sim Cx^k$, $C \ne 0$), число $k$ называют порядком малости $\alpha$ относительно $x$. Если предел $\alpha/\beta$ не существует вовсе (например, из-за колебаний), $\alpha$ и $\beta$ считаются несравнимыми.

Разбор примеров

Пример 1 (лёгкий). Сравни $x^3$ и $x^2$ при $x \to 0$.

$$\lim_{x \to 0} \frac{x^3}{x^2} = \lim_{x \to 0} x = 0.$$

Значит, $x^3 = o(x^2)$: куб стремится к нулю строго быстрее квадрата. Порядок малости $x^3$ равен $3$, порядок малости $x^2$ равен $2$ — чем больше порядок, тем быстрее бесконечно малая добегает до нуля.

Пример 2 (средний). Найди порядок малости $\operatorname{tg} x - \sin x$ относительно $x$ при $x \to 0$.

Разложим на множители через определение тангенса:

$$\operatorname{tg} x - \sin x = \frac{\sin x}{\cos x} - \sin x = \sin x \cdot \frac{1 - \cos x}{\cos x}.$$

Теперь у нас произведение и частное — теорему предыдущего раздела применять можно. При $x \to 0$: $\sin x \sim x$, $1 - \cos x \sim x^2/2$, $\cos x \to 1$. Значит,

$$\operatorname{tg} x - \sin x \sim x \cdot \frac{x^2/2}{1} = \frac{x^3}{2}.$$

Порядок малости равен $3$, коэффициент — $1/2$. Обрати внимание: здесь мы не вычитали одну эквивалентность из другой (это была бы та же ошибка, что в предыдущем разделе), а сначала честно разложили выражение на множители, а уже внутри произведения подставили эквивалентности.

Пример 3 (сложный). Найди порядок малости $e^x - 1 - x$ относительно $x$ при $x \to 0$.

Прямая подстановка $e^x - 1 \sim x$ даёт $e^x - 1 - x \sim x - x = 0$ — снова ловушка из предыдущего раздела, разность эквивалентных величин съедает главный член. Нужно точное представление $e^x = 1 + x + \dfrac{x^2}{2} + o(x^2)$. Тогда

$$e^x - 1 - x = \frac{x^2}{2} + o(x^2) \sim \frac{x^2}{2}.$$

Порядок малости равен $2$, а не $1$: вычитание линейного слагаемого «съело» весь первый порядок и обнажило следующий.

Почему это важно

Порядок малости — это язык, на котором в вычислительной математике формулируют качество приближённых методов. Метод Эйлера для дифференциальных уравнений имеет глобальную погрешность порядка $h$ (то есть $O(h)$ на шаге сетки $h$), а метод Рунге — Кутты четвёртого порядка — погрешность $O(h^4)$: при уменьшении шага вдвое ошибка первого метода падает вдвое, а второго — в шестнадцать раз. Разница между «работает» и «работает практически без ошибок» в численных методах — это именно разница порядков малости, а не наличие или отсутствие сходимости как таковой.

O-большое, o-малое и мост к анализу алгоритмов

Интуиция: ограничение скорости против точной скорости

$o(\beta)$ — это утверждение «$\alpha$ строго медленнее $\beta$», предел отношения обязан стремиться к нулю. $O(\beta)$ — утверждение слабее и грубее: «$\alpha$ растёт не быстрее $\beta$, с точностью до постоянного множителя», как ограничение скорости на дороге — машина может ехать медленнее знака, может ехать ровно по нему, важно лишь, что она никогда не превысит его больше чем в константу раз. $O$ не требует, чтобы предел отношения вообще существовал — достаточно, чтобы отношение было ограничено.

Определение

Определение (символы Ландау). Пусть $\alpha(x)$ и $\beta(x)$ определены в проколотой окрестности точки $a$ (или при $x \to \infty$), причём $\beta(x) \ne 0$ там. $\alpha(x) = o(\beta(x))$ при $x \to a$, если для любого $\varepsilon > 0$ найдётся окрестность точки $a$, в которой $|\alpha(x)| \le \varepsilon |\beta(x)|$. Если $\beta \ne 0$ рядом с $a$, это равносильно $\lim_{x \to a} \alpha(x)/\beta(x) = 0$. $\alpha(x) = O(\beta(x))$ при $x \to a$, если найдутся число $M > 0$ и окрестность точки $a$, в которых $|\alpha(x)| \le M|\beta(x)|$. Существование предела отношения при этом не требуется — достаточно его ограниченности.

Формально $a$ здесь может быть и числом, и $+\infty$ — определение не меняется, меняется лишь смысл слова «окрестность» (для $+\infty$ это «для всех $x$ больше некоторого $N$»). Именно это делает символику универсальной: она обслуживает и $x \to 0$ в анализе, и $n \to \infty$ в теории алгоритмов одной и той же формулой.

Разбор примеров

Пример 1 (лёгкий). Покажи, что $x^2 = o(x)$ при $x \to 0$.

$$\lim_{x \to 0} \frac{x^2}{x} = \lim_{x \to 0} x = 0.$$

По определению это в точности $x^2 = o(x)$. Заодно верно и $x^2 = O(x)$ — из $o$ всегда следует $O$ (отношение, стремящееся к нулю, тем более ограничено), но не наоборот.

Пример 2 (средний). Покажи, что $x \sin(1/x) = O(x)$ при $x \to 0$, но $x \sin(1/x) \ne o(x)$.

Поскольку $|\sin(1/x)| \le 1$ при любом $x \ne 0$, имеем $|x \sin(1/x)| \le 1 \cdot |x|$ — это в точности определение $O(x)$ с константой $M = 1$. Но проверим $o$: отношение $\dfrac{x\sin(1/x)}{x} = \sin(1/x)$ при $x \to 0$ не стремится ни к какому пределу — оно бесконечно много раз колеблется между $-1$ и $1$, потому что $1/x \to \infty$ и синус от него не успокаивается. Значит, предел не равен нулю (он вообще не существует), и $x \sin(1/x) \ne o(x)$. Это пример бесконечно малой, которая ограничена бесконечно малой того же порядка, но не эквивалентна и даже не сравнима с ней напрямую — полезный контрпример, разрушающий иллюзию, что $O$ и $o$ — это просто «более мягкая и более строгая версия одного и того же».

Пример 3 (сложный, мост к алгоритмам). Сравни асимптотику $n \log n$ и $n^2$ при $n \to \infty$. Что это означает для сортировки массива?

$$\lim_{n \to \infty} \frac{n \log n}{n^2} = \lim_{n \to \infty} \frac{\log n}{n} = 0$$

(это стандартный предел — логарифм растёт медленнее любой положительной степени). Значит, $n \log n = o(n^2)$: время работы быстрой сортировки или сортировки слиянием, $O(n \log n)$, растёт строго медленнее, чем время наивной сортировки пузырьком, $O(n^2)$. При $n = 10^6$ отношение $\log_2 n / n \approx 20 / 10^6$ — практическая разница в тысячи раз, и это ровно то же самое $\lim \alpha/\beta = 0$, что мы считали для $x \to 0$ всю первую половину урока, только точка предела теперь $+\infty$.

Почему это важно

Вот и мост, обещанный в начале урока. Когда в статье по глубокому обучению пишут, что классический механизм внимания в трансформере имеет сложность $O(n^2)$ по длине последовательности $n$, а его эффективные варианты — $O(n \log n)$ или $O(n)$, — это буквально то определение $O$-большого, которое ты только что прочитал в блокноте определения, просто с $x \to 0$ замененным на $n \to \infty$. Когда говорят, что ошибка стохастического градиентного спуска убывает как $O(1/\sqrt{n})$ по числу итераций, а для сильно выпуклых функций — как $O(\rho^n)$ с $\rho < 1$ (геометрически, то есть намного быстрее), это тот же язык порядков малости, применённый к последовательностям вместо функций. Символ, придуманный Бахманом для теории чисел в 1894 году и подхваченный Ландау, полтора века спустя стал общим словарём для описания скорости работы всего программного обеспечения на свете.

Практика: 30 заданий

Базовые задания (1–10)

Задание 1: Докажи, что $\sin(5x) \sim 5x$ при $x \to 0$, и вычисли $\displaystyle\lim_{x \to 0} \frac{\sin(5x)}{x}$.


Задание 2: Сравни $x^3$ и $x^2$ при $x \to 0$: какая из них имеет более высокий порядок малости?


Задание 3: Вычисли $\displaystyle\lim_{x \to 0} \frac{\sin(3x)}{\operatorname{tg}(2x)}$.


Задание 4: Докажи, что $1 - \cos x \sim x^2/2$ при $x \to 0$, используя тождество $1 - \cos x = 2\sin^2(x/2)$.


Задание 5: Вычисли $\displaystyle\lim_{x \to 0} \frac{e^{2x} - 1}{\sin(3x)}$.


Задание 6: Докажи, что $\ln(1+x^2) \sim x^2$ при $x \to 0$, и вычисли $\displaystyle\lim_{x \to 0} \frac{\ln(1+x^2)}{x^2}$.


Задание 7: Вычисли $\displaystyle\lim_{x \to 0} \frac{1 - \cos(4x)}{x^2}$.


Задание 8: Найди порядок малости $\operatorname{tg} x - \sin x$ относительно $x$ при $x \to 0$.


Задание 9: Вычисли $\displaystyle\lim_{x \to 0} \frac{\sqrt{1+x} - 1}{x}$.


Задание 10 (применение — CS): Время работы алгоритма $T(n) = 3n^2 + 5n\log n + 100$. Покажи, что $T(n) = O(n^2)$ при $n \to \infty$, указав явную константу $M$.

Средние задания (11–20)

Задание 11: Вычисли $\displaystyle\lim_{x \to 0} \frac{e^{x^2} - 1}{1 - \cos x}$.


Задание 12: Вычисли $\displaystyle\lim_{x \to 0} \frac{\ln(\cos x)}{x^2}$.


Задание 13: Вычисли $\displaystyle\lim_{x \to 0} \frac{\operatorname{arctg} x - \arcsin x}{x^3}$.


Задание 14: Найди эквивалентную бесконечно малую для $\sqrt{1+x^3} - 1$ при $x \to 0$ и укажи её порядок относительно $x$.


Задание 15: Вычисли $\displaystyle\lim_{x \to 0} \frac{(e^{3x} - 1)\operatorname{tg}(2x)}{x\sin(4x)}$.


Задание 16 (применение — численные методы): Погрешность метода конечных разностей вперёд убывает как $C_1 h$ (то есть $O(h)$), а погрешность центральной разности — как $C_2 h^2$ (то есть $O(h^2)$), где $h \to 0$ — шаг сетки, $C_1 \ne 0$. Покажи, что погрешность центральной разности есть $o$ от погрешности разности вперёд.


Задание 17: Вычисли $\displaystyle\lim_{x \to 0} \frac{2^x - 1}{3^x - 1}$.


Задание 18: Найди наибольшее $k$, при котором $(1+x)^{1/3} - 1 - x/3 = o(x^k)$ при $x \to 0$.


Задание 19: Определи, верно ли, что $x\sin(1/x) = o(x)$ при $x \to 0$. Верно ли хотя бы $x\sin(1/x) = O(x)$?


Задание 20 (применение — алгоритмы): Наивное умножение матриц $n \times n$ работает за $O(n^3)$, алгоритм Штрассена — за $O(n^{\log_2 7}) \approx O(n^{2{,}807}\!)$. Покажи, что $n^{2{,}807} = o(n^3)$ при $n \to \infty$.

Продвинутые задания (21–30)

Задание 21: Вычисли $\displaystyle\lim_{x \to 0} \frac{x - \sin x}{x^3}$.


Задание 22: Вычисли $\displaystyle\lim_{x \to 0} \frac{\operatorname{tg} x - x}{x^3}$.


Задание 23: Вычисли $\displaystyle\lim_{x \to 0} \frac{x\cos x - \sin x}{x^3}$.


Задание 24: Вычисли $\displaystyle\lim_{n \to \infty} n\left(e^{1/n} - 1\right)$.


Задание 25: Найди эквивалентную бесконечно малую для $F(x) = \displaystyle\int_0^x \sin(t^3)\,dt$ при $x \to 0$.


Задание 26 (теоретическое): Докажи, что если $\alpha(x) \sim \beta(x)$ при $x \to a$, то $\alpha(x) - \beta(x) = o(\beta(x))$. Объясни, как этот факт объясняет ловушку из задания 21.


Задание 27: Вычисли $\displaystyle\lim_{x \to 0} \frac{(1+x)^{1/2}(1+2x)^{1/3} - 1}{x}$.


Задание 28 (применение — ML, затухающие градиенты): Сигмоида $\sigma(z) = \dfrac{1}{1+e^{-z}}$. Покажи, что $1 - \sigma(z) \sim e^{-z}$ при $z \to +\infty$, и объясни связь с насыщением сигмоиды.


Задание 29 (применение — оптимизация): Покажи, что для любого $\rho \in (0,1)$ верно $\rho^n = o(1/n)$ при $n \to \infty$, то есть геометрическая скорость сходимости асимптотически быстрее любой полиномиальной вида $1/n$.


Задание 30: Вычисли $\displaystyle\lim_{x \to 0} \frac{e^x - 1 - x}{1 - \cos x}$.

Частые ошибки

Ошибка 1. Замена эквивалентными внутри суммы или разности.

Как выглядит: «$\sin x \sim x$, значит $\sin x - x \sim x - x = 0$» или «$e^x - 1 \sim x$ и $\ln(1+x) \sim x$, значит $(e^x-1) - \ln(1+x) \sim x - x = 0$».

Почему возникает: теорема о замене эквивалентных формулируется коротко, и хочется применить её везде, где встретилась табличная бесконечно малая, не глядя на структуру выражения.

Как правильно: заменять можно только множители и делители в произведении или частном. Если бесконечно малая входит в сумму или разность слагаемым, нужен более точный (следующий по порядку) член асимптотики — как в заданиях 13, 21, 22, 23, 30 этого урока.

Ошибка 2. Путают «$\alpha \to 0$ и $\beta \to 0$» с «$\alpha \sim \beta$».

Как выглядит: «$x^2 \to 0$ и $x \to 0$, значит они эквивалентны».

Почему возникает: кажется, что раз обе величины бесконечно малые, то они «одинаковы» в этом качестве.

Как правильно: эквивалентность — это конкретное условие $\lim \alpha/\beta = 1$, и оно требует отдельной проверки. $x^2$ и $x$ не эквивалентны: $\lim x^2/x = \lim x = 0 \ne 1$. Это пример пары бесконечно малых разного порядка, а не эквивалентных.

Ошибка 3. Путают $o(f)$ и $O(f)$.

Как выглядит: используют символы взаимозаменяемо, пишут «$x^2 = O(x)$, значит и $x^2 = o(x)$ верно, и наоборот».

Почему возникает: оба символа выглядят похоже и оба означают «не больше, чем $f$» в широком смысле.

Как правильно: $o(f)$ — строгое условие: отношение стремится к нулю. $O(f)$ — условие мягче: отношение просто ограничено, предел может не существовать вовсе (задание 19 с $x\sin(1/x)$). Из $\alpha = o(f)$ всегда следует $\alpha = O(f)$, но не наоборот.

Ошибка 4. Забывают проверить, что подстановка в таблицу стремится к нулю.

Как выглядит: пишут «$\sin(x+1) \sim x+1$ при $x \to 0$», хотя $x + 1 \to 1 \ne 0$.

Почему возникает: таблица применяется механически, без проверки условия применимости.

Как правильно: строка таблицы вида $\sin u \sim u$ верна только при $u \to 0$. Если аргумент не стремится к нулю, ни о какой бесконечно малой речи вообще нет, и таблица неприменима — нужно вычислять предел напрямую или через непрерывность.

Ошибка 5. Складывают порядки малости, а не сравнивают их.

Как выглядит: «$x^2 = o(x)$ и $x^3 = o(x^2)$, значит $x^2 + x^3$ имеет порядок $2+3=5$».

Почему возникает: смешение операций «сложение бесконечно малых» и «умножение бесконечно малых» (для произведения порядки действительно складываются: $x^2 \cdot x^3 = x^5$).

Как правильно: при сложении бесконечно малых разных порядков сумма имеет порядок младшего (наименьшего) из слагаемых — он доминирует, потому что убывает медленнее. $x^2 + x^3 \sim x^2$ при $x \to 0$, потому что $x^3 = o(x^2)$, и $\lim (x^2+x^3)/x^2 = \lim(1+x) = 1$.

Ошибка 6. Считают, что несравнимых бесконечно малых не бывает.

Как выглядит: пытаются во что бы то ни стало определить, кто из $x$ и $x\sin(1/x)$ «быстрее», хотя предел их отношения не существует.

Почему возникает: в учебных примерах почти всегда предел отношения существует, и появляется иллюзия, что так бывает всегда.

Как правильно: если предел $\lim \alpha/\beta$ не существует (например, из-за колебаний), бесконечно малые считаются несравнимыми в смысле порядка, хотя оценка через $O$ иногда всё же возможна (см. задание 19: $x\sin(1/x) = O(x)$, но не сравнима с $x$ по порядку в строгом смысле).

Главное запомнить

  • $\alpha(x) \sim \beta(x)$ при $x \to a$ означает $\lim_{x\to a} \alpha(x)/\beta(x) = 1$ — бесконечно малые стремятся к нулю «с одинаковой скоростью».

  • Таблица при $x \to 0$: $\sin x \sim x$, $\operatorname{tg} x \sim x$, $\arcsin x \sim x$, $\operatorname{arctg} x \sim x$, $1-\cos x \sim x^2/2$, $e^x - 1 \sim x$, $\ln(1+x) \sim x$, $a^x - 1 \sim x\ln a$, $(1+x)^k - 1 \sim kx$; применяется к любому $u(x) \to 0$, не только к $x$.

  • Пять из девяти строк таблицы — следствие одного факта: если $f(0)=0$ и $f'(0) = k \ne 0$, то $f(x) \sim kx$; это переписанное определение производной в точке.

  • Теорема о замене эквивалентных позволяет подставлять эквивалентные бесконечно малые в пределах произведений и частных, где $\alpha$ и $\beta$ — множители или делители.

  • Критическое ограничение: замена эквивалентными запрещена внутри суммы или разности — там нужен следующий, более точный член асимптотики (классическая ловушка $\sin x - x$).

  • Общий факт, объясняющий ловушку: $\alpha \sim \beta \Rightarrow \alpha - \beta = o(\beta)$ — «отброшенная» при замене часть пренебрежима лишь на фоне $\beta$, но может оказаться сопоставимой с тем, что реально ищут.

  • Порядок малости: $\alpha = o(\beta)$ — $\alpha$ быстрее; $\alpha$ и $\beta$ одного порядка, если $\lim \alpha/\beta$ конечен и не равен нулю; при сложении бесконечно малых разных порядков сумма эквивалентна слагаемому младшего порядка.

  • $\alpha = O(\beta)$ означает, что $|\alpha/\beta|$ ограничено (предел может не существовать); из $o$ всегда следует $O$, но не наоборот — пример $x\sin(1/x) = O(x)$, но не $o(x)$.

  • Символика Ландау универсальна по точке предела: те же определения работают при $x \to a$, $x \to \infty$, $n \to \infty$ — именно поэтому она без изменений перекочевала из анализа в теорию алгоритмов.

  • В анализе алгоритмов $O(n\log n)$, $O(n^2)$, $O(n^3)$ — тот же самый символ Ландау, только переменная стремится к бесконечности, а не к нулю; сравнение алгоритмов по скорости роста — прямое применение сегодняшней темы.

Связь с другими темами курса

Что нужно было знать до этого урока

Всё содержание урока опирается на технику вычисления пределов из урока 181: определение бесконечно малой как функции с нулевым пределом, арифметику пределов (предел произведения равен произведению пределов — именно на этом держится доказательство теоремы о замене) и «замечательные пределы» вроде $\lim_{x\to0} \sin x / x = 1$, которые здесь превратились в первую строку таблицы эквивалентностей. Из курса производных пригодилось само определение производной в точке — оно объяснило происхождение сразу пяти строк таблицы. Понимание непрерывности элементарных функций тоже неявно использовалось всюду, где мы писали $\cos x \to 1$ или $1 + e^{-z} \to 1$.

Что изучить дальше

Урок 183 «Непрерывность: строгое определение» формализует то интуитивное понимание непрерывности, которым мы пользовались весь сегодняшний урок (например, когда писали $\cos x \to \cos 0 = 1$), через язык $\varepsilon$–$\delta$ и переопределяет его через пределы. Дальше по курсу — ряды Тейлора, где идея «эквивалентность — это первый ненулевой член асимптотики» получит полное развитие: вместо одной эквивалентности $\sin x \sim x$ появится целое разложение $\sin x = x - x^3/6 + x^5/120 - \dots$, и все «уточнённые представления», которыми мы пользовались в продвинутых заданиях этого урока (например, $\arcsin x = x + x^3/6 + o(x^3)$), станут не отдельными фактами, а частными случаями одной формулы. Символика $o$ и $O$, освоенная здесь, — стандартный язык записи остаточного члена ряда Тейлора и один из ключевых инструментов численного анализа при оценке погрешностей приближённых методов.

Где это нужно в жизни

💻 Программирование и алгоритмы. Символы $O$, $o$, $\Omega$, $\Theta$ — стандартный словарь анализа сложности: $O(\log n)$ у бинарного поиска, $O(n \log n)$ у эффективных сортировок и быстрого преобразования Фурье, $O(n^2)$ у наивных алгоритмов на графах, $O(2^n)$ у полного перебора. Сравнение асимптотик — это ровно та операция $\lim \alpha/\beta$, которую мы отрабатывали весь урок, просто $x \to 0$ заменено на $n \to \infty$.

🤖 ML/AI. Сложность механизма внимания в трансформерах $O(n^2)$ против эффективных вариантов $O(n \log n)$; скорость сходимости оптимизаторов — $O(1/\sqrt{n})$ для субградиентных методов против геометрической $O(\rho^n)$ для сильно выпуклых задач (задание 29); экспоненциальное насыщение сигмоиды и tanh, объясняющее исчезающие градиенты (задание 28); линеаризация функций активации вблизи рабочей точки, где производная используется как коэффициент эквивалентной линейной аппроксимации.

📊 Data Science и численные методы. Порядок точности численного интегрирования и дифференцирования (метод прямоугольников $O(h)$, метод трапеций $O(h^2)$, метод Симпсона $O(h^4)$); погрешность round-off и катастрофическое сокращение при вычитании близких чисел с плавающей точкой — вычислительный аналог ловушки «замена эквивалентными в разности»; асимптотика статистических оценок при росте объёма выборки.

🔬 Наука и инженерия. Малоугловое приближение $\sin\theta \approx \theta$ в механике маятника и оптике — прямое применение эквивалентности $\sin x \sim x$; линеаризация нелинейных уравнений вблизи точки равновесия в теории управления, где используется тот же принцип «$f(x) \sim f'(0)x$», который мы вывели в первом разделе урока.

Интересные факты

  • Символ $O$ придумал не Ландау, а Пауль Бахман в 1894 году в книге по теории чисел — Ландау лишь популяризировал обозначение настолько, что оно навсегда получило его имя. Это редкий случай, когда исторически устоявшееся название инструмента указывает не на его изобретателя, а на человека, который сделал его знаменитым.

  • «$o$-малое» и «$O$-большое» — не единственные символы Ландау. Дональд Кнут в 1976 году добавил к ним $\Omega$ (нижняя асимптотическая оценка, «не медленнее чем») и $\Theta$ (точная оценка и сверху, и снизу одновременно) — вместе они образуют полный набор инструментов, которым сегодня пользуется любой курс алгоритмов.

  • Малоугловое приближение $\sin\theta \approx \theta$ — не просто учебный пример, а рабочий инструмент физики: без него не решается уравнение математического маятника в элементарных функциях (точное уравнение $\theta'' = -\frac{g}{l}\sin\theta$ нелинейно, а приближённое $\theta'' = -\frac{g}{l}\theta$ — обычное гармоническое колебание). Всё, чему учат про период маятника $T = 2\pi\sqrt{l/g}$ в школе, — это следствие эквивалентности $\sin\theta \sim \theta$ при малых $\theta$.

  • Предел $n\log n / n^2 \to 0$ при $n \to \infty$, который отделяет быструю сортировку от пузырьковой, — частный случай общего факта: логарифм растёт медленнее любой положительной степени переменной, сколь угодно малой. Формально $\log n = o(n^\varepsilon)$ при любом $\varepsilon > 0$. Именно поэтому в анализе алгоритмов логарифмический множитель «почти бесплатен» по сравнению с полиномиальным.

Лайфхаки и полезные трюки

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

  2. Выводи таблицу, а не заучивай. Если забыл, чему эквивалентно $(1+x)^k - 1$, вспомни, что это $f(x)$ с $f(0)=0$, и посчитай $f'(0)$ — производную ты точно помнишь. Пять строк таблицы восстанавливаются одним движением.

  3. Раскладывай разность на множители, прежде чем применять эквивалентности. Выражение вроде $\operatorname{tg} x - \sin x$ не поддаётся прямой замене — но стоит вынести общий множитель ($\sin x \cdot \frac{1-\cos x}{\cos x}$), и оно превращается в честное произведение, где замена снова законна.

  4. При разности эквивалентных бесконечно малых сразу ищи следующий член. Если наивная подстановка дала $0/0$ или $0$ там, где по смыслу задачи ответ ненулевой, — это сигнал, что нужен уточнённый ряд ($\sin x = x - x^3/6 + \dots$, $e^x = 1+x+x^2/2+\dots$), а не более простая эквивалентность.

  5. При сложении бесконечно малых разных порядков оставляй только младший по порядку. $x^2 + x^5 \sim x^2$, $x^3 - 7x^7 \sim x^3$ — старшие по порядку слагаемые пренебрежимы на фоне младших и их можно сразу отбрасывать без потери точности эквивалентности (но не при вычитании близких по порядку величин — тогда именно старший порядок и определяет ответ, как в разделе про ловушку).

  6. Ищи связь с производной как быструю проверку. Если предел выглядит как $\lim_{x\to a}\frac{f(x)-f(a)}{x-a}$, узнай в нём определение $f'(a)$ и не считай эквивалентности вообще — это может оказаться быстрее.

  7. В задачах с $n \to \infty$ делай замену $x = 1/n$. Она превращает незнакомый предел последовательности в знакомый предел функции при $x \to 0$, к которому применима вся таблица (см. задание 24) — удобный переходный мостик между двумя формами одного и того же аппарата.

  8. В коде проверяй асимптотику численно, а не только аналитически. Если сомневаешься, действительно ли твой алгоритм $O(n\log n)$, замерь время на $n$, $2n$, $4n$ и посмотри на отношение приростов — грубая, но быстрая практическая проверка теоретической оценки сложности.

Сравнение бесконечно малых — это урок про то, что «стремится к нулю» само по себе почти ничего не говорит: важна скорость. Ты научился измерять эту скорость языком эквивалентностей, порядков малости и символов Ландау — и увидел, что этот же язык, слово в слово, работает и там, где $x$ уже не при чём, а есть только размер входных данных алгоритма, растущий к бесконечности. Дальше, в рядах Тейлора, эта идея развернётся в полную мощь: сегодняшняя таблица эквивалентностей — это первые члены будущих бесконечных разложений, и ты уже знаешь, откуда они берутся.

Понял тему? Закрепи в боте! 🚀

Попрактикуйся на задачах и получи персональные рекомендации от AI

💪 Начать тренировку
💬 Есть вопрос? Спроси бота!