понедельник, 20 июня 2016 г.

Извлечение корней в гиперкомплексных числах

Введение


В этой статье речь пойдет об операции, являющейся парной и обратной к операции произведения, в случае если в произведении участвуют одинаковые числа. Речь пойдет о взятии корня. А именно, если известно число $A$ такое, что $$ A=\underbrace{a\cdot a \cdot \ldots\cdot a}_{n} $$ то требуется найти a при известном $n$. Операция взятия корня, в отличие от произведения, отличается несколько большей сложностью при вычислениях. Если результат произведения двух гиперкомплексных чисел определен однозначно, то операция отыскания корня уже не обязана давать единственное решение. Каждый из нас ещё из школьного курса математики помнит, что уверенно мог решить уравнение вида $$ x^2=1 $$ и получить аж два решения: $+1$ и $-1$. В основном фокус с двумя корнями сводился к банальной подгонке и строились рассуждения вида: если возвести в квадрат отрицательное число, то получим положительное, поэтому и корней должно быть два. Вот только если к таким рассуждениям отнестись повнимательнее и проанализировать ход рассуждений с точки зрения логики, то выяснится, что это не решение, а именно подгонка.

Берем из всех чисел именно два и проверяем на верность исходное равенство. Подходит. Значит, это решения. Это правда. Но почему взяли только два числа, и как доказать, что остальные не подходят? Тут можно встретить различные увертки такого рода: разобьем числовую прямую на три части -- 0, больше нуля, меньше нуля, и проверим по отдельности. Сожалею, но мне бы не хотелось бпользоваться такими рассуждениями каждый раз, когда нужно извлечь корень. Поэтому попробуем найти общий способ отыскания корней числа. Будем пользоваться абстрактными гиперкомплексными числами и в частных случаях демонстрировать примеры с использованием конкретных алгебр.

Отметим, что решение уравнения $$ x^2=1 $$ может иметь не только два корня, но и 4, как было показано в работе [1], и 8 в случае использования квадрагиперболических чисел [2]. Также постараемся дать общий алгоритм извлечения корней для случая произвольной гиперкомплексной алгебры. Поскольку число алгебр с делителями нуля не ограничено, то и количество решений квадратного уравнения также может оказаться неограниченно большим. Число решений будет зависеть от допустимой к использованию алгебры.

Определение корня


Определим корень как некую функцию, отображающую область определения в область значений. Определение самой функции как отображения может вызвать споры на тему: может ли значением функции быть не один объект, а несколько. Есть такая договоренность, что функции, отображающие одно значение из области определения в несколько значений из области значений, принято называть по-прежнему функциями, но давать приставку "многозначная". Будем придерживаться этого мнения.

Функция извлечения корня определяется как функция, обратная степенной и сама в свою очередь рассматривается как степенная. А именно, если $$ \underbrace{a\cdot a \cdot \ldots\cdot a}_{n}=a^n=b $$ то $$ a=b^{1/n}=\sqrt[n]{b} $$ В определении мы использовали понятие "операция, обратная заданной". Как показывает практика, такой подход автоматически порождает вычислительные проблемы. Например, операция деления определена как операция обратная умножению. Если умножение определяется легко, то для операции деления можем получить некоторые трудности в виде делителей нуля. Вычитание есть операция, обратная сложению. И именно исследование вычитания привело к появлению отрицательных чисел. Третий яркий пример -- это операция интегрирования, определенная как операция, обратная дифференцированию. И если операция дифференцирования определена совершенно однозначнм образом в виде набора нескольких правил, позволяющих найти производную для любого выражения, то в интегрировании до сих пор не существует четкого правила нахождения интеграла. Есть только несколько эвристик, помогающих отыскать интеграл в случае выражений частного вида и несколько теорем, показывающих что интегралы некоторых выражений не могут быть выражены в элементарных функциях.

Это несколько длинное объяснение вызвано тем, что операция отыскания корня в действительности достаточно сложна и, честно говоря, у меня до сих пор нет уверенности, что в этой статье будет написано все об извлечении корней. Вполне допускаю, что некоторые вещи так и останутся неизвестными. Именно в силу определения операции как обратной к заданной.

Случай отсутствия делителей нуля


Рассмотрим извлечение корня из такого числа $A\neq 0$, что $|A|\neq 0$. Иными словами, A не является делителем нуля. Рассмотрим свойства функций экспоненты и логарифма.

Если $ab=ba$, то $e^{ab}=e^ae^b$.

Если $a=e^b$, то $b=\ln(a)$.

Если $c=a^n=e^{nb}$, то $b=\ln(a)=n\ln(c)$

Эти свойства помогают, в частности, программистам при использовании языков программирования, не содержащих в стандартных библиотеках функции возведения в степень. Эта функция определяется как $$ a^b=e^{b\ln(a)} $$ Мы также воспользуемся данным соотношением при рассмотрении в качестве $a$ и $b$ гиперкомплексных чисел. Опять же, мы должны сделать оговорку, что должно выполняться $$ ab=ba $$ Или числа $a$ и $b$ должны коммутировать по умножению.

