Научная статья на тему 'Цепные дроби'

Цепные дроби Текст научной статьи по специальности «Математика»

CC BY
734
143
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по математике, автор научной работы — Лавров Святослав Сергеевич

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по математике , автор научной работы — Лавров Святослав Сергеевич

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

Текст научной работы на тему «Цепные дроби»

Лавров Святослав Сергеевич

ЦЕПНЫЕ ДРОБИ

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

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

Прежде чем приступить к чтению этой статьи мы советуем познакомиться со статьей «Алгоритмы над целыми числами» (В.А. Петров, С.Н. Поздняков, «Алгоритмы над целыми числами», Компьютерные инструменты в образовании, № 1, 1999 г.).

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

- как нетривиальный пример приложений компьютерной алгебры (хотя на деле за компьютер трудился я сам, кое-что продублировав для контроля на «Паскале»),

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

Кроме того, решение любой задачи на компьютере начинается не с написания алгоритма или программы, а с уточ-

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

Символами «N3!» помечены места, где у автора возникали сомнения, наметки на будущее, намеки читателю и т. п.

1. ЭЛЕМЕНТЫ ОБЩЕЙ ТЕОРИИ

Цепная дробь (ЦД) может быть конечной (п-членной или и-звенной)

а0 +-

¿1

а1 +

а2 +

+

ап

¿п

а1 + а2 + ап

(1)

. ¿1

или бесконечной ¿1

ап +-

а1 +

а2 + -

¿1

а1 + а2 +

(2)

Линейная запись ЦД, использованная в правой части (1) и (2), впервые быта предложена Роджерсом (см. ссытку в [4]). Если, начиная с некоторого места, например, с к = 2, известен общий вид частных числителей Ък и частны1х знаменателей ак ЦД, то можно, следуя Принсгейму (там же), прибегнуть к компактному обозначению

а.

о,

¿1

а1 + ак +

куда этот общий вид включен явно. Если Ък и ак - это просто символы или выражения, не содержащие дробной черты, то в обозначениях Роджерса-Принсгейма можно прямую дробную черту заменить косой:

[а0^1 / а1+, ¿2 / а2 +,...]

Часто считают, что все элементы1 ак и Ък ЦД принимают положительные и, как правило, целые значения с Ъп не кратным ап для дроби (1). В общем же случае можно рассматривать ЦД с элементами любой природы.

Отрезок ЦД - это

sk = [; ¿1/ а1 +,..., ¿к / ак ], где 0 < к и для ЦД (1) к < п.

Остаток ЦД - это

Гк=[ак; Ък+1/ак+1 +,..., Ъп/ап]

для ЦД (1) или

гк=[ак; Ък+1/ак+1 +,...] для ЦД (2) с теми же ограничениями на к.

На любой отрезок

*к=[ао; Ъ1/а1 +,..., Ък/ак]

дроби (1) или (2) можно смотреть как на функцию ее элементов а0, Ъ1, а1, ... , Ък, ак. Зависимость этой функции от ее аргументов выражается только через арифметические операции. Если избавиться в этом выражении от «многоэтажных» дробей, то получится выражение

Sk =

р(ао, Ьх, а1;..., Ьк, ак)

д(ао,а15...,Ьк,ак) , в котором р и q - это многочлены от а0, Ъ1, а1, ... , Ък, ак, определяемые, вообще говоря, не однозначно.

Введем обозначения: Р-1 = 1, q-l = 0, Ро= ао, qо=1. (3) ¿1

Тогда = а0 +--, так что справед-

а1

ливы тождества

Р1 = а1 Р0+ Ъ1 Р-1 и ql = а1 qо+ Ъ1 q-l.

Покажем, что аналогичные зависимости Рк = ак Рк-1 + Ък Рк-2, qk = ак q¡-l + Ък qk-2

позволяют строить Рк и qk при любом значении к (для конечной дроби (1) - при к < п). Будем использовать букву ф вместо любой из букв р или q.

+1 ~ "

. . ^ №! Читать ее удобно как «купе».

Это позволит обойтись одной формулой

Фк=акФк-г + ЬкФк-2 (4)

