воскресенье, 17 августа 2014 г.

Почему нельзя делить на ноль, даже если очень хочется?

Недавно на Хабре появилась удивительная статья «Папа, а почему на ноль делить нельзя?», которая собрала массу не менее удивительных комментариев. 

Детские вопросы обычно очень сложны ("Почему небо ночью темное?", "Почему яблоки падают на землю?") и у взрослых обычно не хватает времени, чтобы их доходчиво объяснить. 
Да и не всегда взрослые знают ответ на эти вопросы. 

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

График гиперболы в интервале [0,1,10],
полученный при помощи системы Maxima
Самые серьезные сомнения появляются, я думаю, после изучения рациональных чисел, когда для любого числа \(x\), кроме нуля, вводится понятие обратного числа \(1/x\), и графика гиперболы \(y(x) = 1/x\). 

Очевидно, что при делении 1 на очень маленькие числа появляются очень большие числа, и чем меньше мы берем \(x\), тем больше становится \(1/x\). Почему же мы не можем сказать, что \(1/x = \infty\) - есть некоторое число?

Алгебраическое возражение против этого состоит в следующем. Предположим, что \(\infty = 1/x\) является числом. Тогда на это число должны распространяться все правила, которые имеют место быть для обычных чисел. В частности, с одной стороны должно быть верно соотношение \(0\cdot\infty=1\) , а с другой стороны поскольку \(0 = 1-1\) должно быть выполнено \(0\cdot\infty = 1\cdot\infty - 1\cdot\infty = 0\). Таким образом, имеем \(1 = 0\), а из этого уже следует, что все числа равны между собой и равны нулю. В самом деле, поскольку для любого числа \(x\) верно \(1\cdot x = x\), то \(1\cdot x = 0 \cdot x = 0\). 

«Ну разве это не полная чушь?» — спросим себя, добравшись до этого места.

Разумеется, это полная чушь, если мы говорим об обычных числах. Но я недаром подчеркнул выше слово «правила». К ним мы вернемся чуть позже, после рассмотрения арифметического возражения против деления на ноль, и поможет нам в этом фасоль. 

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

Для этого берем чашу с фасолью, символизирующую натуральный ряд, и высыпаем из нее какое-то количество зерен на разлинованный лист бумаги: 




Тем самым, мы установили делимое на нашем бобовом калькуляторе.

Задача состоит в том, чтобы разложить эти зерна на пять рядов. Чтобы не запутаться отмечаем эти ряды, то есть, устанавливаем делитель



Теперь раскладываем зерна из кучи на пять рядов в столбик. Это значительно дольше, чем на обычном калькуляторе, зато позволяет почувствовать всю прелесть арифметики до изобретения позиционной системы счисления.


Алгоритм завершается, когда мы получаем некоторое прямоугольное число и (возможно) остаток: 



В данном примере осталось 2 зерна, а рядов по 5 зерен образовалось 18. Получается, что случайное число было \(18 \cdot 5 + 2 = 92\).

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

«Подождите!» — скажет внимательный читатель. — «В рассмотренном примере мы получили остаток 2, что с ним делать?»

Это, на самом деле, очень важное замечание. Вообще говоря, мы не можем делить фасолины, не испортив наш бобовый калькулятор — мало того, что разделить 2 фасолины на 5 одинаковых частей проблематично, даже если мы их раздробим подобающим образом, мы уже не сможем их собрать.


Поэтому достаточно долго люди старались обходиться без дробей. Например, в анонимной арабской рукописи XII века описана следующая задача: «разделить 100 фунтов между 11 человеками». Поскольку \(100=11 \cdot 9 + 1\), средневековый математик предлагает сначала раздать каждому по 9 фунтов, а затем обменять оставшийся фунт на яйца, которых, как оказывается по курсу обмена, получается ровно 91. Но \(91 = 11\cdot8 + 3\), поэтому арабский ученый предлагает раздать каждому по 8 яиц, а три оставшихся яйца отдать тому, кто производит раздел, или же обменять на соль к яйцам.


