2,4K подписчиков

Классика жанра. Про деление на ноль

1,5K прочитали

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

Удивительное, всë-таки дело, общественное мнение! Невозможность деления на ноль оно воспринимает, как авторитарный запрет, или даже как заговор. Ходят слухи, что учебники не рассказывают о том, почему этого делать нельзя (загляните, и убедитесь, что рассказывают, и вполне удовлетворительно, как в издании 1979 года, так и в 2017-го). А ещё поговаривают, что при делении на ноль получается «бесконечность» (иногда даже с заглавной буквы). И вот это, почему-то многих устраивает, как понятный и верный ответ. Хотя в отличие от нуля, бесконечности среди вещественных чисел нет, классическая гипербола y = 1/x в нуле терпит разрыв, а формальная бесконечная или идеальная точка вводится крайне аккуратно, в специальных случаях и с существенными ограничениями.

И при этом, я думаю, никого не смущает то, что невозможно определить по неподвижной круглой тени на стене, какой формы объект отбрасывает эту тень: шар, эллипсоид, цилиндр или, скажем, бутылка? Можно ли по имени человека определить его рост, а по номеру дома улицу, на которой он расположен? Можно ли, зная что скорость велосипедиста равна 23 км/ч, определить в каком направлении он движется и откуда выкатился? А как исходя только из того, что число чётное, выяснить, что это за число? Во всех этих случаях мы имеем дело с преобразованиями, которые часть информации безвозвратно теряют, отбрасывают. Умножение числа на ноль — одно из таких преобразований и ничего удивительного, что обратное действие невозможно.

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

В алгебре такие преобразования встречаются сплошь и рядом, причём, та часть, которая исчезает (является прообразом нуля) играет особую роль, называется ядром преобразования и участвует в серии важных универсальных теорем.

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

Но, вернëмся к числам. Мы не пойдëм по традиционному пути, представляя арифметические операции над числами через теорию групп и колец. Вместо этого, мы посмотрим на операции с числами, как на геометрические преобразования. Теперь нас будет интересовать не столько число 2, сколько преобразования (+2) или (×2). На что будут действовать эти преобразования? Ну, например, на точки некоторой прямой, или на точки на плоскости. При этом под числом мы, для начала, будем понимать расстояние между точками. Да, мы не определили что такое расстояние, но давайте тут доверимся нашей геометрической интуиции. Это не страница из учебника, а упражнение в смене парадигмы. Расстояния между точками могут быть целыми или рациональными числами (соизмеримыми с некоторой единицей длины) либо иррациональными (несоизмеримым), это здесь совсем неважно. Единственное, что для нас будет важно, расстояние не может быть отрицательным, и если для каких-то точек оно равно нулю, то эти точки совпадают (неотличимы друг от друга, эквивалентны).

Начнём с прямой. У прямой есть одно фундаментальное свойство: не покидая её, по ней можно двигаться в двух и только двух направлениях. Давайте назовём одно из них положительным, а другое — отрицательным. Какое каким — совершенно неважно. Договоримся теперь, что преобразование (+x) смещает прямую так, чтобы она совпала сама с собой, но при этом все точки сместились на расстояние x в положительном направлении. Что уже можно сказать о такой операции?

  1. Ни одна точка при сдвиге не останется на месте.
  2. Мы имеем возможность никуда не сдвигать прямую, применив к ней преобразование 0, которое назовём тождественным преобразованием.
  3. Мы всегда можем вернуть прямую в исходное положение, если совершим преобразование (–x), соответствующее сдвигу в отрицательном направлении.
  4. Для любой точки прямой последовательность сдвигов (–x) и (+x) (и наоборот) равносильна 0.
  5. Преобразования (+0) и (–0) эквивалентны тождественному, то есть, 0.

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

Давайте теперь рассмотрим другое преобразование, после которого прямая также совпадает сама с собой: пропорциональное увеличение или уменьшение (масштабирование) всех расстояний между точками. То есть, будем рассматривать нашу прямую в увеличительное или уменьшительное стекло, либо растягивать еë, как резиновую ленту. Тут есть интересная особенность: при таком преобразовании одна точка обязана остаться на месте! Выделим её и назовём, скажем, A. Пусть при этом (×r) работает так, что точка в которую A попадает при сдвиге (+1), окажется после преобразования на расстоянии r от неё, то есть туда можно попасть, сдвинув A на (+r). Что можно сказать об этом преобразовании?

  1. При масштабировании одна точка обязана остаться на месте.
  2. Мы имеем возможность не увеличивать и не уменьшать прямую, применив к ней тождественное преобразование (×1), при котором точка, бывшая на единичном расстоянии от A не поменяет это расстояние.
  3. Мы всегда можем вернуть все точки прямой в исходное положение, если совершим преобразование (÷r), соответствующее обратному преобразованию.
  4. Для любой точки прямой последовательность масштабирований (×r) и (÷r) (и наоборот) равносильна (×1).
  5. Преобразования (×1) и (÷1) эквивалентны тождественному.
  6. Масштабирование не меняет направления, в котором точки смещены относительно A.

Расстояния всегда положительны, так что умножение на отрицательно число у нас пока никак не определено. Но в этом нам поможет ещё одно движение, сохраняющее расстояния и приводящее к совпадению результата с исходной прямой: это зеркальное отражение относительно некоторой выделенной точки. При этом, опять же, одна точка обязана остаться на месте, а все остальные переходят в другие точки. Если мы выберем некоторую точку A на прямой и применим к ней отражение относительно этой точки, то увидим, что точка, в которую можно было попасть применив сдвиг (+1) попадает в точку, соответствующую сдвигу (–1) и наоборот.

  1. При отражении одна точка обязана остаться на месте.
  2. Мы имеем возможность не отражать прямую, применив к ней тождественное преобразование (×1) или (+0).
  3. Мы всегда можем вернуть прямую в исходное положение, если совершим преобразование отражения относительно одной и той же точки дважды.