вместо двух предыдущих (ее p- и q- вариантов).

Пусть это утверждение справедливо вплоть до некоторого к. Воспользуемся тем, что при подстановке ак + Ьк+1/ак+1 вместо ак в последнее после устранения избыточной этажности переходит в як+1. Преобразуя выражения (4), получим:

Фк+1 = (ак + Ьк+1/ак+1)Фк-1 + ЬкФк-2 =

= фк + Ьк+1Фк-1/ак+1, откуда

ак+1Рк + Ьк+1Рк-1 ак+1<?к + Ьк+1Чк-1 .

Это обосновывает возможность пользоваться выражениями (4) при к, увеличенном на 1, а по индукции - при любом к.

Второе из выражений (4) (его q-ва-риант) приводит к заключению, что при положительных ак и Ьк все qk положительны и что при целых ак последовательность монотонно возрастает. Дроби р^к, построенные таким способом, называются подходящими дробями для ЦД (1) или (2), а сам способ - каноническим представлением подходящих дробей.

Из тех же выражений (4) следует

Pkqk-l- qkPk-l = Ьk(Pk-2qk-l- qk-2Pk-l) = = -Ьk(Pk-lqk-2- qk-lPk-2),

а поскольку - q0P-l = -1, то

Pkqk-l- qkPk-l = (-1)k-1Ьk ... Ь1. (5)

Деление обеих частей на qkqk-1 дает важное соотношение между последовательными подходящими дробями:

8к- 8к-1 = (-1)к-1Ьк ... Ьl/qkqk-l (6)

для всех к >0.

Из (6) вытекает, что при целых и для к >0 положительных элементах Ьк и ак

в сумме *0+(*1- 50) + ... + (8„ -8„-1) = 8п

знаки членов чередуются, а абсолютные величины - убывают, причем для бесконечной ЦД (2) имеет место — 8п—1' при п ® ¥. Поэтому для такой дроби последовательность подходящих дробей схо-

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

Если не требовать, чтобы ак были целыми, то они могут быть настолько малы, что знаменатели qk возрастают медленно (или не возрастают вообще), а разности (6) медленно убывают (или вовсе не убывают), и последовательность |^п} не сходится. Для разностей подходящих дробей через одну имеем:

Як+1 Як-1 =

акРк + ЬкРк-1 - Рк-_ акЧк + ЬкЧк-1 Чк-1

ак(РкЧк-1 -ЧкРк-\) _ (-1)к-1 ак

Чк+\Чк-1

Чк+\Чк-1

Из всего полученного видно, что при указанных условиях последовательности четных и нечетных членов {я } обе монотонны и первая - возрастая, вторая - убывая, движутся навстречу друг другу. Следовательно, каждая из них имеет предел, но эти пределы не обязаны совпадать.

2. ПРЕОБРАЗОВАНИЯ ЦЕПНЫХ ДРОБЕЙ

Одно из простейших преобразований цепной дроби - это одновременное умножение трех ее элементов: Ьк, ак и Ьк+1 на отличный от нуля множитель ск (или просто с). Ясно, что при этом на с умножается весь остаток гк, а значение дроби Ьк/гк, как и всей ЦД, не изменяется.

Комбинируя такие локальные преобразования (масштабирования), можно изменить крупные участки ЦД или даже всю ее целиком. Возьмем, например, в качестве с1 величину 1/Ь1. Получим: Ь1' = 1, а1' = а1/Ь1, Ь2' = Ь2/Ь1. Далее, с2= Ь1/Ь2 даст Ь2''=1, а2' = а2Ь1/Ь2, Ь3' = Ь3Ь1/Ь2.

Затем при с3 = Ь2/Ь3Ь1 получим Ь3'' = 1, а3' = а3Ь2/Ь3Ь1, Ь4' = Ь4Ь2/Ь3Ь1. Для конечной ЦД этот процесс глобальной нормировки (преобразования частных числителей Ьк в Ьк =1) оборвется на значениях Ь '' = 1, а ' = а f , где

п 7 п п •> п7 ^

/п =

1

¿п-А-?..

¿п/п-1 ЬnЬn

