Феликс Широков


       Мы в России забыли Исчисление Цепных Дробей. Вспомним о нем. Мы сделаем это методом learn by doing –- учись деланьем. Так что наш микрокурс по ценным дробям покажет и это. Главное – не трусить!

       Возьмем простенькое квадратное уравнение, которое любой школьник "щелкнет" за минуту:
z2 - 3z + 2 = 0                  (1)
и станем решать его так:
z2 - 3z + 2 + 0 => z2 = 3z - 2 => z = 3 - 2/z              (2)
Откуда
         (3)
Возникает выражение
                 (4)
которое называется цепной или непрерывной дробью.

       Как его понимать? Оно бесконечно, поэтому надо взять последовательность "подходящих" (конечных!) дробей

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

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

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

Эти несколько чисел сразу же наводят на мысль, что общий член этого ряда равен
                 (5)
где n надо брать, начиная с 1.

Обозначим его an

Формулу (5) можно подтвердить, заметив, что должно иметь место соотношение
                    (6)
Оно действительно имеет место

При n --> ? это выражение стремится к 2, и мы должны приписать цепной дроби значение 2.

z = 2 - корень уравнения (1)!

И в самом деле, подстановка z = 2 в (1) дает тождество!

А как быть со вторым корнем?

Проделаем аналогичные манипуляции
z2 - 3z + 2 = 0 => 2 = 3z - z2 =>
И мы сразу же приходим к еще одной цепной дроби
         (7)
Сосчитаем ее подходящие дроби:
                      (8)
Легко догадаться по этим начальным членам, что общий член имеет вид
                            (9)
где снова n бежит по натуральным числам, начиная с 0.

И снова эта формула может быть подтверждена прямой подставкой an-1 в формулу
                           (10)
Выражение (9) стремится к 1 при n --> ?, и поэтому мы должны приписать цепной дроби (7) значение 1:

Z = 1 - корень уравнения!

Мы нашли оба корня.

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

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

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

Выражение вида
                         (12)
в общем случае носит название цепной дроби, числа ai и bj - ее элементы. Выражению (12) приписывается числовое значение z, если подходящая дробь для (12) сходится к z.

Элементы дроби могут быть чем угодно: целыми, вещественными или комплексными числами, функциями какого-то переменного. Простейшим случаем принято считать цепную дробь вида
                           (13)
где a0 - произвольное целое число, а элементы a1, a2, ... - положительные целые числа (aк>0, к = 1, 2, ...). Чтобы не писать неудобные многоэтажные выражения, уславливаются дробь (12) обозначать строкой ее элементов
[a0; a1, b1, a2, b2, a3, b3...]                          (14)
Полученные нами дроби (4) и (7) получают записи
[3; 3, -2, 3, -2, 3, -2,...]
[0; 3, 2; 3, -2, 3, -2,...]
Они обе "периодичны" с периодом длины 1, что делает работу с ними особенно простой.

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

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

Но легкий просмотр дробей (4) и (7) успокаивает; Ноль в знаменателе у них не получается.

Почему часто ограничиваются случаем bi = 1, i = 1, 2, ...?

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

Если имеется вещественное число х, например знаменитое пи, то ищется наибольшее целое, не превосходящее x; его обозначают [x] и называют (нижним) антье от x. Иначе говоря, x представлен в виде
x = a0 + e
где a0 - целое, и 0 < e < 1. Если e = 0, то процедура закончена, если же e > 0, то находят его обратное
x1 = 1 / e
x = a0 + 1 / x1
и поскольку e меньше 1, число x1 будет больше 1:
x1 > 1
к нему снова применяют ту же процедуру

где снова 0 < e < 1

Эту процедуру продолжают (быть может до бесконечности), получая для числа x шлейф целых чисел а0, а1, а2, ...

Рекомендуем попробовать проделать это на каком-либо калькуляторе, например на том, который встроен в Windows.

Имеем

Таким образом, шлейф для п имеет вид
п = [3; 7, 15, 1, ...]                      (15)
Для вещественных чисел используют разнообразные шлейфы, например шлейф десятичных знаков (разложение числа в (бесконечную) десятичную дробь); или двоичных знаков или т. п. Однако все они зависят от той системы счисления, в которой это делается. "Натуральный" шлейф, т. е. шлейф элементов цепной дроби, инвариантно связан с самим числом. Можно взять другую систему счисления, изображение числе шлейфа в ней изменится, но их значения останутся неизменными.

После этого экскурса в общую теорию, следуя принципу learn by doing, то есть "учись, делая", мы рассмотрим еще некоторые примеры.

Пример. Разложение в цепную дробь. Легко видеть, что цепная часть равна 2. Рассмотрим поэтому выражение - 2 - дробную часть этого корня. Имеет место равенство

то есть

Этим мы и воспользуемся.

Имеем

И мы получим разложение
                     (16)
Удобно рассмотреть отдельно цепную дробь для дробной части , т. е. для - 2
[0; 4, 4, 4, ...]
Это не просто периодическая дробь; это, если угодно, "стационарная" дробь; у нее все элементы одинаковы.

Обозначим ее последовательные дроби через b1, b2, b3,..., а ее саму через b.

В силу стационарности имеем

Отсюда

Мы предоставляем читателю в качестве упражнения найти общую формулу для приближения bn.

 

Премия Тому, кто найдет общую формулу для чисел bn, будет вручена бесплатная подписка на наш журнал на весь 2000 год. Его решение будет опубликовано

 

Эти числа, записанные как рациональные, преобразуем в десятичные с шестью знаками
0,250000,
0,235294,
0,236111,
0,236065,
а мы откуда-то знаем, что = 2,2360679...

Мы видим, что уже четвертое простое приближение 72/305 дает пять верных десятичных знаков после запятой.

Аналогично мы можем получить рациональные приближения для произвольных квадратных корней из целых чисел. Сходимость всюду на самом деле экспоненциальная, то есть соответствующее приближение yn отличается от корня на величину, убывающую как hn, где 0 < h < 1. Сходимость быстрая.

Общую теорему мы здесь не доказываем, поскольку гораздо выгодней построить общую теорию и затем доказывать более общие теоремы.

В германской армии еще при императоре Вильгельме была такая "неофициальная должностьNormal-Kapitan - "нормальный капитан". Прежде чем выпустить приказ по дивизии, его давали почитать Normal-Kapitan'у. Если Normal его понимал, приказ выпускали, если нет - перерабатывали.

Автор должен сознаться, что за несколько десятков лет он, автор, так и не смог понять школьных правил вычисления квадратных корней из натуральных чисел. Автор считает себя Normal-Kapitan'ом и просит Overcommand, простите, руководство Министерства Образования выбросить этот кусок из школьных программ.

Чем можно заменить?

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

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

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