Говоря современным математическим языком, деление проводилось в полукольце натуральных чисел. Впрочем, с таким же успехом, используя красную и белую фасоль, мы могли бы определить деление с остатком и в кольце целых чисел  — в изложенном алгоритме появились бы дополнительные правила для выбора цветов используемых для вычислений зерен фасоли, но точно так же остались бы бессмысленными операции вида \(x/0\) и \(5/2\).

Очевидно, что для того, чтобы придать символу \(5/2\) конкретный смысл, нужно изменить правила игры, и перейти к полю рациональных дробей, пополнив множество целых чисел всевозможными выражениями \(m/n\), где \(m\) - целое, а  \(n\) - натуральное.

Важно заметить, что сделать это можно не единственным способом, однако в классической арифметике рассматривается такое пополнение, в котором символ \(1/n\) означает долю от деления 1 на \(n\), т. е. такое число, для которого верно выражение \(n \cdot 1/n =1\); при чем доли имеют смысл не при подсчете штучных предметов (например, зерен фасоли), а при измерении величин, которые предполагаются непрерывными (или хотя бы неограниченно делимыми) - длин отрезков, площадей фигур и т. д.

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

В самом деле, пусть требуется разделить рациональное число \(\alpha = {p}/{q}\) на \(\beta = {r}/{s}\). Это равносильно выполнению следующих действий:

\(\alpha:\beta = {p}/{q} : {r}/{s} = {p\cdot s}/{q\cdot r}\)

и задача при любых рациональных \(\alpha\) и \(\beta\) свелась к уже известной процедуре деления целых чисел. Это еще раз показывает, что деление на ноль не имеет никакого арифметического смысла.

«Получается, делить на ноль нельзя, даже если очень хочется?» — увы, ответ на этот вопрос положительный: мы не можем определить операцию деления на ноль исходя их естественных потребностей счета и измерений.  Правда, есть две лазейки.

Первая: вместо «обычных» чисел (т.е. кольца натуральных и поля рациональных, а также поля действительных чисел, о котором я, кстати, до сих пор не сказал ни слова и расскажу как-нибудь в другой раз) рассмотреть вырожденный случай — тривиальное кольцо \({0}\), и положить по определению \(0/0 = 0\). В этом случае, когда нам говорят: «Все числа равны между собой и равны нулю!» - мы можем сказать невозмутимым тоном: «Ну и что? Это всегда было так».