-2...

(последний член как в числителе, так и в знаменателе дроби /п - это Ъ1 или Ъ2 с индексом той же четности, что и у первого). Для бесконечной ЦД общий вид /п -тот же, но процесс нормировки длится неограниченно долго.

Цепные дроби с Ък = 1 для всех к называют обыкновенными.

№! Для дробей с отличными от 1 значениями элементов верхнего уровня ЪК подошло бы название «возвышенные» вместо трудночитаемого «не обыкновенные».

У Хинчина в [1], как и во многих других книгах, рассматриваются только такие Ц.Д. Хованский ([4]) пишет по этому поводу: «Лагранж даже утверждал, что все остальные цепные дроби являются почти что чистым курьезом, так как их легко привести к обыкновенным цепным дробям. Но такое приведение во многих случаях сильно усложняет дробь, и поэтому высказывание Лагранжа нельзя считать правильным».

№! За этим мнением стоит опыт двух веков.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Для обыкновенной цепной дроби зависимости (4) упрощаются:

фк = ак Фк-1 + Фк-2, (7) хотя и не очень существенно. Соотношения (5) и (6) также принимают чуть более простой вид:

Рк^к-1- qkРk-l =(-1)к-1 (8)

и

*к -*к-1=Н)к-1%7к-г (9)

При целых аК для обыкновенной ЦД из (8) следует также, что общий делитель Рк и qk (а также фк и фк-1) должен быть делителем и правой части, то есть может быть равен только 1 - подходящие дроби в их каноническом представлении (как и отношения их соседних числителей или знаменателей) несократимы.

Преобразование сжатия ЦД - сокращение совокупности ее звеньев - исполняется следующим образом. Пусть в последовательности |50, ... 5^,...} подходящих дробей мы хотим сохранить только члены si0 = Sо, s к, ... ^, ...

Зависимости (4) позволяют вычислить фк по фк-1 и фк-2, что мы изобразим

универсальной схемой фк-2, фк-1 а фк . Ее частные случаи будут постоянно встречаться ниже. Теперь вместо них мы хотим располагать зависимостями

Ф = а'кФк-1 + ¿'кФ-2 (10)

(схематически фк-г, фг-к-1 а фг-к).

Первыш этап. Имеем ф-1,ф0 а ф1 (значения (3) стандартны в мире цепных дробей), ф0,ф1 а ф2, что в сочетании с

предыдущей схемой дает ф-1,ф0 а ф2. Действуя так, дойдем до зависимости

ф-1, ф0 а ф1 . Каждый раз выражение вида

аф1 + Ьф]2 подставлялось в подобное ему вместо одной из переменных, причем другая переменная совпадала с ф^ или ф12. Поэтому все эти схемы отражают зависимости требуемого вида (10). На этом первый этап сжатия завершен.

Второй и следующий этапы. Величины ф0, фЛ и (а в общем случае -

ф^, фк и ) занимают место ф-1, ф0 и ф1 , соответственно. Начинаем с того, что зависимость ф-1,ф0 а ф1 разрешаем относительно фр ф0, ф1 а ф-1 и найденное выражение подставляем в ф-1, ф0 а ф^ -1. Это дает еще одну схему вычисления ф -1:

ф0, ф а ф-1 .

Исключение ненужных зависимостей происходит так же, как на первом этапе.

Подробнее: ф.-Ъф. аф. +1 переходит в

ф0,ф 1 а ф 1+1 (здесь-то и потребовалась

альтернативная схема вычисления ф 1-1 ),

ф-1,ф а ф1х +1 - в ф0,фк а фк +2 , и т. д.

вплоть до ф0,ф к а ф 1г .

№! В разделе 6 мы применим этот алгоритм к интересному конкретному случаю.

Если частный числитель Ьк+1 по какой-то причине оказался нулем, то при аКФ 0 это означает, что ЦД конечна -Ьк/ак становится ее последним звеном. Случай, когда ак =0 при Ьк Ф 0 можно назвать дырой в последовательности частных знаменателей. Закрыть эту дыру несложно.

К

Из Гк-1 = ак-1 +