Введя выделенную точку, мы готовы избавиться от понятия расстояние, определив его через наши преобразования. Расстоянию между точками A и B соответствует смещение, совмещающее A и B, если B смещено от A в положительном направлении, или композиция отражения относительно A и соответствующего смещения.

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

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

Во-вторых, пока мы не говорим об умножении, ни одна точка на прямой не отличается от прочих. В нуле нет никакой особой «магии», нам не нужна никакая точка отсчёта. Но как только мы собрались масштабировать (умножать или делить) мы вынуждены зафиксировать одну точку на прямой! Все точки, удалённые от неё на расстояние 0 будут неотличимы от неё, и таким образом, мы приходим к «особой» роли тождественного сдвига для масштабирования (нейтрального элемента по сложению для умножения). Из всех точек прямой только эта выделенная точка никуда не переходит при произвольном масштабировании. Таким образом выражение 0×r ≡ 0, то есть, действие (×r) на точку 0, означает, что любое масштабирование оставляет нулевое расстояние от центра нулевым.

А что означает преобразование (×0)? Оно превращает в 0 единицу, так что и все расстояния между всеми точками должны пропорционально уменьшиться до нуля. Это масштабирование «схлопывает» всю бесконечную прямую в точку и не является преобразованием, в котором прямая совпадает сама с собой! Оно, в этом смысле, и не масштабирование вовсе! Именно с этим связаны многочисленные парадоксы вроде 2×0 = 3×0 => 2 = 3. На ноль или эквивалентные ему выражения нужно умножать очень осторожно! И, самое главное, не существует масштабирования, превращающего точку обратно в прямую. Следовательно, не существует и масштабирования (÷0). После схлопывания мы теряем всю информацию о расстояниях на прямой и все точки становятся неотличимыми друг от друга.

Не нужно при этом думать, что 0÷0 = 0, поскольку нулевая точка остаётся неподвижной. Во-первых, такой операции нет, а во-вторых, даже если бы и была, мы всё равно не знаем о какой именно точке, попавшей в ноль при масштабировании (×0), можно вести речь — они там все. Это можно интерпретировать как неопределённость.

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

Что же так сложно-то, воскликнете вы! Простые операции превратили в какие-то преобразования, намудрили с композициями! И это затем чтобы дать «интуицию» в отношении таких понятных вещей, как сложение и умножение? Да, именно так. Такой подход позволяет полностью понять что такое сложение и умножение чисел в самом широком их понимании. Мы не накладывали на числовую систему никаких ограничений, лишь бы она соответствовала числовой прямой. Но система вещественных чисел имеет важнейшее ограничение: она не замкнута относительно операций возведения в степень, и не позволяет найти решение произвольного алгебраического уравнения с вещественными коэффициентами (например, x² + 1 = 0). Чтобы получить полноценную числовую систему, лишённую этих ограничений, нам надо выйти за пределы прямой на плоскость и перейти к комплексным числам. И вот тут-то привычная нам интуиция в отношении арифметики нам уже не помощник. Если сложение опять сводится к сдвигам, то геометрический смысл умножения комплексных чисел уже не получится свести к площадям прямоугольников. В тоже самое время, рассмотрев преобразования плоскости: сдвиг в произвольном направлении, масштабирование, зеркальное отражение и поворот на произвольный угол, мы получим глубокое понимание арифметики комплексных чисел, включающее сложение, умножение и сопряжение, а также полярное представление комплексного числа.

Подробнее здесь об этом я говорить не буду. Скажу лишь про ноль. Умножение на комплексное число соответствует композиции поворота и масштабирования. И масштабирование и поворот плоскости обязаны оставить одну точку неподвижной. Выделив её, мы вновь приходим к тому, что совпадающие с ней точки (удалённые на нулевое расстояние, или смещённые на 0+0i ≡ 0) не изменяются при умножении. Однако масштабирование на (×0) в композиции с любым поворотом необратимо схлопывает всю комплексную плоскость в точку, соответствующую смещению центра масштабирования на 0, то есть, в ноль. И обратно уже не выбраться. Так что масштабирования (÷0) тут тоже не существует. Такими же «забывающими» операциями для комплексных чисел могут быть взятие вещественной части, модуля или аргумента числа.

В линейной алгебре, ещё более общей, чем комплексные числа, тоже есть ноль и есть схлопывающие пространство преобразования (определитель матриц, соответствующих таким преобразованиям, равен нулю), которые никак не удастся обратить назад (отбрасывание тени на стену, то есть, проекция на подпространство — из их числа). Так что повторюсь, особенности нуля не свойство чисел, а свойство операций над ними.

Вернусь, напоследок, к понятию ядра преобразования. Применительно к вещественным числам, ядром операции умножения является либо ноль, либо всë множество чисел целиком, что даëт представление о единственно возможных идеалах в числовом поле. В то же время, в кольце целых чисел ℤ операция взятия остатка от деления на число n имеет ядром идеал nℤ, с помощью которого можно получить полезное кольцо вычетов. Для проецирования тени на стене ядро — это подпространство ортогональное плоскости стены. Когда мы решаем уравнение, f(x) = 0, то отыскиваем ядро функции f и именно это подмножество области определения часто является источником существенной информации о функции. В случае многочленов, оно позволяет его факторизовать, то есть, разбить на множители. В группах и кольцах ядро гомоморфизма позволяет выделять нормальные подгруппы и идеалы и тоже помогает в их факторизации. Обобщения понятия ядра используют и в топологии и в теории категорий.

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

────────────────────────

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

Давайте формировать информационную среду вместе!