Крутим воображение

May 08, 2023 22:12


Известно, что комплексные числа широко применяются в физике, инженерии, радиоэлектронике. Прямо-таки очень широко. А почему?

А вот тут вопрос интересный. Если спросить человека, что такого особенного в комплексных числах, первое, что он (скорее всего ответит), это то, что там квадрат числа - не обязательно положительный. То есть, вспоминается во эта штуковина:

i^2 = -1

Однако...  если посмотреть на применение комплексных чисел, например, в электронике, то выясняется, что это вовсе не самое полезное их свойство. Вернее, частично... Вернее, это составляет часть, того что полезно...

Короче. Комплексные числа полезны потому, что они позволяют задать вращение. И это одно из основных отличий их от простых 2D векторов. Вектора - штука хорошая, не поймите неправильно. Но какие основные (базовые) действия мы можем с ними делать?

Можем умножить на скаляр (растянуть/сжать/перевернуть)





Можем сложить два вектора



Скалярное и векторные произведения пока оставим, потому что: первое дает нам нифига не вектор, а второе вылазит за пределы 2D.

В принципе, вращать-то вектора можно, только это уже не тривиальная операция. Скажем, чтобы повернуть на 90° нужно поменять местами x и y, потом поменять знак у икса. Если же нужно повернуть на произвольный угол - тут уже вступает в действие родная тригонометрия, синусы, косинусы, формируем матрицу перобразования итд итп.

А что в мире комплексных чисел? А тут все веселее. Тут вращение является результатом применения базовой операции умножения. Нужно повернуть число (все-таки комплексное число - не вектор в обычном смысле) на 90° - просто умножаем на i. И все?? И все.



Если нужно повернуть на произвольный угол: умножаем на другое комплексное число: e^(-iφ). В общем, при умножении комплексных чисел их представление на двумерной плоскости поворачивается. То есть, вращение - неотъемлемая встроенная часть математики комплексных чисел. При этом никаких матриц, никакого привлечения тригонометрии.

А теперь подумаем, как часто в электронике или физике мы имеем дело с процессами колебательными, циклическими итп? Постоянно. Поэтому описание всего этого безобразия комплексными числами - адски удобно. Но и «переворот знака» (i^2 = -1) тоже используется. Это, как бы, одно и то же на самом деле. Потому что поворот дважды на 90° - это поворот на 180°. А  поворот на 180° - это и есть «переворот в обратку».



Я бы сказал, что свойство вращения первично по отношению к отрицательному квадрату, поскольку второе есть применение вращения дважды.

По классике, при изучениие комплексных чисел, сначала дают эту странную «мнимую единицу» i, вместе с ее странным свойством. Потом, дают объединение чисто мнимых чисел с чисто вещественными - и вуаля, мы в мире комплексных чисел. Все дальнейшие свойства выводятся постепенно.

Однако, что если мы пойдем другим путем? Поробуем получить что-нибудь интересное, задавая именно геометрические свойства (т.е. в нашем случае вращение).

Попробуем.

Для начала, одномерный случай нас не интересует, потому что... потому что в одном измерении как бы вращать некуда...

То есть нам нужна как минимум плоскость. Ну, плоскость так плоскость. Дальше, мы хотим, чтобы «обычные» вещественные числа входили в это конструкцию натурально. Лады. Выделим горизонтальную ось под «обычные» числа.



Так. Допустим, во имя хоть какой-то совместимости с миром векторов я хочу, чтобы сложение чисел здесь работало идентично. Да и умножение на скаляр тоже (просто масштабирование). Теперь займемся поворотом.

Начнем с чего-нибудь простого, что мы можем посчитать без особого труда. Можно взять просто число 1. Поскольку, для обычных чисел мы выделили горизотнальную ось, то мы уже знаем как оно выглядит.



Так. Какой самый простой поворот мы можем придумать, чтобы нам было с чего начать? Поворот на 90°. Потому что это просто будет значить, что наша «стрелочка» теперь будет указывать вверх.

Теперь интересный момент. Я хочу, чтобы вращение задавалось простым умножением. Введем некое волшебное число ☆ , которое при умножении на него поворачивает число на 90°. (Еще хотелось бы, чтобы поворот работал независимо от того, слева звездочка или справа, т.е. умножение у нас будет коммутативно)



И это сразу дает нам несколько полезных результатов!

Первое, поскольку мы хотели, чтобы умножение на скаляр (обычное число) работало нормальным образом, то умножение чего-либо на 1, равно просто этому чему-либо. А значит,  1⋅☆ = ☆