0 + ЬкV Гк+1 где гк+1 = ак+1 + Ьк+2 / гк+2, следует:

Г = (а + Ка / Ь ) + ЬкЬк+2 / Ьк+' Гк-1 = (ак-1 + Ькак+1' Ьк+1) +

Гк+2

так что можно принять:

а'к-1 = ак-1 + Ькак+1/Ьк+1,

Ь Ь /Ь ,

ЬкЬк+2 к+1

Гк= Гк+2.

Последнее равенство означает, что после заштопывания дыры нумерация элементов ЦД, начиная с ак, сдвигается на 2 в сторону уменьшения. Локальное масштабирование позволило бы сделать полученные формулы чуть менее громоздкими. А для обыкновенной ЦД они и сами по себе несложны:

а к-1 = ак-1 + ak+1,

= 1

(как и положено), сдвиг нумерации - тот же.

Как и все предыдущие, это преобразование обратимо - дыры можно не только затыкать, но и пробивать. Иногда это полезно, так как последовательность элементов ЦД становится на вид более регулярной.

3. ПОЙДИ ТУДА - НЕ ЗНАЮ КУДА...

Следующее разложение знаменитого числа е = 2.718281828... (основания натуральных логарифмов) в цепную дробь е = [2; 1,2, 1, 1,4, 1, 1,6, 1,...](11) (точнее, его начало) возникает при применении алгоритма Евклида, например, к паре чисел (2718281828, 1000000000).

№! Пробивание дыры в начальном элементе преобразует дробь в [1; 0, 1, 1, 2, 1, 1, 4, 1, 1, ...]. Эта последовательность элементов может показаться более регулярной.

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

№! Аналогия - понятие расплыв-■ ' V] чатое. Она, как мы убедимся, не должна быть поверхностной, как в попытках найти русскую замену: «показательница», «показательша», «показуха», «показанта»... для термина «экспонента».

Будем пользоваться обозначением:

Б(т)/(к) = Х¥=И (/(к )хк )

'к=т

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

8(т)/(к)=хБ(т-1)/(к+1) (правило сдвига индексации) и

$(т)/(к)=/(т)хт+$(т + 1 )/(к) (правило выделения первого члена).

Известное разложение экспоненты в степенной ряд

ехр(х) = ^¥=0( хк / к!)

запишется в виде ехр(х) = Б(0)(1/к!). Построим несколько первых членов цепной дроби [а0; а1, ... аК ...], где любой элемент аК - это либо целое положительное число, либо имеет некоторый иной вид.

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

«Некоторый иной вид» - это, например, многочлены от и =1/х с рациональными коэффициентами (неполные частные), возникающие при применении алгоритма Евклида к степенным рядам.

4. НАЛЕВО ПОЙДЕШЬ...

Ближайшая цель - наметить метод и создать базу для установления общего вида членов.

Из исходного ряда Б(0)(1/к!) выделяется начальный (нулевой) элемент хи/0! = 1 и остаток Б(1)(1/к!). Чтобы подвести эти операции под общую схему действий с ЦД, примем, что мы имели

Б(0)(1/к!)

0

дело с дробью

1

и приняли за

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

№! Если очень к этому стремиться.

Числители дробей, обрабатываемых в т-й серии, обозна-а и г , а получаемые элементы

тт

Ь и с .

тт

Таким образом, у дроби, из которой предстоит выделить очередной элемент на первом щаге первой серии, числитель рг - это 1, а знаменатель - это Б(1)(1/к!).

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

Старший член числителя р1 совпадает с самим числителем, а старший член знаменателя ах - это х. Отношение а =1/х

чим рт,

ЦД - ат

т

q 2

= т, -с

1P 2 =

старших членов становится кандидатом на роль очередного элемента ЦД, а кандидатом на роль остатка т1 - ряд

p 1-aq1=1-(1/x)S(1)(1/k!) = = 1-8(0)(1/(к+1)!)=-8(1)(1/(к+1)!) (в вычислениях использовано сначала правило сдвига, а потом правило выделения первого члена). Этот кандидат неприемлем из-за его знака. Можно было бы рассмотреть и такой вариант, но это шло бы вразрез с обычным ограничением на знаки элементов (см. [1]).

