В ирландской столице Дублине на мосту Брум висит памятная табличка: «На этом месте 16 октября 1843 года во время прогулки сэр Уильям Роуэн Гамильтон в минуту гениального прозрения открыл формулу, определяющую умножение кватернионов, $$i^2=j^2=k^2=ijk=-1$$
и нацарапал её на камнях этого моста».
Эти правила позволяют определить умножение кватернионов — четвёрок вещественных чисел (на латыни quaterni означает «по четыре»). Четвёрку $q=(a;b;c;d)$ можно рассматривать как разложение $q=a+bi+cj+dk$, где $i$, $j$, $k$ — «мнимые единицы» из формулы на мосту Брум.
Одни учёные — например, создатель теории электричества Максвелл — приняли теорию кватернионов и стали её использовать. Другие отвергали, находили её вычурной и непрактичной.
Миновал век, даже больше. И неожиданно вместе с человеком кватернионы вышли в космос. В конце 1960‐х годов у конструкторов космических аппаратов появилась техническая возможность установки ЭВМ на борту корабля. Наряду с Центром управления полётами на Земле и космонавтами на борту, вычислительная машина должна была управлять кораблём. Требования к машине были предельно жёсткими: устойчивость к перегрузкам и малый вес необходимо было совместить с высоким быстродействием и достаточным объёмом памяти.
Одна из главных задач для бортового компьютера — постоянный расчёт координат и ориентации корабля. На тот момент было два основных способа описания ориентации: использование углов Эйлера и метод направляющих косинусов. У каждого из этих способов есть существенные практические недостатки. В первом случае опасность возникает, когда описание положения корабля на языке углов Эйлера вырождается, в результате происходит сбой в управлении ориентацией. Во втором варианте вычислительная техника того времени просто не справлялась с необходимостью обновления информации с шагом в сотые или даже тысячные доли секунды (а такая необходимость возникала на активных участках полёта — выведении на орбиту и спуске корабля).
Решение, позволяющее избежать перечисленных проблем, было найдено сотрудниками Центрального конструкторского бюро экспериментального машиностроения (бывшее ОКБ‐1 С. П. Королёва). Учёные и инженеры поняли, что описание движений в трёхмерном пространстве на «четырёхмерном» языке кватернионов позволяет разработать систему управления движением (СУД), удобную для вычислений и реализуемую на бортовой ЭВМ.
Дело в том, что движения в трёхмерном пространстве можно представить как алгебраические операции (сложение и умножение) с кватернионами (четвёрками чисел). А это, в свою очередь, означает выполнение ряда арифметических операций с обычными числами — компонентами кватернионов.
В созданной «кватернионной» СУД нет опасностей, связанных с вырождением описания, нет и перегрузки ЭВМ из‐за необходимости непрерывно вычислять значения тригонометрических функций. Курс изучения СУД входит в программу общекосмической подготовки космонавтов, так что всем кандидатам приходится изучать кватернионы.
Представление параметров ориентации в терминах кватернионов не является совершенным — не хватает наглядности. Обычно космонавты ещё на тренировках многократно отрабатывают штатные режимы и запоминают контрольные значения параметров, включая кватернионы.
Одна из самых сложных и ответственных операций в космосе — стыковка кораблей. Вот история одной из нештатных ситуаций на орбите, в которой выручило умение «читать» кватернионы. Космонавту Александру Сереброву в его третьем полёте довелось с Александром Викторенко принимать на станции «Мир» модуль «Квант‐2». Программа автоматической стыковки уже была запущена, как вдруг из‐за переполнения памяти бортовой ЭВМ остановились силовые гироскопы (гиродины). Пришлось переходить на ручной режим сближения и стыковки. Викторенко управлял ориентацией станции, а Серебров на экране монитора следил за параметрами процессов. И когда одна из команд Викторенко оказалась ошибочной, Серебров по «кватернионам» сразу это заметил, сказались результаты тренировок. Ошибку исправили, стыковка была успешно завершена.
Эффективность «кватернионных» систем управления ориентацией определила их выбор в качестве международного стандарта, в частности, они применяются на Международной космической станции.
А сейчас ставшие классикой «кватернионные» системы возвращаются на Землю, находя применения в робототехнике и даже в современных автомобилях. Есть работа для кватернионов и в виртуальном мире — это важный инструмент в системах трёхмерной графики и для создания компьютерных игр.