Второе, все из тех же хотелок относительно умножения, а также из того факта, что мы хотим вращение, а не масштабирование -  длина звездочки равна 1 (или модуль или какой бы мы термин не придумали).

Третье, поскольку новое число лежит целиком на вертикальной оси, а его длина равна единице, то... собственно все числа на это оси могут быть представлены как произведения звездочки на некий скаляр (который будет растягивать/сжимать наш вертикальный «вектор»).



Не, ну круто, а? Мы начали с простого поворота (90° против часовой стрелки) примитивнейшего числа (1), а зкончили пониманием того, что у нас представляет собой вертикальныая ось.

Дальше, поскольку мы хотели, чтобы сложение выглядело так же, как и у векторов, мы теперь можем определить любое число на нашей плоскости как сумму «обычных» чисел и «волшебных» (звездочковых) чисел.

Вот, допустим, число, «собранное» из вещественной единицы и двух звездочек:



Вот сколько результатов мы получили из рассмотрения банального поворота на 90° банальной единицы.

Пойдем дальше. Повернем нашу звездочку еще на 90°.

Мы решили, что за поворот у нас отвечает операция умножения на волшебное число ☆. То есть теперь мы хотим умножить звездочку на звездочку: ☆⋅☆. Выглядеть это будет так:



И тут наступает самый интересный момент.

Во-первых, мы решили, что горизонтальная ось отвечает за «обычные» числа. А результат у нас лежит как раз на горизонтальной оси. То есть это вещественное число.

Во-вторых, длина у нас все та же - единица (поскольку мы решили, что у нас чистый поворот, без всяких масштабирований).

В третьих, поскольку новый «вектор» смотрит вы другую (в отрицательную сторону) он может быть представлен как   -1⋅1 (то есть наш начальный единичный вектор, только смотрящий в обратную сторону). Короче говоря, рельутат - это просто число  -1 (минус один).

То есть, ☆⋅☆= -1...

А теперь заменяем один символ на другой (звездочку на курсивную i) и получаем:

i⋅i = -1

Мы пришли к концепции комплексных чисел задом наперед. Вместо определения мнимой единицы и ее «знакоменяющего» свойства, и дальнейшего вывода вращения как результата, мы взяли вращение за основу и получили «знакоменяющее» свойство как результат.

В принципе, можно проверить, как работает умножение на ☆ проивзольного числа из нашей плоскости. Возьмем число

z1 = a + ☆b  (то есть у нас есть и «обычная» часть и «звездочковая»)

Умножим теперь все это безобразие на ☆.

z2 = ☆(a + ☆b) = ☆a + ☆☆b    = ☆a + (-b)

Что мы получили?

Во-первых, горизонтальные и вертикальные координаты поменялись местами. У нас a, было чисто вещественным коэффициентом (а значит, лежало по горзонтали), а теперь оно у нас звездочковое (а значит ползет вдоль вертикальной «звездочковой» оси). Компонент b, наоборот, был звездочковым, а потом звездочка исчезла (а значит, b сменило место жительства с вертикальной оси на горизонтальную).

Во-вторых, знак при горизонтальной координате поменялся.

Ничего не напоминает?

Ага, это уже знакомый алгоритм вращения вектора на 90° в обычном двумерном пространстве: «поменять местами x и y, и заменить знак у икса». То есть наше операция вращения (умножение на звездочку) работает для любого числа, представимого на нашей плоскости. Ну... как мы уже знаем, это и так практически комплексная плоскость, без парочки уточняющих аксиом.

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

То есть, чтобы повернуть число на произвольный угол x, надо умножить число на e^-ix

В принципе, такой способ мышления, когда мы пляшем от нужных нам геометрических (или алгебраических) свойств, а потом уже получаем какую-то конструкцию, ничего волшебного из себя не представляет. Математики делают это постоянно, переизобретая велосипеды (ну... и частично модернизируя их под себя). Так, и комплексные числа и кватернионы (которые используются для задания вращений в 3D) все могут быть получены как частные случаи так называемой алгебры Клиффорда. Там тоже, народ задался кучкой полезных свойств которые они хотели бы видеть, а в результате получили разнообразие разных систем, часть из которых вполне людям знакома: там и матрицы Паули естественным образом выскакивают, и описание СТО выглядит намного проще (в рамках так называемой Space-Time Algebra), и прочее и прочее.

Так что, не стоит бояться взглянуть на вещи с других углов.

ПРИМЕЧАНИЕ: везде в тексте, где я говорю «поворот на 90°» я имею ввиду поворот против часовой стрелки. Поворот же по часовой стрелке задается умножением на -☆ (это легко показать)

комплексные числа, математика

Previous post Next post
Up