№! Тем не менее, пройдя некоторый отрезок намеченного пути, мы в разделе 7 вернемся на эту развилку. Поэтому уменьшим элемент на 1, приняв а 1 = 1/х-1. Следующий шаг исполним над дробью с числителем q1 и со знаменателем т 1= p 1- а 1 q 1 или (необходимые вычисления уже частично выполнены) т 1 = 1-(1/х-1^(1)(1/£!) = = 1-(1/х)^(2)(1/£!)^(1)(1/£!)= = S(1)(1/k!-1/(k+1)!) = = S(1)(k/(k+1)!).

Выбор в качестве следующего элемента отношения старших членов q1 и т1, равного 2, снова привел бы к появлению отрицательного остатка. Поэтому примем Ь1=1 и получим такую следующую дробь: p 2= q 1-Ь 1т ^(1)(1/к!-к/(к+1)!) = = S(1)(1/(k+1)!).

Это значение становится знаменателем очередной дроби (для третьего шага серии) при числителе т1. Здесь выбор с1 = 1 к осложнениям не приводит, так как значение

= S(1)(k/(k+1)!-1/(k+1)!) = = S(1)((k-1)/(k+1)!) = = S(2)((k-1)/(k+1)!) положительно. Появление суммы S(m)f(k) с нулевым первым членом Дт) характерно для последнего шага серии.

№! А почему только для последнего?

В следующей серии все события повторяются. Не углубляясь в подробности, мы получаем: а 2=3/х-1,

т2 = p2-a2q2= S(1)((k-1)k/(k+2) !) = = S(2)((k-1)k/(k+2)!),

Ь2 = 1, P3 = q2-Ь2T2 = = S(2)(2(k-1)/(k+2)!),

с2 = 1, qз = т2-C2P3 =

= S(2)((k-2)(k-1)/(k+2)!). Пусть для некоторого т установлено, что

а = (2т-1)/х-1, Ь = с = 1, (12)

т 4 ' ' т т ' 4 '

тт = S(m )(к!/((к-т)!(к+т)!)), (13)

pm = S(m)(т(к-1)!/((к-т)!(к+т)!)), (14) qm = S(m +1)((к-1)!/((к-т-1)!(к+т)!))= = xS(m)(k!/((k-m)!(k+m+1)!)). (15) Докажем, что эти выражения сохраняют силу при замене т на т+1. Старшие члены p и q - это

т!хт/(2т)! и т!хт+1/(2т+1)!, их отношение (кандидат на роль ат+1) равно (2т+1)/х. На роль pm+1 претендует величина

Pm-((2m+1)/x)qm = = S( т )((к-1)!/((к-т)!(к+т+1)!)*

*((т(к+т+1)-(2т+1)к))) = = S( т )((к-1)!/((к-т)!(к+т+1)!)* *(т+1)(т-к)) < 0. Претензии необоснованы (знак остатка не тот), поэтому положим

ь „ -г

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

т + 1

= (2т +1)/х -1

и добавим (спереди) слагаемое qm к вычисленному значению:

тm+l = S( т +1)((к-1)!/ ((к-т) !(к+т+1) !)(к-т)* *(к+т+1-т-1)) = = S( т +1)(к!/((к-т-1) !(к+т+1)!)).

Отношение старших членов ат и г ,, равно 2, но величина а -2г ,, вновь

т+1 г ' 1т т+1

отрицательна, что заставляет взять Ьт+1 = 1, а это приводит к результату

Рт+1 ат Гт+1

= Б(т+ 1)((к-1)!/((к-т-1)! (к+т) !)-к!/

((к-т-1)! (к+т+1)!)) =

= Б(т+1)((к-1)!/((к-т-1)!(к+т+1)!)).

Наконец, положив ст+1 = 1, придем к формуле:

Чт+1 = Гт+1-Рт+1 = 8(т+1)((к-т-1)*

*(к-1) !)/((к-т-1) !(к+т+1) !)=

