Anatoly Vorobey (avva) wrote,
Anatoly Vorobey
avva

Category:

о действительных числах

Ох, красивая штука. Придуманный недавно (лет 20 назад) новый способ строить действительные числа прямо из целых, не проходя через рациональные. Реальной математической пользы никакой нет, всё равно получаем то же самое поле R, но красиво и интересно с философской точки зрения.

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

Можно посмотреть на множество всех рациональных чисел Q и разбивать его на две части так, чтобы все числа в первой части были меньше всех чисел во второй (и, кроме того, в первой части нет наибольшего числа); как бы “рассекать” рациональную прямую пополам. Такое разбиение называется сечением Дедекинда, и каждое сечение считается отдельным действительным числом, а вместе они образуют поле действительных чисел (учитывая тот факт, что разбиения можно складывать — складывая отдельно их меньшую и большую части — и умножать). В этом поле есть место для копий всех рациональных чисел: для каждого рационального числа x есть разбиение, в первую часть определяющее все рациональные числа, меньшие x, а во вторую — x и числа больше его. Можно считать это разбиение рациональным числом x. Но есть в этом поле и сечения, не соответствующие ни одному исходному рациональному числу: например, разбиение, в первую часть определяющее все отрицательные числа и все положительные, квадрат которых меньше 2, а во вторую — все положительные, квадрат которых больше двух, и будет тем, что мы называем “квадратный корень из двух”, и не будет соответствовать ни одному рациональному числу.

Можно строить рациональные числа по-другому, с помощью последовательностей Коши. Любая последовательность рациональных чисел, сходящаяся к какому-то рациональному пределу (как, например, последовательность 1/2, 2/3, 3/4, 4/5, 5/6, ... сходится к единице), т.е. продвигающаяся к нему неограниченно близко (это не совсем точное определение, но неважно), является также последовательностью Коши: это значит, что её члены становятся близки друг к другу тоже неограниченно близко, по мере продвижения по ней. Но обратное неверно: можно построить последовательность Коши, состоящую из рациональных чисел, всё время приближающихся друг к другу, но не стремящихся при этом ни к какому рациональному пределу: их предел как бы попадает в “дырку”. Например, последовательность 1, 1.4, 1.41, 1.414, 1.4142 и так далее (выписывая постепенно десятичное разложение корня из двух) не имеет рационального предела, хоть её члены приближаются друг к другу неограниченно близко. Если нам позволено смотреть только на рациональные числа, у неё нет предела. Можно поэтому перевернуть ситуацию с ног на голову и определить действительное число как такую последовательность Коши; тогда, например, последовательность 1, 1.4, 1.41, 1.414 будет числом “корень из двух” (точнее, одному действительному числу будут соответствовать много разных последовательностей, несущественным образом отличающихся друг от друга, но эта проблема легко решается). Последовательности можно складывать и умножать, просто складывая и умножая соответствующие члены. Каждому рациональному числу x будут соответстовать рациональные последовательности, сходящиеся к x (например, самая тривиальная из них: x, x, x, x, ...), а иррациональными числами будут последовательности, у которых в рациональных числах не было предела.


Способ построения действительных чисел, описываемый в статье, на которую я дал ссылку выше, обходится без рациональных чисел и строит действительные числа напрямую из целых, используя следующее элементарное наблюдение (восходящее к комментарию де Моргана на определение Евклидом понятия равенства дробей). Построим рядом два параллельных луча, идущих слева направо и уходящих в бесконечность. На одном из лучей будем отмечать последовательность колонн, на расстоянии 1 друг от друга; а на другом — частокол из столбов, на расстоянии x друг от друга, где x — какое-то действительное число. Если x в точности равно 1, то столбы будут стоять в точности напротив колонн; если x больше 1, то столбы будут встречаться реже колонн, итд. Мы можем посмотреть, сколько столбов стоят слева от первой колонны (включая столб, стоящий точно напротив неё, если есть такой) и обозначить это число a1. Потом посчитать, сколько столбов стоят слева от второй колонны; это будет какое-то a2, меньшее или равное a1. Так же строятся a3, a4 и так далее до бесконечности. Например, если x равен 1/2, то последовательность выйдет такая: 1, 3, 5, 7...

