habrahabr

Делить на ноль — это норма. Часть 1

  • вторник, 13 января 2015 г. в 02:11:36
http://habrahabr.ru/post/247635/

Говорят, можно поделить на ноль если определить результат деления на ноль. Просто нужно расширить алгебру. По странному стечению обстоятельств найти хоть какой-то, а лучше понятный и простой, пример такого расширения не удается. Чтобы исправить интернет нужна либо демонстрация одного из способов такого расширения, либо описание почему это не возможно.



Статья написана в продолжение тренда:

Disclaimer


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

Понимание принципов арифметики, элементарной, общей и линейной алгебры, математического и нестандартного анализа, теории множеств, общей топологии, проективной и аффинной геометрии — желательно, но не обязательно.

В ходе экспериментов ни одна бесконечность не пострадала.

Пролог


Выход «за рамки» — это естественный процесс поиска новых знаний. Но не всякий поиск приносит новое знание и следовательно пользу.

1. Вобще-то уже все поделили до нас!


1.1 Афинное расширение числовой прямой


Начнем с того, с чего начинают, наверное, все искатели приключений при делении на ноль. Вспомним график функции .

Слева и справа от нуля функция уходит в разные стороны «небытия». В самом нуле вообще “омут” и ничего не видно.

Вместо того, чтобы бросаться в «омут» с головой, посмотрим что туда втекает и что оттуда вытекает. Для этого воспользуемся пределом — основным инструментом математического анализа. Основная “фишка” в том, что предел позволяет идти к заданной точке так близко, как это возможно, но не “наступить на нее”. Такая себе “оградка” перед “омутом”.


Оригинал

Хорошо, «оградку» поставили. Уже не так страшно. У нас есть два пути к «омуту». Зайдем слева — крутой спуск, справа — крутой подъем. Сколько к “оградке” не иди, ближе она не становится. Пересечь нижнее и верхнее «небытие» никак не выходит. Возникают подозрения, может мы идем по кругу? Хотя нет, числа-то меняются, значит не по кругу. Пороемся в сундучке с инструментами математического анализа еще. Кроме пределов с «оградкой» в комплекте идет положительная и отрицательная бесконечности. Величины совершенно абстрактные (не являются числами), хорошо формализованы и готовы к употреблению! Это нам подходит. Дополним наше «бытие» (множество вещественных чисел) двумя бесконечностями со знаком.


Математическим языком:
Именно это расширение позволяет брать предел при аргументе стремящемся к бесконечности и получить бесконечность в качестве результата взятия предела.

Есть два раздела математики которые описывают одно и тоже используя разную терминологию.

С геометрической точки зрения выполнено аффинное расширение числовой прямой. То есть привычная последовательность вещественных чисел “сжата” так, чтобы можно было оперировать границами этой последовательности. В качестве границ (условных) введены две абстрактные бесконечно большие величны. Расширение аффинное, но это не значит что оно пришло из Греции, это значит что сохраняется относительное положение точек (в нашем случае чисел) на прямой. Отсюда и следует, что сохраняются отношения “больше” и ”меньше” как для чисел между собой, так и в сравнении с границами.



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


1.2 Проективное расширение числовой прямой


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



Попробуем состыковать обе границы «бытия» так, как это делали наши предки. Перейдем на одно измерение выше. Отобразим одномерную линию на двумерной плоскости.



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




Эта стыковка очень похожа на линию перемены даты находящуюся (в основном), между часовыми поясами UTC+12 и UTC-12 в Тихом океане. Именно там находится телепорт из сегодня во вчера и из сегодня в завтра. У нас же телепорт из сверхмалых в сверхбольшие.

Математическим языком:
По факту это самостоятельное расширение, проведенное над исходным множеством вещественных чисел. Данное расширение не основывается на рассмотренном ранее аффинном расширении.

С геометрической точки зрения выполнено проективное расширение числовой прямой (есть информация на wolfram.com). То есть введена идеализированная точка которая соединяет оба конца вещественной прямой. Так как расширение не аффинное, сравнение вещественных чисел с бесконечностью не определено.

С точки зрения общей топологии выполнена одноточечная компактификация числовой прямой путем добавления идеализированной точки (бесконечности без знака).

Аналогичным расширением над полем комплексных чисел является широко известная в математических кругах Сфера Римана.

Хорошо, избавились от знака минус. Однако в нуле у нас разрыв второго рода и устранимой точкой разрыва его нельзя считать по определению. Нарушается требование «конечности» предела. Соответственно мы не можем судить о равенстве предела справа и слева.

Но так как приближение к бесконечности выполняется по одинаковым правилам, мы можем утверждать что пределы слева и справа совпадают. Соответственно мы можем принять наш разрыв за точку устранимого разрыва в бесконечности.

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


Аналогичная ситуация при нахождении производных


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


Однако одинаковая запись результата взятия предела не свидетельствует о их равенстве. Данные бесконечности разного порядка и это подтверждается отсутствием конечного предела в отношении одной функции к другой.


В нестандартном анализе такие упрощения не допустимы. Поле вещественных чисел расширяется путем введения гиперреальных чисел. Бесконечно малые представлены в виде привычного значения — ноль, но в довесок хранится вся выкинутая “мелочевка”. Для бесконечно больших потенциальная бесконечность (две или одна — неважно), разбивается на множество актуальных бесконечностей. С одной стороны мы усложняем (теряем возможность поглощения/пренебрежения). С другой стороны мы приобретаем возможность сравнения бесконечно малых и бесконечно больших величин. А это значит что мы можем рассматривать бесконечности как числа.