Вторая: отказаться от некоторых привычных правил умножения. В частности, от аксиомы \(0 \cdot x = 0\). Говорят, что это возможно (см. http://en.wikipedia.org/wiki/Wheel_theory). Разумеется, этот вариант гораздо интереснее первого, но и он представляет собой такое изменение правил игры, которое сразу выводит нас за рамки классической арифметики.

В заключение этой заметки, хочу привести список литературы для тех, кто заинтересовался числовыми системами: 

— И .В. Арнольд «Теоретическая арифметика», М, ОГИЗ 1938 — очень подробная и детальная книга, в которой можно найти описания классических числовых систем, включая кватернионы.
— Е. Г. Гонин «Теоретическая арифметика», М, 1959 — эта книга покороче и посовременнее, и тоже очень хороша, хотя не так подробна, как книга И.В. Арнольда.С. Феферман «Числовые системы» — классическая монография, местами достаточно сложная; в ней изложены некоторые частные вопросы, которых нет в двух других книгах по теоретической арифметике.

— А. А. Кириллов «Что такое число?» (1993) — небольшая брошюра, рассчитанная на подготовленного читателя.

— Е. Б. Дынкин, В. А. Успенский  «Математические беседы» — популярная книга, рассчитанная на школьников. Содержит массу информации и задач по такой «нестандартной» теме, как p-адические числа.

среда, 13 августа 2014 г.

Счеты и соробан

Эта заметка была опубликована в 02.03.2011 года в моем старом сумбурном блоге, который был ранее доступен по тому же адресу (blog.sandovin.name), а теперь отправлен в архив. Совершенно неожиданно, я обнаружил, что на нее есть ссылка в статье "Соробан" русской Википедии, причем ведет она на совсем другой текст. Исправляю это безобразие. 
Я уже писал в своем блоге о логарифмических линейках, теперь настало время поговорить о счетах. Давно ли вы считали на счетах? Есть ли у вас счеты дома? Можете ли вы подсказать, где можно купить счеты, и не детскую игрушку, а взрослый 20-разрядный конторский прибор?

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

К сожалению, в связи с повсеместным внедрением калькуляторов, "русский счет" вышел из употребления в той же степени, что и логарифмические линейки. Последним известным мне местом, где счеты продержались дольше всего, был один маленький, можно сказать, деревенский продовольственный магазинчик. 


Но и там изящный счетный прибор с отполированными от частого и долгого употребления деревянными костяшками еще лет пять тому назад заменил калькулятор CITIZEN. И хотя последний перед вводом в действие был самым провинциальнейшим образом обвернут полиэтиленом, это не помешало ему превратиться вскоре в замызганный кусок пластмассы (такова судьба всех калькуляторов в продовольственных магазинах).

Японским счетам - соробану - повезло куда больше, чем русским.


Соробан не только не забыт в Японии, но и продолжает завоевывать популярность за ее пределами. И хотя в России соробанный счет является малоизвестным, любители соробана есть и у наc.

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


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

Как бы то ни было, основанная около 90 лет назад японская компания Tomoe Soroban до сих пор продолжает производить и продавать счеты, некоторые из которых стоят более 600 долларов, то есть дороже чем многие смартфоны и планшеты.

Но владельцам iPhone повезло, поскольку для него существует прекрасный программный эмулятор:

Поговорим о логарифмических линейках

Эта заметка была опубликована в 01.10.2011 года в моем старом сумбурном блоге, который был ранее доступен по тому же адресу (blog.sandovin.name), а теперь отправлен в архив. По-хорошему, ее нужно полностью переписать; но в ближайшее время я до этого не доберусь, и в связи с этим, публикую в прежнем виде. 
Это уже случалось лет двадцать тому назад, но история повторяется, и вот - уже мои дети находят в одном из ящиков шкафа странный прибор, и начинают задавать вопросы, которые я сам задавал когда-то: "Папа, что это такое? Можно этой линейкой чертить?" 

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

-А ты умеешь на ней считать?

-Да, конечно. Смотри. Вот, допустим, я хочу умножить 23 на 78. Я ставлю визир на 23, двигаю бегунок, еще раз двигаю визир и читаю ответ: 1,7,9 и... кажется, 4. Бегунок двигали влево, значит, порядки складываем - ответ 1794! Но сегодня это искусство уже никому не нужно.

-А почему?

-Ну вы же сами знаете про цифровые калькуляторы. Кто будет сейчас возиться со счетными палочками?

И правда - кто? Найти сегодня логарифмическую линейку трудно, но цифровые вычислительные машины позволяют моделировать аналоговые, интернет велик, и кто ищет - тот всегда найдет. И мы очень быстро нашли "Derek's Virtual Slide Rule Gallery", виртуальный музей, все экспонаты которого вполне работоспособны.


среда, 6 августа 2014 г.

Хладнокровные и прыгающие числа

Беглый просмотр последовательности \(\{K(n) := [1,2,...,n]\}\) позволяет сказать, что цепочки повторов и скачков длины \(l\) (см. запись о повторах и скачках) встречаются в этой последовательности не в единственном экземпляре.

Более того, можно предполагать, что для любого \(l\in\mathbb{N}\) такие цепочки существуют и повторяются неограниченное множество раз. 

Исходя из этого предположения, я буду называть числа, с которых начинаются цепочки повторов длины \(l\) хладнокровными (это название им подходит, поскольку далее они сохраняют постоянство) и обозначать их как \(C(l,n)\), где \(n=1,2,3\dots\) - номер очередного числа в последовательности хладнокровных чисел; числа, с которых начинаются цепочки скачков длины \(l\)  я буду называть прыгающими (их можно было бы назвать "скачущими числами", но такой термин представляется мне вульгарным) и обозначать их как  \(J(l,n)\), где \(n=1,2,3\dots\) - номер очередного числа в последовательности прыгающих чисел.

Таким образом, приходим к следующим любопытным вопросам:

  • Действительно ли для любого \(l\ge1\) существуют хладнокровные и прыгающие числа? 
  • Каковы последовательности хладнокровных  \(C(l,n)\) и прыгающих  \(J(l,n)\) чисел?
  • Как часто встречаются хладнокровные и прыгающие числа?
  • Как соотносятся \(C(l,n)\) и \(J(l,n)\) при различных \(l\) и \(n\), т. е.  какой знак имеет выражение \((C(l,n)-J(l,n)\))?

Характер роста первых шести прыгающих чисел \(J(1,n)\) показывает следующая последовательность:  

\(J(1,1)=K(10)=2520\), 
\(J(1,2)=K(13)=360360\),
\(J(1,3)=K(18)=12252240\),
\(J(1,4)=K(22)=232792560\),
\(J(1,5)=K(24)=5354228880\),
\(J(1,6)=K(26)=26771144400\).

Повторы и скачки

Пусть \(K(n)\) — наименьшее из чисел, которые делятся на \(1,2,3,..., n\).

Выпишем несколько членов этой последовательности (больше можно увидеть в энциклопедии OEIS - см. последовательность A003418):

\(1, 2, 6, 12, 60, 60, 420, 840, 2520, 2520, 27720, 27720, 360360, 360360, 360360, 720720,...\).

Очевидно, что \(K(n)\) монотонно возрастает: при любом натуральном \(n\) верно неравенство \(K(n+1)\ge K(n)\). В тех точках, где неравенство строгое будем говорить, что \(K(n)\) делает скачок. 

Однако, в некоторых случаях возникают цепочки повторов длины \(l\): 

\(K(n-1)<K(n)=K(n+1)=K(n+2)=...=K(n+l-1)<K(n+l)\).

Обозначим через \(C(l)\) наименьшее из чисел \(K(n)\), с которых начинается цепочка повторов длины \(l\).

Ясно, что \(C(2) =60, C(3) = 360360\).

Спрашивается, каковы \(C(4), C(5), C(6),...\)?

Еще интереснее вопрос о цепочках скачков. 

Если \(J(l)\) — наименьшее из чисел \(K(n)\), с которого начинается цепочка скачков длины \(l\), то есть имеет место 

\(K(n-1)=K(n)<K(n+1)<K(n+2)<...<K(n+l-1)=K(n+l)\),

то каковы \(J(2), J(3), ...\)? 

Если, как это указано в OEIS, положить по определению \(K(0):=1\), то можно сказать, что \(J(5)=1\); также очевидно, что \(J(4)=60\).

И последний, самый интересный вопрос: что встречается чаще — цепочки повторов или цепочки скачков? 

вторник, 5 августа 2014 г.

Несколько простых тождеств с гармоническими числами

В качестве упражнения вывел несколько простых тождеств с гармоническими числами.

Не уверен, что они новы и сильно полезны; но с другой стороны и в полной их бесполезности уверенности нет.

Поэтому решил опубликовать их здесь.

Первое тождество совсем тривиально:

\((H_n)^3 \equiv \sum_{i=1}^n\sum_{j=1}^n\sum_{k=1}^n\frac{1}{ijk}\).

Остальные несколько сложнее, но тоже практически очевидны:

\(\sum_{i=1}^n\sum_{j=1}^{n-1}\sum_{k=j+1}^1\frac{1}{ijk}\equiv \frac{1}{2}H_n(H_n^2-\zeta_n(2))\);

\(\zeta_{n}(2) \equiv (H_{n})^2-\sum_{k=1}^{n-1}\frac{2H_k}{k+1}-1\);

\(H_{n^2} + 1 \equiv (H_n)^2 + \sum_{k=1}^{n-1}\left(H_{(k+1)^2-1} - \frac{2H_{k}}{k+1} - H_{k^2}\right)\),

где \(H_n := \sum_{k=1}^n\frac{1}{k}\) - \(n\)-ое гармоническое число, \(\zeta_{n}(2) := \sum_{k=1}^{n}\frac{1}{k^2}\).