Польза от такого построения вот в чём: если мы выполним его для двух разных действительных чисел x и y, то даже если они очень близки друг к другу, последовательности всё равно выйдут разные. Если x и y почти одинаковые числа, скажем, отличаются меньше чем на одну миллионную, то сначала в течение многих шагов они будут покрывать то же самое количество столбов на первые 1, 2, 3 и так далее колонн. Но рано или поздно даже крохотная разница между ними накопится в достаточное различие, чтобы одна из последовательностей обогнала другую, и потом продолжала обгонять всё больше и больше, пусть даже и медленно.

Поэтому мы можем, опять-таки, перевернуть ситуацию с ног на голову и определить действительное число x как последовательность a1, a2, a3, a4... Вот так и получается, что действительные числа мы определяем как последовательности целых чисел, не проходя по дороге через рациональные.

Нам нужно только разобраться с тем, какие последовательности действительно могут встречаться, если мы начнём с действительного числа x и будем строить последовательность. Ясно ведь, что не любая последовательность положительных целых чисел, даже возрастающая, подойдёт; т.к. при построении последовательности мы постоянно прибавляем x и “округляем” до целого числа, числа в нашей последовательности должны расти более или менее “равномерно”, за исключением некоторых погрешностей округления. Оказывается, что достаточно потребовать, чтобы выполнялось следующее условие: если в последовательности мы сложим k-й и n-й члены, то мы получим необязательно (k+n)-й член, но разница между тем, что мы получим, и настоящим (k+n)-м членом (эта разница соответствует “погрешности огругления”) должна быть ограничена сверху — должна быть всегда меньше какой-то заранее заданной константы M, для любых k и n. После введения этого ограничения каждая последовательность будет соответствовать какому-то положительному действительному числу; правда, как и в определении с последовательностями Коши, много разных последовательностей будут давать одно и то же действительное число, но эту техническую проблему легко решить.

Более техническое определение для знающих начала университетской алгебры: назовём функцию f:Z->Z почти гомоморфизмом, если значение f(p+q) - f(p) - f(q) ограничено сверху для всех p и q вместе. Почти гомоморфизмы можно складывать почленно, и обратный элемент по сложению получается просто путём смены знака каждого значения функции. Получаем коммутативную группу S; в ней есть подгруппа B всех почти гомоморфизмов, образ которых есть ограниченное подмножество Z. Фактор-группа E = S/B и будет аддитивной группой действительных чисел в этом определении. Порядок на E вводится так: [f] является положительным элементом, если { f(x): x in N} включает в себя бесконечное число положительных чисел. Умножение определяется как композиция функций (пользуясь определением почти гомоморфизма, доказываем, что умножение коммутативно). Аналогом целого числа p является класс эквивалентности почти гомоморфизма f(x) = px. Довольно легко доказать, что E, используя все эти определения, является упорядоченным полем. Наконец, полноту E можно доказать следующим образом. Каждый почти гомоморфизм f можно “округлить вниз” до целого числа floor(f), так что floor(f) <= f < floor(f)+1 (порядок внутри E). Пусть дано множество S членов E, ограниченное сверху, и покажем, что у S есть supremum в E. Можно предположить, что в S нет наибольшего члена. Тогда определим функцию f:N->Z так: f(p) равно максимуму floor(p*x), где x пробегает все функции в S. Можно показать, что f хорошо определена (т.к. S ограничено сверху), и является почти гомоморфизмом; расширив её определение на отрицательные аргументы очевидным образом, получим supremum для S. Подробные доказательства см. в статье.
Subscribe
  • Post a new comment

    Error

    default userpic

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 12 comments