= Б(т+2)((к-1) !/((к-т-2) !(к+т+1)!)) (мы сначала отбросили нулевой начальный член, а в членах для к > т +1 сократили дробь на к - т -1).

Материал для базы индукции у нас был накоплен с избытком, и формулы (12), (13), (14) и (15) можно считать справедливыми для любого т.

5. ПОДХОДЯЩИЕ ДРОБИ (РАЦИОНАЛЬНЫЕ ПРИБЛИЖЕНИЯ)

В этом разделе вернемся к обозначениям аг для элементов ЦД, а рг и будут обозначать числители и знаменатели подходящих дро-

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

В таблице 1 подходящих дробей эти многочлены представлены списками своих коэффициентов, так что, например, а !=а ! = и -1, р1=и.

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

N3! Кроме того, симметрия обычно не только приятна, но и полезна. В данном случае тем, что ат( х )=рт(-х), где т=[(г + 2)/3], так что с точностью до знака мы имеем дело лишь с

бей. Поскольку элементы

ЦД - это линей- одним набором коэффициентов.

г аг рг аг

0 1 1 1

1 1, -1 1,0 1, -1

2 1 1,1 1,

3 1 2,1 2, -1

4 3, -1 6, 2,0 6, -4, 1

5 1 6, 4,1 6, -2,

6 1 12, 6,1 12, -6, 1

7 5, -1 60, 24, 3,0 60, -36, 9, -1

8 1 60, 36, 9,1 60, -24, 3,

9 1 120, 60, 12,1 120, -60, 12, -1

10 7, -1 840, 360, 60, 4,0 840, -480, 120, -16, 1

11 1 840, 480, 120, 16,1 840, -360, 60, -4,

12 1 1680, 840, 180, 20,1 1680, -840, 180, -20, 1

13 9, -1 15120, 6720, 1260, 120, 5,0 15120, -8400, 2100, -300, 25, -1

14 1 15120, 8400, 2100, 300, 25,1 15120, -6720, 1260, -120, 5, 0

15 1 30240, 15120, 3360, 420, 30,1 30240, -15120, 3360, -420, 30, -1

Таблица 1

Таблица 2 содержит результаты некоторых вычислений.

№! Значение 1.6487212707 совпадает с ехр(0.5) вплоть до последнего знака. Однако, значения при х = 0.5 нормированных делением на коэффициент 2т (2т-1)!! при старшем члене многочленов pm (5-й столбец) приближаются к ехр(х/2) довольно медленно.

Для иллюстрации того, что подходящие дроби оправдывают свое название: результат деления полинома p3 на q3 - это отрезок степенного ряда с коэффициентами: 1, 1, 1/2, 1/6, 1/24, 1/120, 1/720 и 1/4800 (вместо 1/5040, что дает ошибку в старшем члене х7/100800, близкую к полной фактической ошибке при х =1). Таким образом, набор из четырех коэффициентов (из них лишь три независимы) обеспечивает существенно более высокую точность приближения, чем набор из семи коэффициентов степенного ряда.

6. НАПРАВО ПОЙДЕШЬ ...

Накопленный материал подсказывает общий вид коэффициентов многочленов p и q для

тт

выделенных выше особо строк с номерами г = 3т:

(2т - ])! „ , т-]

и

ч=0 Мт -1)!

(в выражении для qm те же коэффициенты стоят при (- и)т—). Таблица 1 изобилует примерами, а несложное доказательство оставляем читателю.

I

Р

.(и)=х:

Можно обнаружить следующую связь между тремя последовательными многочленами p :

т

фт (и ) = (4т-2)ифт-1(и) + фт-2(и).

Она позволяет, начиная со значений p0 = q0 = 1, p1(u) = 2и +1, q1(u) = 2и - 1, заимствованных из таблицы 1, получить значения всех остальных многочленов p и qm для т >1 с помощью зависимостей (7) при ат = (4т - 2)и.

N3! Огорчает одно: невозможно применить эти же зависимости для т = 1 при стандартных значениях p-1 и q-1 - последнее надо заменить на q-1 = -1. Соответствующие изменения потребуется внести и в инвариантные соотношения (5) и (6). Как ни незначительны эти изменения, они мешают признать дроби pJqtn подходящими в строгом смысле определения (а «нестрогий смысл» - это то же, что «горький сахар»).

