Quaternion

Условие

Кватернионы (от лат. quaterni, по четыре) — система гиперкомплексных чисел, образующая векторное пространство размерностью четыре над полем вещественных чисел. Обычно обозначаются символом H. Предложены Уильямом Гамильтоном в 1843 году.
Кватернионы удобны для описания изометрий трёх- и четырёхмерного евклидовых пространств, и поэтому получили широкое распространение в механике. Также их используют в вычислительной математике, например, при создании трёхмерной графики.
Источник: Кватернионы — Википедия.

Код на Java:

Описание класса:

Стандартное определение

Кватернионы можно определить как формальную сумму a + bi + cj + dk, где a, b, c, d — вещественные числа, а i, j, k — мнимые единицы со следующим свойством: i2 = j2 = k2 = ijk = −1.
Таким образом, таблица умножения базисных кватернионов — 1, i, j, k — выглядит так:

× 1 i j k
1 1 i j k
i i -1 k -j
j j -k -1 i
k k j -1 -1

Сопряжение

Для кватерниона q сопряжённым называется:
conj(q) = a - bi - cj - dk

Модуль

Так же, как и для комплексных чисел,
abs(q) = sqrt(q*conj(q)) = sqrt(a^2 + b^2 + c^2 + d^2)
называется модулем q.

Обращение умножения (деление)

Кватернион, обратный по умножению к q, вычисляется так:
q^-1 = conj(q)/abs(q)^2.

Основная программа:

Ход выполнения

При выполнении происходит проверка функций класса: логических, арифметических, построения объектов, производных от исходного (таких, как сопряженное и обратное значение), функции строкового отображения объекта.

Вывод программы:

Ссылки:

Рабочий код для тестирования на Ideone.com: Ideone.com