Для функции актуальные бесконечности слева и справа от нуля равны (по модулю, т.е. не учитывая знак), так как:
  • с обеих сторон путь (количество элементов, которые нужно пройти) от нуля до бесконечности одинаков;
  • алгоритм приближения (формула в виде дроби) одинаков;
  • знак минус в алгоритме не влияет на скорость или ускорение приближения к бесконечности.

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

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

Хорошо, пределы совпадают, теперь похоже, все готово для устранения разрыва между ними.


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


Создается впечатление что наша задача решена. Однако не будем спешить, посмотрим к каким последствиям это привело. В дополнение к делению в системе определены следующие операции (напомним, что бесконечность беззнаковая).


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

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

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

Подытожим:
  1. Изменилось привычное поведение тождеств. Чтобы ими оперировать нужно не забывать про новые дополнительные условия.
  2. Искажено привычное поведение нуля. Мы привыкли рассуждать, если ноль раз взять что-либо, то будет ноль. Однако в данной алгебраической системе произведение нуля на бесконечность не определено. Соответственно алгебраическое выражение с переменными, в котором встречается например такая запись , не может быть упрощено в одностороннем порядке.
  3. Исчезает возможность привычного сравнения. Сравнение на больше-меньше определено только на части пространства. Например, сравнение вещественных чисел с бесконечностью не определено.
  4. Полученная алгебраическая структура не поле в терминах общей алгебры. Нарушается дистрибутивный закон (показано выше). Так же не существует обратного элемента для бесконечности (произведение этого элемента и бесконечности должно дать единицу). Последние можно рассматривать как следствие неопределенности деления бесконечности на бесконечность. Но все же следует понимать что это грубое упрощение. Строгое определение обратного элемента не связано с операцией деления.

В сухом остатке. Старые подходы перестали работать. Сложность системы, в виде кучи “если”, “для всех, кроме” и т.п., возросла. У нас было только две неопределенности 1/0 и 0/0 (мы не рассматривали степенные операции), стало пять. Раскрытие одной неопределенности породило еще больше неопределенностей.


1.2 Колесо


На введении беззнаковой бесконечности все не остановилось. Для того чтобы выбраться из неопределенностей нужно второе дыхание.

Итак, у нас есть множество вещественных чисел и две неопределенности 1/0 и 0/0. Для устранения первой мы выполнили проективное расширение числовой прямой (то есть ввели беззнаковую бесконечность). Попробуем разобраться со второй неопределенностью вида 0/0. Сделаем аналогично. Дополним множество чисел новым элементом, представляющим вторую неопределенность.

Определение операции деления основано на умножении. Это нам не подходит. Отвяжем операции друг от друга, но сохраним привычное поведение для вещественных чисел. Определим унарную операцию деления, обозначаемую знаком "/".


Доопределим операции.


Данная структура называется «Колесом» (Wheel). Термин был взят из-за схожести с топологической картинкой проективного расширения числовой прямой и точки 0/0.

Вроде все неплохо выглядит, но дьявол кроется в деталях:
  • Умножение ∞ либо ⊥ на ноль не дает ноль. Это приводит к тому что в общем случае.
  • Для ∞ и ⊥ отсутствуют обратные элементы по обеим бинарным операциям. Это значит, что по умножению в общем случае. Как следствие, нет возможности ввести бинарную операцию деления покрывающую все пространство.
  • Симметричная ситуация по сложению, в общем случае.

Чтобы устаканить все особенности, дополнительно к расширению множества элементов прилагается бонус в виде не одного, а двух тождеств, описывающих дистрибутивный закон.


Математическим языком:
С точки зрения общей алгебры мы оперировали полем. А в поле, как известно, определены всего две операции (сложение и умножение). Понятие деления выводится через обратные, а если еще глубже, то единичные элементы. Внесенные изменения превращают нашу алгебраическую систему в моноид как по операции сложения (с нулем в качестве нейтрального элемента), так и по операции умножения (с единицей в качестве нейтрального элемента).

В трудах первооткрывателей не всегда используется символ ⊥. Вместо этого можно встретить запись в виде 0/0.

Мир уже не так прекрасен, не правда ли? Все же не стоит спешить. Проверим, справятся ли новые тождества дистрибутивного закона с нашим расширенным множеством .


На этот раз результат намного лучше.

Подитожим:
  1. Все операции хорошо определены и нет возможности «вывалиться за борт».
  2. Элементарная алгебра является частным случаем колеса. Если мы отбросим надстройки ∞ и ⊥ (то есть снова сможем утверждать что и ), то все формулы выродятся в привычные.
  3. По ощущениям все что было “не определено” (Undefined) при проективном расширении было обозначено символом . Данный объект так же поглощает все с чем столкнется как и “не определено”. Все щели, где появились неопределенности при проективном расширении, были заткнуты данным объектом.

В сухом остатке. Алгебра работает отлично. Однако за основу было взято понятие «не определено» которое стали считать чем-то существующим и оперировать им. Однажды кто-нибудь скажет, что все плохо и нужно разбить данное «не определено» еще на несколько “не определено", но помельче. Общая алгебра скажет: “Без проблем, Бро!".
Примерно так постулированы дополнительные (j и k) мнимые единицы в кватернионах.

Стоит отметить что существуют и другие агебраические системы с делением. Например, «луга» (common meadows). Они чуть проще, так как не расширяют пространство, вводя новые элементы. Цель достигается как в колесах, трансформацией операций сложения и умножения, а так же отказом от бинарного деления.

Возможность «передвигать неизвестные» для математики норма. Но все эти обертки не дают ответа на главный вопрос, что же там внутри?


Полезная литература