Сегодня мне хочется рассказать про комплексные числа. Я не хочу перегружать статью формулами, а буду вставлять побольше анимированных картинок.
Идея
В комплексных числах есть своя красота и своя фишка. Чтобы мотивировать вас дочитать до конца, я хочу очень поверхностно пересказать основную идею, в чем я вишу фишку комплексных чисел.
Итак, изначально у нас есть действительные числа. На действительных числах определены операции сложения и умножения.
Мы берем и расширяем действительную ось до комплексной плоскости. Т.е. мы говорим, что любая точка (вектор) на этой плоскости это и есть комплексное число.
Далее для этих чисел нам нужно заново ввести операции сложения и умножения. И мы их вводим.
Но вводим их таким образом, чтобы они не противоречили нашим предыдущим операциям для вещественных чисел. Так, чтобы сложение и умножение вещественных чисел было все лишь частным случаем сложения и умножения комплексных чисел.
Затем мы получаем неожиданное свойство, что умножение комплексных чисел выражается через умножение модулей и сложение углов. Т.е. умножение связано с операциями растяжения и вращения.
А затем мы начинаем разбирать примеры и проверяем некоторые тождества, которые нам уже были известны для действительных чисел. И мы видим, как эти старые известные нам свойства выражаются через новую операцию умножения и тем самым связаны с вращением!
Если я вас заинтриговал, то давайте начнем.
Введение
Если представить, что действительное число - это вектор в одномерном пространстве,
тогда комплексное число - это вектор на, так называемой, комплексной плоскости.
Где горизонтальная ось - это действительная ось, а вертикальная - мнимая. Координаты вдоль этих осей называются действительной и мнимой частью комплексного числа.
Мнимая единица - это вертикальный вектор единичной длины.
Любое комплексные число можно записать в виде
Здесь a - это действительная часть числа, а b - комплексная.
Две функции Re() и Im() используются для извлечения действительной и мнимой частей по отдельности.
Далее нам нужно вывести операции сложения и умножения. Для этого мы будем использовать обычную алгебру. Но мы представим, что i - это тоже какое-то число, значение которого нам как бы не известно. Про мнимую единицу нам известно только то, что её квадрат равен -1.
Эта свойство и есть определение мнимой единицы. Забегая вперед, скажу, что от этого свойства будет зависеть вид операции умножения.
Сложение комплексных чисел
Сложение комплексных чисел выражается формулой
По сути, мы складываем отдельно действительную и мнимую части.
Это аналогично сложению двухмерных векторов.
Мы сразу можем заметить, что сложение двух действительных чисел - это частный случай сложения комплексных чисел. Когда мы складываем два действительных числа, мы получаем снова действительное число.
Сложение обладает свойством коммутативности (от перестановки слагаемых сумма не меняется).
Умножение комплексных чисел
Давайте выведем формулу для умножения.
Здесь желтым цветом помечено место, где мы использовали свойство мнимой единицы.
В движении умножение выглядит следующим образом.
Я уже писал выше, что умножение обладает одним интересным свойством. Но чтобы перейти к нему, нам нужно сначала ввести еще несколько операций.
Модуль и Аргумент комплексного числа
Если рассматривать комплексное число, как вектор, то мы можем найти его модуль, т.е. длину вектора. Для этого мы используем обычную теорему Пифагора.
Так же для комплексных чисел мы можем определить, так называемый, аргумент. Аргумент - это угол между положительным направлением действительной оси и вектором.
Если комплексное число расположено в верхней полуплоскости, то аргумент считается положительным, в противном случае - отрицательным. Таким образом аргумент принимает значения от -Pi до Pi радиан (или от -180 до 180 градусов).
По сути, модуль и аргумент - это еще одно представление комплексного числа. Это его полярные координаты. Если мы знаем модуль и аргумент, то это однозначно определяет само число.
Свойство операции умножения
Операция умножения обладает следующим не очевидным свойством.
Это значит, что при умножении двух чисел их аргументы (углы) складываются, а длины перемножаются.
Посмотрите еще раз внимательно на умножение. Я специально обозначил углы, чтобы было видно, что при умножении углы, действительно, складываются.
Допустим, у нас есть число X. Когда мы умножаем его на другое число Y, то мы тем самым растягиваем число X в |Y| раз и поворачиваем его на угол Arg(Y).
Кстати, операции вращение и растяжение коммутируют между собой. Т.е. не имеет значения, в каком порядке мы их выполняем. Они выполняются как бы одновременно.
В какую сторону отмерять углы?
В измерении углов есть некоторая неоднозначность. Например, аргумент числа на картинке равен -45 градусов. Но с тем же успехом мы могли бы сказать, что угол равен +315 градусов.
Фишка в том, что для операции умножения не имеет значения, как мы измеряем углы.
Например, при умножении двух чисел единичной длины с аргументом -45 мы получим угол в -90 градусов. Тем самым мы получим число равное минус мнимой единице.
Если откладывать углы в обратном направлении и считать, что аргументы этих чисел равны не -45, а +315. Тогда при сложении углов мы получим +630. Это то же самое, что и -90. И мы снова получаем минус мнимую единицу.
Таким образом, хоть у нас и имеется некоторая неопределенность в измерении углов, это никак не влияет на результат операции умножения. Умножение определено абсолютно однозначно.
Примеры
Лучший способ понять теорию - это рассмотреть достаточное количество примеров. Этим мы и займемся.
Все наши примеры будут связаны с операцией умножения, т.к. она наиболее интересная.
Умножение на нуль
Если модуль одного из аргументов равен нулю, то при перемножении модуль результата тоже будет равен нулю. В результате мы получаем привычное нам тождество
Умножение на действительное число
Я уже говорил, что умножение на комплексное число порождает сразу два эффекта: поворот и растяжение. Мы можем получить каждый из этих эффектов по отдельности.
Например, умножение любого числа X на действительное число Y (аргумент равен 0) просто растягивает число X в Y раз. И мы получаем операцию растяжение без поворота.
Умножение на число единичной длины
Напротив, мы можем получить операцию поворота без растяжения, если умножим число X на комплексное число Y единичной длины. Тогда число X просто поворачивается на угол, равный аргументу числа Y.
Умножение на мнимую единицу
Умножение на мнимую единицу дает поворот на 90 градусов.
А умножение на минус мнимую единицу дает поворот на 90 градусов в обратном направлении.
Умножение на действительную единицу
Самый тривиальный вариант - это умножение на действительную единицу. Мы должны повернуть число X на нулевой угол и растянуть в 1 раз. Другими словами, мы получим число X без изменений.
Это именно то, к чему мы привыкли со школы. Умножение любого числа на единицу должно давать то же самое число.
Умножение мнимой единицы на мнимую единицу
Аргумент мнимой единицы равен 90 градусов, а модуль равен единице. Значит при возведении в квадрат мнимой единицы мы получим число единичной длины, повернутое на 180 градусов. А именно -1.
Это свойство мы тоже уже знаем, потому что мы приняли его за определение мнимой единицы
Умножение отрицательного действительного числа на положительное действительное число
Отрицательное число имеет аргумент 180 градусов. А положительное - аргумент 0. При умножении аргументы складываются и получается угол в 180 градусов. В результате получаем снова отрицательное число.
Это правило известно нам, как "минус на плюс дает минус".
Умножение двух отрицательных действительных чисел
Когда мы складываем аргументы двух отрицательных чисел (дважды по 180) мы получаем полный оборот на 360 градусов. В результате получаем положительное число.
А это правило мы знаем, как "минус на минус дает плюс".
Мне кажется, это очень интересно, как вышеперечисленные правила выражаются через сложение углов :).
Заключение
Надеюсь вам понравились мои картинки :).
Спасибо за внимание.