Но выход есть - можно сохранить из таблицы 1 только строки г0 = 0, ¡1 = 3,... г5 = 15, в которых мы заинтересованы, не утрачивая соответствия подходящих дробей их определению. Для этого следует провести сжатие ЦД так, как это было

т Pm(1) qm(1) Pm(1)/qm(1) p'm(1) q'm(1) Pm(0.5)/qm(0.5)

0 1 1 1.0 1.0 1.0 1

1 3 1 3.0 1.5 0.5 1.67

2 19 7 2.7142857143 1.58 0.58 1.6486

3 193 71 2.7183098592 1.608 0.592 1.6487214

4 2721 1001 2.7182817183 1.620 0.596 1.648721271

5 49171 8089 2.7182818287 1.6260 0.5982 1.6487212707

Таблица 2

ехр(х)=

1;

1

.(18)

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

ф1 = а 1ф 0 + Ф-1

ф2=ф1+ф0=(а1+1)ф0+ф-1, ф3=ф2+ф1 = (2а1+1)ф0+2ф-1, ф-1=1/2ф3-(а1+1/2)ф0, ф2=1/2ф3+1/2ф0, ф4=а4ф3+ф2=(а4+ 1/2)ф3+1/2ф0, ф5=ф4+ф3=(а4+3/2)ф3+ 1/2ф0, ф6=ф5+ф4=2(а4+1)ф3+ф0. Все последующие группы шагов исполняются по одной общей схеме:

ф 3 г-6=ф3г-2(а3г-2+1)ф3г-3, ф3г-1=1/2ф3г+1/2ф3г-3, ф31 + 1 = а31 + 1ф31+ф31-1 = = (а3г + 1+1/2)ф3г+1/2ф3г-3, ф 31 + 2= ф 31 + 1 +ф 31 = = (а3г + 1 + 3/2)ф3г+1/2ф3г-3,

ф3г+3=ф3г+2+ф3г+1=2(а3г+1+1)ф3г+ф3г-3, справедливость которой устанавливается по индукции.

Сохранить из всех этих формул необходимо только следующие: ф3=(2а1+1)ф0+2ф-1, или, с учетом значения а1 (см. таблицу 1), ф 3=(2и-1)ф0+2ф-Х, (16)

и для произвольного г >1:

ф3г=2(а3г-2+1)ф3г-1+ф3г-2, которая с учетом общего выражения:

а 3 г-2=(2г-1)и-1

для величины, входящей в коэффициент

при ф3г, принимает вид:

ф3 г=(4г-2)иф3г-3+ф3г-6, г>1. В формуле (16) коэффициент при

последнем члене отличен от 1, тогда как в (17) он равен 1. Таким образом ЦД для ехр(х) в целом оказывается «возвышенной», пусть из-за одного единственного звена. На емкой записи это отразится так:

(2/х -1) + (4к - 2)/х +

Но из нее можно выделить обыкновенную часть

