Поговорим о том, как научить числа дифференцированию и какие альтернативные комплексные числа можно придумать.
В этой серии статей мы учимся строить арифметики, и знакомимся с инструментами абстрактной алгебры: факторизацией, прямым произведением, расширениями и представлениями.
Обзор пройденного пути
Мы нащупали конструктивный способ строить новые арифметики с помощью расширения известных арифметик. Расширение подразумевает добавление в числовую систему элемента, которого там не существует, и который можно считать линейно независимым по отношению к любому элементу в этой системе.
Линейная независимость двух величин x и y означает, что их линейная комбинация ax + by может быть равна нулю, только если равны нулю оба коэффициента a и b.
На этом этапе уже можно запутаться. Если все величины a, b, x и y принадлежат одной арифметике, то есть представляют собой однородные числа, то как различить кто на кого умножается и кто от кого независим?
Поначалу мы использовали пары, которые создавали эти две независимые компоненты "векторным" образом. Действительно, двумя ортогональными, то есть, независимыми базисными компонентами арифметики могли бы быть элементы (1, 0) и (0, 1), которые, в линейной комбинации давали любое число:
Этот абсолютно векторный подход ничего не говорит нам о свойствах базисных элементов, которые "навешиваются" искусственно через определение специфической операции умножения.
Развивая линейный подход к арифметике, мы пришли к тому, что начали рассматривать элементы арифметики, уже не как векторы или точки, а как линейные преобразования, или действия над ними. Тогда композиция этих действий будет представлять произведение элементов арифметики, а вместо чисел можно рассматривать матрицы, представляющие линейные преобразования. Таким образом, вся информация о свойствах базовых элементов и, соответственно, всей арифметики, заключается в матрицах, представляющих эти элементы.
В качестве примеров, мы рассмотрели представления целых и гауссовых чисел, в которых один элемент это единичная матрица, представляющая элемент расширяемой арифметики, а второй, расширяющий элемент это матрица с необходимыми мультипликативными свойствами. В случае расширения натуральных чисел до целых, это матрица
которая представляет число –1. А в случае гауссовых чисел это матрица
которая при возведении в квадрат даёт единичную матрицу, умноженную на –1, и таким образом, представляет мнимую единицу i.
А что ещё?
Какие ещё осмысленные арифметики можно построить, из линейной комбинации единичной матрицы и матрицы
в которой числа a и b принадлежат какой-то числовой системе?
Все матрицы такого вида имеют одно важное свойство, при возведении в квадрат, они порождают матрицу, пропорциональную единичной:
Таким образом, эти матрицы представляют решения уравнения:
В которой произведение ab — присутствует в арифметике, а какой-либо из корней этого квадратного уравнения в ней найти невозможно.
В частности, с помощью матриц такого вида можно добавить к целым числам корень из любого целого, не являющегося квадратом. Скажем, так может выглядеть матрица, представляющая √5:
А так строится представление для расширения целых чисел ℤ(√5):
Большого практического смысла такие арифметики не имеют, и встречаются в основном, в задачниках по теории чисел или теории Галуа, но, по крайней мере, теперь понятно, откуда взялись матрицы, представляющие –1 и i, как корни соответствующих квадратных уравнений.
А что если одно из чисел a или b будет равно нулю? В этом случае мы получим представление для любопытного числа, отличного от нуля, но дающего ноль, при возведении в квадрат:
Своеобразный зверь, давайте посмотрим для чего бы он мог пригодиться.
Дуальные числа
Расширяя поле вещественных чисел необычным числом ε, мы получаем арифметику дуальных чисел. Интерпретировать математический объект ε можно, как "бесконечно малую величину", которая исчезает во всех степенях, превышающих первую. Её называют инфинитезимальной величиной.
Исчисление бесконечно малых приводит к математическому анализу, и дуальная арифметика непосредственно с ним связана: при вычислении какого-либо дробно-рационального выражения R(x + ε), вещественная часть будет равна значению R(x), а дуальная даст значение первой производной от этого выражения:
Эта техника называется автоматическим дифференцированием, и не предполагает никаких операций, кроме базовой арифметики и действий над матрицами. Посмотрим на несколько примеров:
Здесь I обозначает единичную матрицу, то есть, вещественное число, а минус первая степень — обращение матрицы. Это был пример символьных матричных вычислений, но смысл автоматического дифференцирования состоит в том, что эти же вычисления можно провести исключительно в числах "ничего не зная" о производных.
Здесь все вычисления это простые матричные операции с числами, с которыми справится любой инженерный калькулятор или язык программирования. После небольшой доработки в дуальных числах можно вычислять и трансцендентные функции: экспоненты, логарифмы, тригонометрию и так далее. особенно эффективны такие вычисления для глубоко вложенных функций.
Алгебра рулит!
Двойные числа
Уравнение x² = 1 имеет два очевидных корня x = ±1. Когда мы строили кольцо целых чисел из полукольца натуральных, мы использовали отношение эквивалентности и факторизовали с его помощью арифметику для пар. А что если отказаться от факторизации и расширить поле вещественных чисел с помощью элемента
то есть, построить такое расширение:
От представления целых чисел, это, как кажется, ничем не отличается, но теперь все элементы матрицы могут быть вещественными числами, а не только натуральными. Такие числа называют двойными, паракомплексными или гиперболическими числами. Сразу скажу, что какими-то удивительными свойствами эта арифметика вас не поразит. В ней есть делители нуля, но после знакомства с кольцами вычетов, это нормально, и они нам ещё пригодятся. Тем не менее, она используется во множестве физических приложений от квантовой физики до релятивистской механики, но только потому, что в матричном представлении некоторые действия формулируются компактнее.
Нас, в контексте знакомства с числовыми системами, должно заинтересовать то, что двойные числа оказались по какой-то причине связаны с целыми числами. Как мы уже упоминалт, даже если мы построим арифметику двойных чисел на базе полноценного числового поля, она будет неполноценной, поскольку в ней есть необратимые элементы и делители нуля. Действительно для любых значений a и b:
что делает эту арифметику кольцом.
А теперь вспомним, что когда мы определяли кольцо целых чисел, как множество пар натуральных чисел, то вводили отношение эквивалентности, (n + a, n + b) ~ (a, b), которое пару одинаковых элементов (n, n) отождествляли с нулём. На языке представлений это отношение выглядит так:
Таким образом, мы можем заключить, что кольцо целых чисел — это кольцо двойных чисел над натуральными числами, факторизованная множеством делителей нуля. А вот это уже красивое алгебраическое утверждение!
* * *
В следующий раз мы посмотрим ещё на пару арифметик, построенных на матричных представлениях (числа Эйзенштейна и расширение целых чисел золотым сечением) и дадим полную классификацию двухкомпонентых линейных числовых систем.