Однородные тригонометрические уравнения 🌊
Представь, что тебе дали уравнение $a\sin x + b\cos x = 0$ и попросили решить его «в лоб» — через формулы приведения, через единичную окружность, перебором углов. Это возможно, но муторно. А теперь смотри: если разделить обе части на $\cos x$ (аккуратно, с проверкой), уравнение мгновенно превращается в $\operatorname{tg} x = -\dfrac{a}{b}$ — линейное уравнение относительно одной переменной. Два синуса и косинуса схлопнулись в один тангенс. Это и есть суть однородных тригонометрических уравнений: особая структура, которая позволяет заменить громоздкую тригонометрию простой алгеброй.
Такие уравнения — не редкий частный случай. Они появляются каждый раз, когда в задаче встречается линейная комбинация синуса и косинуса одного и того же угла, приравненная к нулю: $a\sin x + b\cos x = 0$ или квадратичная версия $a\sin^2 x + b\sin x\cos x + c\cos^2 x = 0$. Это ровно та форма, в которой физика записывает уравнения колебаний, инженерия — условия резонанса в цепях переменного тока, а Data Science — циклическое кодирование времени и позиционные эмбеддинги в трансформерах.
Давай разберёмся, почему это работает, откуда берётся название «однородное», как не потерять корни при делении и где эта техника всплывает в реальных ML-пайплайнах. К концу урока ты будешь щёлкать такие уравнения на автомате — и понимать, почему это не просто «ещё один тип уравнений из учебника», а конкретный алгебраический приём, которым пользуются далеко за пределами школьной программы.
Ты узнаешь:
🎯 Что делает тригонометрическое уравнение «однородным» и почему это структурное, а не косметическое свойство
🎯 Как свести уравнения первой и второй степени к алгебраическому уравнению относительно $\operatorname{tg} x$
🎯 Почему проверка $\cos x = 0$ — это не формальность «для галочки», а иногда единственный способ не потерять реальные корни
🎯 Как этот же приём — «гомогенизация» — используется в проективной геометрии, computer vision и при построении признаков временных рядов
История: откуда это взялось? 📜
Идея делить синус на косинус, чтобы получить тангенс, гораздо старше алгебры уравнений в привычном нам виде. Ещё в древней Индии и в арабской астрономии IX–X веков вычисляли не сами $\sin$ и $\cos$ по отдельности, а именно их отношение — потому что на практике измеряли длину тени от вертикального шеста (гномона) к длине самого шеста. Это отношение не зависело от масштаба шеста — оно было безразмерной величиной, зависящей только от угла. Собственно, слово «тангенс» происходит от латинского tangens — «касающийся», и связано с касательной линией к окружности, но суть та же: тангенс — это единственная тригонометрическая функция, которая по своей природе представляет собой отношение, а не абсолютную величину. Именно поэтому уравнения, где встречается только отношение $\sin x$ к $\cos x$, естественным образом сводятся к уравнениям относительно тангенса.
Формально термин «однородное уравнение» пришёл из алгебры многочленов XVIII–XIX веков. Многочлен от нескольких переменных называют однородным степени $n$, если каждое его слагаемое имеет одну и ту же суммарную степень по этим переменным — например, $3x^2 - 5xy + 2y^2$ однороден степени 2. Уравнения вида $a\sin^2 x + b\sin x\cos x + c\cos^2 x = 0$ — это ровно такие однородные многочлены, только переменные называются не $x$ и $y$, а $\sin x$ и $\cos x$. Красота в том, что связь $\sin^2 x + \cos^2 x = 1$ позволяет «обменять» одну из этих переменных на другую и работать только с их отношением.
В XIX–XX веках эта же идея расцвела в теории колебаний и переменного тока: инженеры искали фазы, при которых сумма синусоидальной и косинусоидальной компонент сигнала обращается в ноль — то есть решали именно однородные уравнения первой степени. А сегодня та же самая алгебра прячется в коде: когда языковая модель кодирует позицию токена парой $(\sin\theta, \cos\theta)$, а тебе нужно найти, при каких $\theta$ определённая линейная комбинация этих компонент обнуляется — ты, не задумываясь, решаешь уравнение, которое веками решали астрономы с гномонами и инженеры с осциллографами.
Блок 1: Однородные уравнения первой степени
Интуиция
Давай начнём с самой простой формы: $a\sin x + b\cos x = 0$, где $a$ и $b$ — фиксированные числа, не равные нулю одновременно.
Представь, что $\sin x$ и $\cos x$ — это два «канала» одного и того же сигнала, измеряющие один и тот же угол под разным углом зрения. Уравнение $a\sin x + b\cos x = 0$ спрашивает: при каком угле $x$ взвешенная сумма этих каналов даёт ровно ноль? Это как искать момент, когда две колонки в аудиомиксе гасят друг друга.
Ключевое наблюдение: оба слагаемых имеют одинаковую степень — первую — по $\sin x$ и $\cos x$. Ни constant-члена, ни $\sin^2 x$, ничего лишнего. Именно эта «чистота» структуры и называется однородностью, а она даёт нам мощный инструмент: если разделить всё уравнение на $\cos x$ (когда это законно), оно превращается в уравнение только с $\operatorname{tg} x$.
Определение: Тригонометрическое уравнение называется однородным степени $n$ относительно $\sin x$ и $\cos x$, если каждое его слагаемое (после переноса всех членов в одну сторону) имеет одинаковую суммарную степень $n$ по $\sin x$ и $\cos x$. Однородное уравнение первой степени имеет вид:
$$a\sin x + b\cos x = 0, \quad \text{где } a, b \text{ не равны нулю одновременно}$$
Как решать (при $b \neq 0$): делим обе части на $\cos x$ (с обязательной проверкой случая $\cos x = 0$ — см. следующий блок) и получаем:
$$\operatorname{tg} x = -\frac{a}{b}$$Это линейное уравнение относительно тангенса, а его общее решение — стандартная формула $x = \operatorname{arctg}\!\left(-\dfrac{a}{b}\right) + \pi k,\ k \in \mathbb{Z}$.
Пример 1 (лёгкий): $\sin x - \cos x = 0$
Проверка $\cos x = 0$: при $\cos x = 0$ имеем $\sin x = \pm 1$, тогда левая часть равна $\pm 1 - 0 = \pm 1 \neq 0$. Значит, $\cos x = 0$ не является корнем, и делить безопасно.
Делим на $\cos x$:
$$\operatorname{tg} x - 1 = 0 \implies \operatorname{tg} x = 1$$Ответ: $x = \dfrac{\pi}{4} + \pi k,\ k \in \mathbb{Z}$
Пример 2 (средний): $\sqrt{3}\sin x + \cos x = 0$
Проверка $\cos x = 0$: $\sin x = \pm 1 \Rightarrow$ левая часть $= \pm\sqrt{3} \neq 0$. Не корень.
Делим на $\cos x$:
$$\sqrt{3}\operatorname{tg} x + 1 = 0 \implies \operatorname{tg} x = -\frac{1}{\sqrt{3}} = -\frac{\sqrt{3}}{3}$$Ответ: $x = -\dfrac{\pi}{6} + \pi k,\ k \in \mathbb{Z}$
Пример 3 (сложный): $5\sin x - 12\cos x = 0$
Проверка $\cos x = 0$: $\sin x = \pm 1 \Rightarrow$ левая часть $= \pm 5 \neq 0$. Не корень.
Делим на $\cos x$:
$$5\operatorname{tg} x - 12 = 0 \implies \operatorname{tg} x = \frac{12}{5}$$Ответ: $x = \operatorname{arctg}\dfrac{12}{5} + \pi k,\ k \in \mathbb{Z}$
Обрати внимание на коэффициенты: $5$, $12$ — это пифагорова тройка $5$–$12$–$13$ ($5^2 + 12^2 = 25 + 144 = 169 = 13^2$). Это не случайность для примера: выражение $5\sin x - 12\cos x$ можно переписать в виде $13\sin(x - \varphi)$, где $\varphi = \operatorname{arctg}(12/5)$ — это и есть амплитудно-фазовая форма, к которой мы вернёмся в блоке про ML. Число $13 = \sqrt{5^2 + 12^2}$ — это «амплитуда» суммарного сигнала, а наше уравнение как раз находит момент, когда сигнал проходит через ноль.
Почему это важно: сведение $a\sin x + b\cos x = 0$ к $\operatorname{tg} x = -a/b$ — это базовый кирпичик. На нём строится вся техника однородных уравнений второй и высших степеней, а также большая часть задач на поиск фазовых сдвигов, нулей гармонических сигналов и условий резонанса.
Блок 2: Проверка $\cos x = 0$ — не формальность, а необходимость
Интуиция
В обычной алгебре ты уже сталкивался с этой ловушкой: если уравнение $x \cdot f(x) = x \cdot g(x)$ бездумно поделить на $x$, можно потерять корень $x = 0$. Ровно то же самое происходит здесь: деля тригонометрическое уравнение на $\cos x$, мы предполагаем, что $\cos x \neq 0$. Если это предположение неверно для каких-то $x$, эти решения улетучиваются из виду молча — уравнение относительно тангенса просто никогда их не «увидит», потому что тангенс при $\cos x = 0$ не определён.
А теперь попробуй сам ответить на вопрос: всегда ли эта проверка находит что-то новое, или иногда это просто ритуал? Ответ и удивительно простой, и полезный.
Определение (критерий $\cos x = 0$): Пусть однородное уравнение степени $n$ имеет вид $a_0\sin^n x + a_1\sin^{n-1}x\cos x + \dots + a_n\cos^n x = 0$, где $a_0$ — коэффициент при $\sin^n x$. Тогда:
$$\cos x = 0 \text{ является корнем уравнения} \iff a_0 = 0$$Если $a_0 \neq 0$, подстановка $\cos x = 0$ даёт $a_0 \sin^n x = a_0(\pm1)^n \neq 0$ — корня нет, и деление на $\cos^n x$ ничего не теряет. Если $a_0 = 0$, слагаемое со старшей степенью синуса отсутствует, и при $\cos x = 0$ вся левая часть обнуляется автоматически.
Проверять нужно всегда, потому что заранее (до анализа коэффициента $a_0$) не всегда очевидно, что он равен нулю — особенно если уравнение записано не в стандартном порядке.
Пример 1 (лёгкий, $a_0 \neq 0$ — формальная проверка): $\sin^2 x - 3\sin x\cos x + 2\cos^2 x = 0$
Коэффициент при $\sin^2 x$ равен $1 \neq 0$. Проверка: при $\cos x = 0$, $\sin x = \pm 1$, левая часть $= 1 - 0 + 0 = 1 \neq 0$. Корня нет — как и предсказывает критерий. Дальше уравнение решается делением на $\cos^2 x$ (см. Блок 3).
Пример 2 (средний, $a_0 = 0$ — реальный корень): $2\sin x\cos x - \cos^2 x = 0$
Здесь слагаемого $\sin^2 x$ вообще нет — коэффициент при нём равен $0$. По критерию, $\cos x = 0$ обязан быть корнем. Проверим: при $\cos x = 0$ левая часть $= 2\sin x \cdot 0 - 0 = 0$ ✅ — действительно корень!
Разложим на множители, чтобы найти остальные решения:
$$\cos x(2\sin x - \cos x) = 0$$Отсюда $\cos x = 0$ или $2\sin x - \cos x = 0$.
-
Из $\cos x = 0$: $x = \dfrac{\pi}{2} + \pi k$
-
Из $2\sin x = \cos x$, то есть $\operatorname{tg} x = \dfrac{1}{2}$: $x = \operatorname{arctg}\dfrac{1}{2} + \pi k$
Ответ: $x = \dfrac{\pi}{2} + \pi k$ или $x = \operatorname{arctg}\dfrac{1}{2} + \pi k,\ k \in \mathbb{Z}$
Если бы ты просто поделил исходное уравнение на $\cos^2 x$ не глядя, ты бы получил $2\operatorname{tg} x - 1 = 0$ (заметь: это уравнение первой степени, а не квадратное — потому что коэффициент при $\operatorname{tg}^2 x$ пропал вместе с $a_0 = 0$!) и нашёл бы только один корень, полностью потеряв семейство $x = \pi/2 + \pi k$.
Пример 3 (сложный, вырожденный случай первой степени): $0 \cdot \sin x + 5\cos x = 0$
Формально это тоже однородное уравнение первой степени, где $a = 0$. Уравнение вырождается в $5\cos x = 0$, то есть буквально $\cos x = 0$. Делить тут не на что и незачем — по критерию выше, раз коэффициент при $\sin x$ равен нулю, всё уравнение и есть условие $\cos x = 0$.
Ответ: $x = \dfrac{\pi}{2} + \pi k,\ k \in \mathbb{Z}$
Мораль: прежде чем делить, посмотри на коэффициент при старшей степени синуса. Если он ноль — можешь сразу писать ответ через $\cos x = 0$ (плюс, возможно, что-то ещё после вынесения общего множителя), деление не нужно вовсе.
Почему это важно: эта проверка — не бюрократия из методички, а строгая логическая необходимость деления на переменное выражение. Забыть её — самая частая ошибка на однородных уравнениях (см. раздел «Частые ошибки»), причём именно в тех случаях, когда $a_0 = 0$, цена ошибки — целое потерянное семейство корней, а не косметическая недочёт.
Блок 3: Однородные уравнения второй степени
Интуиция
Если в первой степени у нас было «два игрока» ($\sin x$ и $\cos x$), то во второй степени добавляется «командная игра»: слагаемое $\sin x\cos x$, которое зависит от обоих сразу. Уравнение
$$a\sin^2 x + b\sin x\cos x + c\cos^2 x = 0$$выглядит пугающе, но приём тот же: делим на $\cos^2 x$ (с проверкой $\cos x = 0$ по критерию из Блока 2) и получаем обычное квадратное уравнение относительно $\operatorname{tg} x$:
$$a\operatorname{tg}^2 x + b\operatorname{tg} x + c = 0$$Дальше — знакомая территория: дискриминант, теорема Виета, разложение на множители. Тригонометрия закончилась после первого шага, дальше работает алгебра 8 класса.
Определение: Однородное тригонометрическое уравнение второй степени — это уравнение вида $a\sin^2 x + b\sin x\cos x + c\cos^2 x = 0$, где хотя бы один из коэффициентов $a, b, c$ отличен от нуля. При $\cos x \neq 0$ оно равносильно квадратному уравнению $a t^2 + b t + c = 0$ относительно $t = \operatorname{tg} x$.
Пример 1 (лёгкий): $2\sin^2 x + \sin x\cos x - \cos^2 x = 0$
Коэффициент при $\sin^2 x$ равен $2 \neq 0$, значит $\cos x = 0$ не корень (проверка: при $\cos x=0$, $\sin x=\pm1$, левая часть $= 2 \neq 0$).
Делим на $\cos^2 x$:
$$2\operatorname{tg}^2 x + \operatorname{tg} x - 1 = 0$$Пусть $t = \operatorname{tg} x$. Дискриминант: $D = 1^2 - 4\cdot2\cdot(-1) = 1 + 8 = 9$, $\sqrt{D} = 3$.
$$t_{1,2} = \frac{-1 \pm 3}{4} \implies t_1 = \frac{1}{2},\quad t_2 = -1$$Ответ: $x = \operatorname{arctg}\dfrac{1}{2} + \pi k$ или $x = -\dfrac{\pi}{4} + \pi k,\ k \in \mathbb{Z}$
Пример 2 (средний): $\sin^2 x + \sin x\cos x - 6\cos^2 x = 0$
$a = 1 \neq 0$, проверка $\cos x = 0$ даёт $1 \neq 0$ — не корень.
Делим на $\cos^2 x$:
$$\operatorname{tg}^2 x + \operatorname{tg} x - 6 = 0$$Раскладываем на множители (можно и через теорему Виета: сумма корней $-1$, произведение $-6$):
$$(t + 3)(t - 2) = 0 \implies t_1 = -3,\ t_2 = 2$$Ответ: $x = -\operatorname{arctg} 3 + \pi k$ или $x = \operatorname{arctg} 2 + \pi k,\ k \in \mathbb{Z}$
Пример 3 (сложный, кратный корень): $4\sin^2 x - 4\sin x\cos x + \cos^2 x = 0$
Присмотрись: это точный квадрат! $4\sin^2 x - 4\sin x\cos x + \cos^2 x = (2\sin x - \cos x)^2$. Значит, исходное уравнение равносильно $2\sin x - \cos x = 0$.
Убедимся через стандартную процедуру: $a = 4 \neq 0$, проверка $\cos x = 0$ даёт $4 \neq 0$ — не корень. Делим на $\cos^2 x$:
$$4\operatorname{tg}^2 x - 4\operatorname{tg} x + 1 = 0$$Дискриминант: $D = 16 - 16 = 0$ — корень двойной:
$$t = \frac{4}{8} = \frac{1}{2}$$Ответ: $x = \operatorname{arctg}\dfrac{1}{2} + \pi k,\ k \in \mathbb{Z}$
Дискриминант, равный нулю, — это сигнал, что квадратный трёхчлен относительно $\operatorname{tg} x$ является полным квадратом, а значит, и исходное выражение в $\sin x, \cos x$ раскладывается как $(p\sin x + q\cos x)^2$. Полезный трюк для быстрой проверки ответа.
Почему это важно: этот приём — рабочая лошадка темы. Именно уравнения второй степени чаще всего встречаются в задачах ЕГЭ и олимпиадах, и именно на них расчёт с делением, дискриминантом и обратным переходом от $\operatorname{tg} x$ к $x$ отрабатывается до автоматизма.
Блок 4: Приведение к однородному виду — гомогенизация
Интуиция
Что делать, если уравнение почти однородное, но в нём затесалась «голая» константа — число без синуса и косинуса? Например: $3\sin^2 x - \sin x\cos x = 1$. Слева степень 2 везде, справа — степень 0 (константа не содержит ни синуса, ни косинуса вовсе). Однородности нет.
Спасает то же тождество, которым мы пользовались всё время: $\sin^2 x + \cos^2 x = 1$. Если константа мешает единообразию степеней, её всегда можно заменить на $1 \cdot (\sin^2 x + \cos^2 x)$ — и внезапно у неё появляется «правильная» степень 2, такая же, как у остальных слагаемых. Это называется гомогенизацией — тот же самый термин, кстати, используют в проективной геометрии и компьютерной графике, когда обычные (аффинные) координаты точки $(x, y)$ дополняют искусственной третьей координатой, чтобы уравнения стали однородными многочленами и с ними стало удобнее работать матрицам преобразований.
Определение: Уравнение вида $a\sin^2 x + b\sin x\cos x + c\cos^2 x = d$, где $d$ — константа, гомогенизируется заменой $d = d(\sin^2 x + \cos^2 x)$:
$$a\sin^2 x + b\sin x\cos x + c\cos^2 x - d\sin^2 x - d\cos^2 x = 0$$$$(a - d)\sin^2 x + b\sin x\cos x + (c - d)\cos^2 x = 0$$
После этого уравнение становится однородным второй степени и решается методом деления на $\cos^2 x$.
Пример 1 (лёгкий, с проверкой $\cos x = 0$): $\sin^2 x + 4\sin x\cos x = 1$
Переносим и гомогенизируем правую часть: $1 = \sin^2 x + \cos^2 x$.
$$\sin^2 x + 4\sin x\cos x - \sin^2 x - \cos^2 x = 0 \implies 4\sin x\cos x - \cos^2 x = 0$$Это уравнение из Примера 2 Блока 2! Коэффициент при $\sin^2 x$ здесь равен $0$, значит $\cos x = 0$ — реальный корень. Проверим по исходному уравнению: при $\cos x = 0$, $\sin x = \pm1$, левая часть $= 1 + 0 = 1 = $ правая часть ✅.
Раскладываем: $\cos x(4\sin x - \cos x) = 0$.
Ответ: $x = \dfrac{\pi}{2} + \pi k$ или $\operatorname{tg} x = \dfrac{1}{4} \Rightarrow x = \operatorname{arctg}\dfrac{1}{4} + \pi k,\ k \in \mathbb{Z}$
Пример 2 (средний, уравнение без решений): $3\sin x\cos x = 2$
Гомогенизируем: $3\sin x\cos x - 2(\sin^2 x + \cos^2 x) = 0 \implies -2\sin^2 x + 3\sin x\cos x - 2\cos^2 x = 0$. Умножим на $-1$:
$$2\sin^2 x - 3\sin x\cos x + 2\cos^2 x = 0$$$a = 2 \neq 0$ — проверка $\cos x=0$ даёт $2 \neq 0$, не корень. Делим на $\cos^2 x$:
$$2\operatorname{tg}^2 x - 3\operatorname{tg} x + 2 = 0$$Дискриминант: $D = 9 - 16 = -7 < 0$. Действительных решений нет.
Проверим здравым смыслом: $\sin x\cos x = \dfrac{1}{2}\sin 2x$, а $\sin 2x \in [-1, 1]$, значит $\sin x\cos x \in \left[-\dfrac12, \dfrac12\right]$, и $3\sin x\cos x \in \left[-\dfrac32, \dfrac32\right]$. Число $2$ в этот диапазон не попадает — уравнение действительно не имеет решений, что подтверждает и алгебра, и анализ диапазона.
Ответ: решений нет.
Пример 3 (сложный): $\sin^2 x - 2\sin x\cos x + 5\cos^2 x - 2 = 0$
Гомогенизируем константу $-2$ как $-2(\sin^2 x + \cos^2 x)$:
$$\sin^2 x - 2\sin x\cos x + 5\cos^2 x - 2\sin^2 x - 2\cos^2 x = 0$$$$-\sin^2 x - 2\sin x\cos x + 3\cos^2 x = 0$$
Умножим на $-1$ для удобства:
$$\sin^2 x + 2\sin x\cos x - 3\cos^2 x = 0$$$a = 1 \neq 0$, проверка $\cos x = 0$: подставим в исходное уравнение при $\sin x=\pm1$: $1 - 0 + 0 - 2 = -1 \neq 0$ — не корень, согласуется с критерием.
Делим на $\cos^2 x$:
$$\operatorname{tg}^2 x + 2\operatorname{tg} x - 3 = 0 \implies (t+3)(t-1) = 0 \implies t_1 = -3,\ t_2 = 1$$Ответ: $x = -\operatorname{arctg} 3 + \pi k$ или $x = \dfrac{\pi}{4} + \pi k,\ k \in \mathbb{Z}$
Почему это важно: гомогенизация превращает, казалось бы, «неоднородный» и непонятный тип уравнения в уже знакомый нам алгоритм. Это яркий пример общего математического приёма — искать способ привести новую задачу к уже решённой, вместо того чтобы придумывать метод с нуля. Именно так устроена значительная часть математики: не запоминать сотни отдельных техник, а научиться сводить новое к старому.
Блок 5: Однородные уравнения в машинном обучении и анализе данных
Это раздел для тех, кто читает этот урок не только ради экзамена, но и потому, что дальше — Data Science и ML. Разберём три места, где эта алгебра встречается на практике.
5.1 Циклическое кодирование времени
Час дня, день недели, месяц года — всё это периодические признаки. Если закодировать час как обычное число от 0 до 23, модель решит, что час 23 и час 0 — далёкие друг от друга значения, хотя на самом деле они соседние (23:00 и 00:00 отличаются на час). Стандартный трюк в Data Science — кодировать такой признак парой:
$$x = \sin\!\left(\frac{2\pi h}{24}\right), \quad y = \cos\!\left(\frac{2\pi h}{24}\right)$$где $h$ — час. Теперь час 23 и час 0 оказываются рядом на окружности, а не на разных концах отрезка.
Задача: для какого часа $h \in [0, 24)$ выполняется $x = \sqrt{3}\, y$, то есть $\sin\theta = \sqrt{3}\cos\theta$ при $\theta = \dfrac{2\pi h}{24}$?
Это в точности однородное уравнение первой степени: $\sin\theta - \sqrt{3}\cos\theta = 0 \implies \operatorname{tg}\theta = \sqrt{3} \implies \theta = \dfrac{\pi}{3} + \pi k$.
Переводим обратно в часы: $h = \dfrac{24\theta}{2\pi} = \dfrac{12\theta}{\pi}$. При $\theta = \dfrac{\pi}{3}$: $h = 4$. При $\theta = \dfrac{\pi}{3} + \pi = \dfrac{4\pi}{3}$: $h = 16$.
Ответ: $h = 4$ (4 утра) и $h = 16$ (4 дня) — ровно через 12 часов друг от друга, что логично: тангенс периодичен с периодом $\pi$, то есть пол-оборота по окружности часов.
5.2 Позиционное кодирование в трансформерах
В архитектуре Transformer (Vaswani et al., 2017) у модели нет встроенного понятия порядка токенов — self-attention обрабатывает последовательность как множество. Чтобы вернуть информацию о позиции, к эмбеддингу каждого токена добавляют вектор позиционного кодирования, построенный из пар $(\sin, \cos)$ на разных частотах:
$$PE_{(pos, 2i)} = \sin\!\left(\frac{pos}{10000^{2i/d}}\right), \quad PE_{(pos, 2i+1)} = \cos\!\left(\frac{pos}{10000^{2i/d}}\right)$$Ключевое свойство этой конструкции: скалярное произведение позиционных кодов двух токенов зависит только от относительного расстояния между ними — а это следствие тех же тригонометрических тождеств суммы углов, которые лежат в основе всей этой темы. Когда авторы архитектуры доказывали, что $PE_{pos+k}$ можно линейно выразить через $PE_{pos}$, они по сути работали с системой из синус-косинусных комбинаций — ровно тем материалом, который мы здесь тренируем.
Более приземлённый пример: пусть упрощённая модель «выравнивания фазы» ищет угол $\theta$, при котором $2\sin\theta\cos\theta - \cos^2\theta = 0$ — то есть удвоенное произведение компонент кода сравнивается с квадратом косинусной компоненты. Это в точности Пример 2 из Блока 2: ответ $\theta = \pi/2 + \pi k$ или $\operatorname{tg}\theta = 1/2$. Такие вычисления в реальности делает torch.atan2 или векторизованный numpy-код, но под капотом — та же алгебра.
5.3 Амплитудно-фазовая форма и гармоническая регрессия
Выражение $a\sin x + b\cos x$ всегда можно переписать как $R\sin(x + \varphi)$, где $R = \sqrt{a^2+b^2}$ — амплитуда, а $\varphi$ — фазовый сдвиг. Это ровно та форма, в которой модели прогнозирования временных рядов с сезонностью (например, подход, похожий на Prophet от Meta) представляют периодическую компоненту: вместо одного «сырого» синуса с неизвестной фазой используют два обучаемых коэффициента $a$ и $b$ при фиксированных $\sin x$ и $\cos x$ — это делает модель линейной по параметрам, что сильно упрощает обучение.
Наше однородное уравнение $a\sin x + b\cos x = 0$ — это в точности поиск нулей такой гармоники: моментов, когда сезонная компонента прогноза пересекает ноль. Для примера с коэффициентами $5$ и $12$ из Блока 1 амплитуда была $R = 13$ — в реальной модели это означало бы, что сезонное колебание достигает пика $\pm13$ единиц (например, продаж или трафика), а вычисленные нами углы — моменты перехода через среднее значение.
Практика: 30 заданий
Базовые (задания 1–10)
Задание 1: $\sin x - \cos x = 0$
Задание 2: $\sin x + \cos x = 0$
Задание 3: $\sqrt{3}\sin x - \cos x = 0$
Задание 4: $\sin x + \sqrt{3}\cos x = 0$
Задание 5: $\sin^2 x - \sin x\cos x = 0$
Задание 6: $\sin^2 x - \cos^2 x = 0$
Задание 7: $3\sin^2 x - \cos^2 x = 0$
Задание 8: $\sin^2 x - 4\sin x\cos x + 3\cos^2 x = 0$
Задание 9: $2\sin^2 x + 3\sin x\cos x + \cos^2 x = 0$
Задание 10: $\sin x\cos x = 0$
Средние (задания 11–20)
Задание 11: $4\sin^2 x - 4\sin x\cos x + \cos^2 x = 0$
Задание 12: $5\sin^2 x + 2\sin x\cos x - 3\cos^2 x = 0$
Задание 13: $\sin^2 x + 2\sqrt3\sin x\cos x + 3\cos^2 x = 0$
Задание 14: $3\sin x - 2\cos x = 0$
Задание 15: $2\sin^2 x - 3\sin x\cos x + \cos^2 x = 0$
Задание 16: (Data Science) Час суток кодируется как $x=\sin\theta$, $y=\cos\theta$, где $\theta = \dfrac{2\pi h}{24}$, $h \in [0,24)$. Найди все часы $h$, для которых $\sin\theta - \sqrt3\cos\theta = 0$.
Задание 17: (ML) Упрощённая модель выравнивания фазы в позиционном кодировании ищет $\theta$, при котором $2\sin\theta\cos\theta - \cos^2\theta = 0$.
Задание 18: $\sin^2 x - 5\sin x\cos x + 6\cos^2 x = 0$
Задание 19: $\sin^2 x + 4\sin x\cos x + 4\cos^2 x = 0$
Задание 20: $\sin^2 x - \sin x\cos x - 2\cos^2 x = 0$
Продвинутые (задания 21–30)
Задание 21: $3\sin^2 x - \sin x\cos x = 1$
Задание 22: $3\sin x\cos x = 2$
Задание 23: $\sin^3x-\sin^2x\cos x-\sin x\cos^2x+\cos^3x=0$
Задание 24: (ML/сигналы) $7\sin x + 24\cos x = 0$
Задание 25: (поворот вектора) Матрица поворота переводит вектор $(1,0)$ в $(\cos x,\sin x)$. Найди все $x\in[0,2\pi)$, для которых $\cos x = 3\sin x$.
Задание 26: (отладка кода) Найди ошибку и исправь её.
import numpy as np
# Хотим решить 3*sin(x)*cos(x) - cos(x)**2 = 0 численно,
# сканируя массив углов и находя точки, где значение близко к нулю
x = np.linspace(0, 2*np.pi, 10000)
tan_x = np.sin(x) / np.cos(x) # деление без проверки cos(x) == 0
roots = x[np.isclose(3*tan_x - 1, 0)] # решаем 3*tan(x) - 1 = 0
print(roots) # Пропускает решения x = pi/2 и x = 3*pi/2!
Задание 27: $2\sin^2x-5\sin x\cos x-3\cos^2x=0$
Задание 28: (Data Science) Месяц года кодируется как $\theta=\dfrac{\pi m}{6}$, где $m=0,1,\dots,11$ — номер месяца (0 = январь). Найди все месяцы, для которых $\sin\theta-\sqrt3\cos\theta=0$.
Задание 29: $\sin^4x-\cos^4x=0$
Задание 30: (гармоническая регрессия) Остаток модели с сезонностью описывается уравнением $\sin^2x-4\sin x\cos x-5\cos^2x=0$. Найди все $x\in[0,2\pi)$, при которых остаток обнуляется.
Частые ошибки
❌ Ошибка 1: деление на $\cos x$ (или $\cos^2 x$) без проверки $\cos x = 0$
✅ Правильно: сначала подставь $\cos x = 0$ в исходное уравнение и проверь, обращается ли оно в ноль. Только затем дели.
💡 Почему: если коэффициент при старшей степени $\sin x$ равен нулю, $\cos x = 0$ — гарантированный корень, и его пропуск означает потерю целого бесконечного семейства решений, а не «одной точки».
❌ Ошибка 2: путают $\operatorname{arctg}(1)$ с готовым ответом, забывая период
✅ Правильно: $\operatorname{tg} x = 1 \Rightarrow x = \dfrac{\pi}{4} + \pi k$, а не просто $x = \dfrac{\pi}{4}$.
💡 Почему: тангенс периодичен с периодом $\pi$ (а не $2\pi$, как синус и косинус) — забыв про $+\pi k$, теряешь половину всех решений на окружности.
❌ Ошибка 3: гомогенизируют не весь свободный член, а только его часть
✅ Правильно: если после переноса всех слагаемых в одну сторону осталась константа $d$, вся она заменяется на $d(\sin^2x+\cos^2x)$ — целиком, а не по кусочкам.
💡 Почему: частичная гомогенизация оставляет в уравнении слагаемые разной степени — оно перестаёт быть однородным, и метод деления на $\cos^2x$ просто не сработает корректно.
❌ Ошибка 4: путают $\sin^2x+\cos^2x=1$ с $\sin^2x=\cos^2x$
✅ Правильно: это два разных, не связанных автоматически факта. Первое — тождество, верное всегда. Второе — условие, верное только при $\operatorname{tg}x=\pm1$.
💡 Почему: смешивание этих формул — источник грубых алгебраических ошибок при упрощении.
❌ Ошибка 5: усложняют однородное уравнение первой степени, возводя обе части в квадрат
✅ Правильно: $a\sin x+b\cos x=0$ решается прямым делением на $\cos x$ — возведение в квадрат не нужно и создаёт посторонние корни.
💡 Почему: после возведения в квадрат уравнение перестаёт быть равносильным исходному — появляются лишние решения, которые потом приходится долго и мучительно отсеивать проверкой.
❌ Ошибка 6: считают, что уравнение с $\operatorname{tg}^2x$, у которого $D<0$, где-то допустили вычислительную ошибку
✅ Правильно: отрицательный дискриминант — законный, часто встречающийся результат, означающий, что уравнение действительно не имеет решений (например, потому что требуемое значение выходит за диапазон $\sin x\cos x$).
💡 Почему: без проверки диапазона возможных значений легко потратить время на поиск несуществующей ошибки в верных вычислениях.
Главное запомнить
✅ Однородное уравнение степени $n$ — все слагаемые (после переноса в одну сторону) имеют одинаковую суммарную степень по $\sin x$ и $\cos x$.
✅ Первая степень: $a\sin x+b\cos x=0 \implies \operatorname{tg}x=-\dfrac{a}{b}$ — линейное уравнение относительно тангенса.
✅ Вторая степень: $a\sin^2x+b\sin x\cos x+c\cos^2x=0 \implies a\operatorname{tg}^2x+b\operatorname{tg}x+c=0$ — квадратное уравнение относительно тангенса.
✅ Критерий $\cos x=0$: это корень тогда и только тогда, когда коэффициент при старшей степени $\sin x$ равен нулю. Проверять нужно всегда, даже когда кажется очевидным, что корня нет.
✅ Гомогенизация: «голую» константу $d$ заменяют на $d(\sin^2x+\cos^2x)$, чтобы свести неоднородное уравнение к однородному.
✅ Отрицательный дискриминант после перехода к $\operatorname{tg}x$ означает «решений нет» — это не ошибка вычислений, а законный результат, обычно связанный с ограниченным диапазоном $a\sin x+b\cos x$ или $\sin x\cos x$.
✅ Период тангенса — $\pi$, не $2\pi$. Формула ответа всегда содержит $+\pi k$, а не $+2\pi k$.
✅ Амплитудно-фазовая форма $a\sin x+b\cos x=R\sin(x+\varphi)$, $R=\sqrt{a^2+b^2}$, связывает однородные уравнения первой степени с поиском нулей гармонического сигнала.
✅ В ML/DS это работает не абстрактно: циклическое кодирование времени, позиционные эмбеддинги трансформеров и гармоническая регрессия временных рядов используют ту же самую пару $(\sin,\cos)$ и ту же алгебру.
✅ Стратегия по умолчанию: перенести всё в одну сторону → проверить степень однородности (гомогенизировать при необходимости) → проверить $\cos x=0$ → разделить на $\cos^n x$ → решить алгебраическое уравнение относительно $\operatorname{tg}x$ → вернуться к $x$.
Связь с другими темами курса
Что нужно было знать до этого урока:
-
Основное тригонометрическое тождество $\sin^2x+\cos^2x=1$ и формулы приведения
-
Определение тангенса как отношения $\sin x/\cos x$ и его период
-
Решение квадратных уравнений (дискриминант, теорема Виета, разложение на множители) — из курса алгебры
-
Общие методы решения тригонометрических уравнений (урок 104), частью которых и является техника однородных уравнений
Куда это ведёт дальше:
-
Системы тригонометрических уравнений (следующий урок) — однородные уравнения часто входят как одно из уравнений системы
-
Тригонометрические неравенства — тот же метод деления на $\cos x$/$\cos^2x$ применяется и здесь, только с дополнительной аккуратностью в знаках
-
Разложение суммы гармоник и Фурье-анализ — амплитудно-фазовая форма $R\sin(x+\varphi)$, которую мы обсудили в ML-блоке, — это первый шаг к рядам Фурье
-
Производная и экстремумы функций (урок 133, значительно позже в курсе) — там ты будешь искать точки, где производная гармонической функции обращается в ноль, и снова столкнёшься с уравнениями вида $a\sin x+b\cos x=0$ — но уже не как с самостоятельной темой, а как со стандартным шагом внутри более сложной задачи
Где это используется на практике:
💻 В программировании и компьютерной графике: нахождение углов, при которых компоненты вектора после поворота удовлетворяют заданному соотношению — та же техника, что в задании 25.
🤖 В ML/AI: циклическое кодирование признаков времени, позиционные эмбеддинги в трансформерах, поиск фазовых характеристик сигналов.
📊 В Data Science: гармоническая регрессия для сезонных временных рядов, feature engineering периодических признаков (час, день недели, месяц, угол в геоданных).
🔬 В физике и инженерии: условия резонанса и фазового баланса в цепях переменного тока, нахождение нулей колебательных систем.
Интересные факты
💡 Слово «тангенс» — про касание, а не про отношение. Название связано с касательной линией к единичной окружности: если провести касательную в точке $(1,0)$ и продлить луч под углом $x$ до пересечения с этой касательной, длина отрезка от точки касания до пересечения и есть $\operatorname{tg}x$. Но именно потому что это отношение (а не абсолютная длина радиуса), уравнения, зависящие только от $\sin x/\cos x$, естественно сводятся к алгебре тангенса.
💡 Гомогенизация — термин из проективной геометрии. В компьютерной графике 3D-точку $(x,y,z)$ дополняют четвёртой координатой $w$, получая «однородные координаты» $(x,y,z,w)$ — это позволяет представлять и вращения, и перенос, и перспективную проекцию одной и той же матрицей $4\times4$. Идея «добавить переменную, чтобы уравнение стало однородным» в компьютерной графике и в нашей теме про тригонометрию — буквально одна и та же математическая операция.
💡 Функции постоянной отдачи от масштаба в экономике — тоже однородные функции. Производственная функция Кобба — Дугласа $F(K,L)=A K^\alpha L^\beta$ является однородной степени $\alpha+\beta$: если увеличить оба ресурса — капитал $K$ и труд $L$ — в $t$ раз, выпуск изменится в $t^{\alpha+\beta}$ раз. Это тот же самый принцип «все слагаемые/множители одной степени», который делает наши тригонометрические уравнения решаемыми через отношение — только там отношение $K/L$, а у нас $\sin x/\cos x$.
💡 Позиционное кодирование трансформеров выбрали синус-косинусным не случайно. Авторы статьи «Attention Is All You Need» отдельно проверяли обучаемые позиционные эмбеддинги (как в BERT) — они дают почти такое же качество, но синус-косинусная версия умеет экстраполировать на более длинные последовательности, чем те, что были при обучении, именно благодаря тригонометрическим тождествам суммы углов, которые мы используем в этом уроке.
Лайфхаки и полезные трюки
1. Сначала проверь коэффициент, а не считай — сразу видно, нужна ли проверка $\cos x=0$
Прежде чем что-либо делить, посмотри на коэффициент при старшей степени $\sin x$. Если это ноль — можешь сразу писать $\cos x=0$ как часть ответа, даже не начиная деление.
2. Узнавай однородность по «силуэту» уравнения, а не считая степени вручную
Если после переноса всех членов в одну сторону в каждом слагаемом одна и та же суммарная степень по $\sin$/$\cos$ — уравнение однородно. «Голая» константа (без тригонометрии) сразу выдаёт неоднородность — гомогенизируй её.
3. Дискриминант отрицателен — не ищи ошибку, проверь диапазон
Если после перехода к $\operatorname{tg}x$ дискриминант оказался отрицательным, прежде чем пересчитывать всё заново, оцени диапазон исходного выражения: $\sin x\cos x\in[-\frac12,\frac12]$, $a\sin x+b\cos x\in[-R,R]$ при $R=\sqrt{a^2+b^2}$. Часто уравнение действительно не имеет решений — и это законный ответ.
4. Для уравнений первой степени не нужно писать промежуточный шаг с делением подробно
Уравнение $a\sin x+b\cos x=0$ сразу даёт $\operatorname{tg}x=-a/b$ (после проверки $\cos x=0$, которая для $b\neq0$ формальна). Не трать время на выписывание промежуточного $a\operatorname{tg}x+b=0$, если это не требуется по условию задания.
5. В коде — не дели на $\cos x$, если можно проверить исходное выражение напрямую
Как показало задание 26, векторизованное деление на cos(x) в numpy молча теряет корни там, где косинус близок к нулю. Если тебе нужно найти все корни численно, безопаснее сканировать исходное (не поделённое) выражение и искать его нули напрямую, а не переходить к тангенсу раньше времени.
6. Держи в голове пифагоровы тройки — они часто «спрятаны» в коэффициентах
$3$-$4$-$5$, $5$-$12$-$13$, $7$-$24$-$25$, $8$-$15$-$17$ — если видишь такие коэффициенты при $\sin x$ и $\cos x$, знай: за уравнением стоит «круглая» амплитуда $R$, и, скорее всего, составитель задачи выбрал их специально.
Однородные тригонометрические уравнения — редкий случай, когда школьная алгебра, история навигации XI века и архитектура современных нейросетей опираются на один и тот же трюк: заметить, что во всех слагаемых спрятано одно и то же отношение, и посмотреть на уравнение через это отношение, а не по отдельности через $\sin x$ и $\cos x$. А теперь попробуй сам взять любое тригонометрическое уравнение, которое встретится тебе дальше в курсе, и задать вопрос: а нет ли здесь скрытой однородности? Часто оказывается, что есть — и задача, которая выглядела громоздкой, схлопывается в пару строк алгебры.
Понял тему? Закрепи в боте! 🚀
Попрактикуйся на задачах и получи персональные рекомендации от AI
💪 Начать тренировку