(ехр(х) -1)/2 = [0; 2/х -1, (4к - 2)/х£ .(19) Полезно убедиться (выборочно), что многочлены с коэффициентами из таблицы 1 вычисляются именно по этим формулам, например, а 3=2и-1 =

=(2(и-1)+1)-1+0=(2а1+1)а0+а-1, а12=1680и4-840и3+180и2-20и+1 = =14и(120и3-60и2+12и-1)+(12и2-6и+1) =2(2-3+1)а9+а6.

7. ПРЯМО ПОЙДЕШЬ...

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

Мы намекнули в разделе 3, что при разложении в ЦД степенных рядов, а точнее - дробей, у которых в числителе и знаменателе стоят такие ряды, следовало бы пользоваться алгоритмом Евклида для многочленов (годящимся и для степенных рядов), а не маловразумительной комбинацией этого алгоритма с алгоритмом для целых чисел. Определяемый элемент ЦД - это неполное частное от деления числителя очередной дроби на ее знаменатель. Прогресс определяется не знаками коэффициентов, а степенью этих членов. В числителе следует учесть столько начальных членов (обычно два), сколько требуется для получения остатка со степенью, на единицу меньше степени делителя.

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

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

Все это можно наблюдать на примере разложения в ЦД функции ехр(х), представленной в виде отношения т0/т1, где

Г0( х) = ехр(х/2) = Х¥=0( X /2)к / к!

П(х) = ехр(-х/2) = Х¥=0(-х/2)к /к!'

Возникает ЦД: ехр(х) = [1; и-1/2, 12и, 5и, 28и, 9и, ... ... а/ = 4(4./-1)и, а2+1=(4]+1)и...], (20) не столь изящная, (аК=(4к-2)и для к>1), как ожидалось в конце раздела 5. Но она порождает ту последовательность подходящих дробей, к которой мы там стремились (лишь с чуть иной нормировкой числителя и знаменателя дробей с нечетными номерами), и избавляет от всех упомянутых неприятностей. Можно попытаться нормировать эту дробь, прежде всего «возвысив» ее запись:

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

ехр(х)=

1;

1

111

1

-1/2 12и 5и 28и 9и

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

№! Программисту не всегда противопоказано гнаться сразу за двумя зайцами, но и осторожность тоже не бывает излишней.

Для этого надо применить такую последовательность множителей: с 1=2х (к Ь1, а1 и Ь2), с 2=х/2 (к новому Ь2, а2 и Ь3), с 3—2 х, с 4—х / 2, ...

Получим:

ехр(х)=

1;

- х + 2

х

т

х 10

х

14'

х 18

Это разложение порождает следующую последовательность подходящих дробей

1,

х+2 х + 6х+12

___х3 +12х2 + 60х+120

-х+2' х2 -6х+12' -х3 +12х2 -60х+120'

Она знакома нам по выборке из таблицы 1, хотя и с обратным, что естественно, порядком коэффициентов.

Почти такое же, но недонормиро-ванное, разложение (18) экспоненты в ЦД нашлось в результате трудов, не вполне праведных, лишь в конце раздела 6.

Его можно было получить из (20) в результате глобальной нормировки (см. раздел 2) с с 2 г-1 = 2, с2г=1/2. Впрочем, здесь термин «нормировка» не вполне уместен. Он больше подходит к варианту с с 2 г1 = 1/2, с2г=2, когда ЦД (18) преобразуется в (20).

ЭПИЛОГ

В [3, статья «Цепная дробь»] сказано, что еще Л. Эйлеру в 1737 г. было известно разложение (в обозначениях из [1]):

е -1

= [0; 1, 6, 10, 14, ...] = [0; 1, 4к-2]

(как, по-видимому, и разложение (19), частным случаем которого оно является).

Спустя два века этот результат стал в числе многих прочих достоянием широкого круга математиков, о чем свидетельствует превосходная книга А.Н. Хованского [4].

Но в оба эти источника автор удосужился заглянуть уже после того, как все описанное в разделе 4 было проделано и таблица 1 построена. Выход из огорчительного положения, изложенный во второй части раздела 6, и весь раздел 7 только тогда и возникли.

N3! Программист! Никогда не верь тому, что твоя программа, после того как она «заработала правильно» - это верх совершен-

ства. Следуй завету Козьмы Пруткова («Зри в корень» - кто позабыл), и ты убедишься, что корень, из которого она выросла, может оказаться весьма хилым.

Литература.

1. А.Я. Хинчин. Цепные дроби / 2-е изд. М.-Л.: ГТТИ, 1949.

2. Э. Мендельсон. Введение в математическую логику / Пер. с англ., 3-е изд. М.: Наука, 1984.

3. Математическая энциклопедия, т. 5. М.: «Советская энциклопедия», 1984, 1284 стб.

4. А.Н. Хованский. Приложение цепных дробей и их обобщений к вопросам приближенного анализа. М.: ГТТИ, 1956.

© Наши авторы, 2001. Our authors, 2001.

Лавров Святослав Сергеевич, доктор технических наук, профессор.

i Надоели баннеры? Вы всегда можете отключить рекламу.