Мы выбрали операции потенцирования и логарифмирования потому, что они достаточно просто представляются в элементарных функциях от компонент числа. Например, если $a$ -- комплексное число, то $$ a=a_0+ia_1 $$ $$ e^a=e^{a_0}(\cos(a_1)+i\sin(a_1)) $$ а если кватернион, то $$ a=a_0+ia_1+ja_2+ka_3 $$ $$ e^a=e^{a_0}\left( \cos\left(\sqrt{a_1^2+a_2^2+a_3^2}\right)+ \frac{ia_1+ja_2+ka_3}{\sqrt{a_1^2+a_2^2+a_3^2}} \sin\left(\sqrt{a_1^2+a_2^2+a_3^2}\right) \right) $$ Аналогичное разложение экспоненциальной функции можно легко получить для любой гиперкомплексной алгебры. Определить же логарифм гиперкомплексного числа можно, решив обратные уравнения. Например, в случае комплексных чисел $$ \ln(a)=\ln(\sqrt{a_0^2+a_1^2})+i\mathrm{arctg}\left(\frac{a_1}{a_0}\right) $$ Поскольку функция арктангенса является многозначной, то и логарифм комплексного числа является многозначной функцией.

Итак, для отыскания корня $n$-й степени из числа $a$, используем соотношение для экспоненты и логарифма: $$ a^{\frac{1}{n}}=e^{\frac{1}{n}\ln(a)} $$ Теперь сделаем замечание, почему этот способ используем именно для случая $|a|\neq 0$. Дело в том, что при вычислении логарифма такого числа возникает операция деления на ноль либо вычисления логарифма нуля и корректно определить таким образом корень числа не представляется возможным.

Продемонстрируем этот случай на простейшей алгебре, содержащей делители нуля, на паракомплексных числах. $$ a=a_0+ia_1 $$ $$ i^2=1 $$ $$ |a|^2=a_0^2-a_1^2 $$ $$ e^a=e^{a_0+ia_1}=e^{a_0}\left( \mathrm{ch}(a_1)+i\:\mathrm{sh}(a_1)\right) $$ $$ \ln(a)=\ln\left(a_0+ia_1\right)=\ln\left(\sqrt{a_0^2-a_1^2}\right)+ i\:\mathrm{arth}\left(\frac{a_1}{a_0}\right) $$ В случае если $a_0=a_1\neq 0$ модуль числа равен нулю, но само число не равно нулю. Это и есть делитель нуля. В случае паракомплексной алгебры для делителей нуля требуется найти $\ln(0)$. Для более сложных алгебр с делителями нуля при отыскании логарифма требуется ещё и делить на ноль. Поэтому комбинировать логарифмирование и потенцирование для отыскания корня мы можем только в алгебрах без делителей нуля.

Итак, найдем корень квадратный из единицы аналитически: $$ \sqrt{1}=e^{0.5\cdot\ln(1)} $$ Отметим, что в области комплексных чисел единица выглядит как $$ 1=1+i0 $$ и $$ \ln(1)=\ln(1)+i2\pi n $$ Тогда $$ e^{0.5\cdot(\ln(1)+i2\pi n)}=e^{i\pi n} $$ Таким образом, квадратный корень из единицы имеет бесконечно много решений, поскольку $n$ может принимать бесконечно много значений. Но все решения равны либо +1 если $n$ четное либо -1 если $n$ нечетное.

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

Опять же отметим, что решение задачи извлечения корня напрямую зависит от того, в какой именно гиперкомплексной алгебре мы хотим найти решение. Если спросить компьютер, чему равен корень из единицы порядка $\pi$, то он, конечно, выдаст только один ответ. Чтобы найти остальные корни, следует убедиться, что программа будет искать решения не только в алгебре действительных чисел

Случай присутствия делителей нуля


Как было описано выше, не для всякого гиперкомплексного числа можно вычислить логарифм. Эта ситуация относится к так называемым делителям нуля. Делителем нуля называется число, не равное нулю, но такое что его модуль равен нулю. Рассмотрим в качестве примера две алгебры -- алгебру паракомплексных чисел и алгебру бикомплексных чисел.

Паракомплексное число покомпонентно представляется как $$ a=a_0+ia_1 $$ $$ i^2=1 $$ Для извлечения корня используем свойства делителей нуля в произведении также давать делитель нуля. А именно, если $$ a=\frac{1}{2}(1+i) $$ $$ a^n=a $$ $$ b=\frac{1}{2}(1-i) $$ $$ b^n=b $$ Эти два числа ещё называются каноническими делителями нуля или каноническим базисом пространства делителей нуля. Общепринятым обозначением является обозначение, аналогичное спинорам: $$ S_+=\frac{1}{2}(1+i) $$ $$ S_-=\frac{1}{2}(1-i) $$ Любое паракомплексное число может быть представлено в виде $$ a=a_+S_++a_-S_- $$ где $a_+$ и $a_-$ -- компоненты числа $a$ в каноническом базисе делителей нуля. Орты канонического базиса делителей нуля имеют свойства: $$ \begin{array}{c} S_+^n=S_+ \\ S_-^n=S_- \\ S_+S_-=0 \end{array} $$ поэтому произведение двух паракомплексных чисел $a$ и $b$ в каноническом базисе примет вид: $$ ab=a_+b_+S_++a_-b_-S_- $$ При этом числа $a$ и $b$, будучи заданы в базисе мнимых единиц, имеют компоненты $$ a=a_0+ia_1 $$ а в базисе делителей нуля $$ a=a_+S_++a_-S_- $$ Получить выражение $a_+$ и $a_-$ через $a_0$ и $a_-$ можно двумя способами: 1) решив систему уравнений, раскрыв второе представление покомпонентно: $$ \frac{a_+}{2}+i\frac{a_+}{2}+\frac{a_-}{2}-i\frac{a_-}{2}=a_0+ia_1 $$ откуда следует, что $$ a_+=\frac{1}{2}(a_0+a_1) $$ $$ a_-=\frac{1}{2}(a_0-a_1) $$ 2) умножив число $a$ на элементы канонического базиса: $$ aS_+=a_+S_+S_++a_-S_-S_+=a_+S_+ $$ $$ aS_-=a_+S_+S_-+a_-S_-S_-=a_-S_- $$ Проведя разложение и приведение подобных, получим тот же ответ: $$ a_+=\frac{1}{2}(a_0+a_1) $$ $$ a_-=\frac{1}{2}(a_0-a_1) $$ Описанные выше свойства можем использовать для отыскания корня гиперкомплексного числа. А именно, если число $a$ возвести в степень $n$, то получим $$ a^n=\left(a_+S_++a_-S_-\right)^n=a_+^nS_++a_-^nS_- $$ Полагая, что компоненты в каноническом базисе делителей нуля сами в свою очередь делителями нуля не являются, либо являются просто действительными числами, получим: $$ \sqrt[n]{a}=\sqrt[n]{a_+S_++a_-S_-}=\sqrt[n]{a_+}S_++\sqrt[n]{a_-}S_- $$ В случае многозначности полученных корней $\sqrt[n]{a_+}$ и $\sqrt[n]{a_-}$ будем полагать, что их значения независимы. Например, при вычислении квадратного корня из паракомплексного числа получим: $$ \sqrt{a}=\pm'\sqrt{a_+}S_+\pm''\sqrt{a_-}S_- $$ Здесь $\pm'$, $\pm''$ обозначены взаимно независимые операции унарного плюс и минус, а $\sqrt{a_+}$, $\sqrt{a_-}$ - главные значения корней. Таким образом, квадратный корень из паракомплексного числа имеет 4 решения: $$ \begin{array}{c} \sqrt{a_+}S_++\sqrt{a_-}S_- \\ \sqrt{a_+}S_+-\sqrt{a_-}S_- \\ -\sqrt{a_+}S_++\sqrt{a_-}S_- \\ -\sqrt{a_+}S_+-\sqrt{a_-}S_- \\ \end{array} $$ Для второй гиперкомплексной алгебры, алгебры бикомплексных чисел, выражение корня будет таким же, с точностью до определения канонического базиса делителей нуля. А именно, если $$ a=a_0+Iia_1+Ia_2+ia_3 $$ то в качестве орт канонического базиса делителей нуля будут выступать числа $$ S_+=\frac{1}{2}\left(1+Ii\right) $$ $$ S_-=\frac{1}{2}\left(1-Ii\right) $$ и компонентами бикомплексного числа в каноническом базисе будут двумерные комплексные числа. Поскольку сама алгебра комплексных чисел уже не содержит делителей нуля, то дальнейшие рассуждения строятся в точности как для паракомплексных чисел. И, также как для бикомплексного числа будет иметь 4 значения, а если единицу (1) рассматривать как бикомплексное число, то также корней будет 4. О таком необычном эффекте было детально написано также в работе [1], применительно к решению квадратного уравнения.

Выводы


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

Показана причина неоднозначности значений корней и способ определения их количества. Также показано, что корень можно извлечь из любого гиперкомплексного числа.

Изложение материала доводит проблему отыскания корней до непосредственно вычислений на калькуляторе и статья может быть использована в качестве краткого справочного материала и руководства при отыскании корней применительно к задаче определения скалярной проекции гиперкомплексных чисел [3].

Список литературы


[1] В. И. Елисеев. Введение в методы теории функций пространственного комплексного переменного. http://www.maths.ru

[2] Д. Г. Павлов. Гиперкомплексные числа и связанные с ними пространства. http://karataev.nm.ru/pavlov/index.html

[3] Е. А. Каратаев. Скалярная проекция гиперкомплексных чисел. http://karataev.nm.ru/sclpro/index.html

Комментариев нет:

Отправить комментарий