ДЖ.БОРВЕЙН и П.БОРВЕЙН (1987)




ПРОИЗВЕДЕНИЕ ВАЛЛИСА (1665)

  ¥  
π = 2 × 2 1 × 3 × 4 × 4 3 × 5 × 6 × 6 5 × 7 × 8 × 8 7 × 9 ×... = Õ 4n2 4n2 – 1 .
  n=1    
                         

 

РЯД ГРЕГОРИ (1671)

  ¥  
π = 1 –   +     +... = å (–1)n 2n + 1 .
  n=0    
                     

 

ФОРМУЛА МЭЧИНА (1706)

  ¥  
π = 4 arctg(1/5) – arctg(1/239), где arctg x = å (–1)n x2n+1 2n + 1 .
  n=0      
           

 

РАМАНУДЖАН (1914)

  ¥  
π = 2Ö2 9 801 å (4n)! [1103 + 26 390n] (n!)4 3964n .
  n=0    
           

 

ДЖ.БОРВЕЙН и П.БОРВЕЙН (1987)

  ¥  
π = 12 å (–1)n(6n)! [212 175 710 912Ö61 + 1 657 145 277 365 + n(13 773 980 892 672Ö61 + 107 578 229 802 750)] (n!)3 (3n)! [5 280(236 674 + 30 303Ö61]3n + 3/2 .
  n=0    
         

 

Члены математических последовательностей можно складывать и перемножать, иногда получая при этом ряды или бесконечные произведения, сходящиеся к π (делённому на константу) или к 1/π. Первые две последовательности, открытые математиками Джоном Валлисом и Джеймсом Грегори, широко известны, однако для вычислительных целей практически бесполезны. Для нахождения ста знаков π не хватило бы и ста лет работы суперкомпьютера, запрограммированного на сложение или умножение членов любой из этих последовательностей. Формула, открытая Джоном Мэчином, сделала вычисление π выполнимым, так как из анализа известен способ представлять арктангенс числа x в виде ряда, который сходится к значению арктангенса тем быстрее, чем меньше x. Все известные вычисления π с начала XVIII в. и до начала 70-х годов нашего века опирались на варианты формулы Мэчина. Сумма последовательности Рамануджана сходится к истинному значению 1/π гораздо быстрее: каждый очередной член последовательности добавляет, грубо говоря, восемь новых правильных цифр. Самая нижняя последовательность, найденная авторами, добавляет около 25 цифр с каждым новым членом. Первый член (соответствующий n = 0) дает число, совпадающее с π в 24 десятичных знаках.

И з вычислений, проведённых в XIX в., два следует упомянуть особо. В 1844 г. Иоганн Дазе нашёл 205 знаков π в течение нескольких месяцев, вычисляя значения трех арктангенсов и пользуясь формулой, аналогичной формуле Мэчина. Дазе был чудо-вычислителем: он мог примерно за 8 часов перемножать в уме стозначные числа. (Его, наверное, можно считать предтечей современного суперкомпьютера, по крайней мере по объему памяти.) В 1853 г. Уильям Шенкс обошел Дазе, опубликовав полученное им значение π с 607 знаками, хотя начиная с 528-го все остальные оказались неверными. Шенкс потратил на свой труд многие годы – это было рутинное, хотя и трудоёмкое применение формулы Мэчина. Своеобразным рекордом стало и то, что ошибка Шенкса была обнаружена только через 92 года при сравнении его значений с приближением π до 530 знаков, вычисленным Д. Ф. Фергюсоном с помощью механического калькулятора.

С появлением цифровых вычислительных машин попытки найти ещё больше десятичных знаков π возобновились, так как машина идеально приспособлена к долгому и упорному «перемалыванию» чисел. В июне 1949 г. Джон фон Нейман и его сотрудники применили один из первых цифровых компьютеров ENIAC. Машина выдала 2037 знаков за 70 часов. В 1957 г. Г. Э. Фелтон пытался вычислить 10 000 знаков π, но из-за ошибки компьютера только первые 7480 знаков оказались правильными. Рубеж в 10 000 знаков был достигнут годом позже Ф. Женюи с помощью компьютера IBM 704. В 1961 г. Дэниел Шенкс (по утверждению М. Гарднера, не имеющий отношения к Уильяму Шенксу. – Перев.) и Джон У. Ренч-младший вычислили 100 000 знаков π с помощью компьютера IBM 7090 менее чем за 9 часов. Отметка в миллион знаков была пройдена в 1973 г. Жаном Гийу и М. Буйе. Это заняло чуть меньше одного дня работы компьютера CDC 7600. (Вычисления Шенкса–Ренча и Гийу–Буйе были проделаны дважды при помощи двух разных выражений для π через арктангенсы. С учётом всех ошибок, допущенных в подобных вычислениях как человеком, так и машиной, только после такой проверки современные «охотники за знаками» считают рекорд официально установленным.) Главная причина, по которой стало возможным всё более точное вычисление π, состояла в увеличении быстродействия компьютеров. Однако вскоре выявились серьезные препятствия к дальнейшему росту точности. При традиционных способах выполнения на компьютере арифметических действий, если бы мы захотели удвоить число знаков, нам пришлось бы увеличить время вычисления по крайней мере вчетверо. Таким образом, даже при стократном увеличении быстродействия программе Гийу и Буйе для получения миллиардного знака π понадобилось бы четверть века машинного времени. В 70-е годы казалось, что такое вычисление практически невыполнимо.

Однако теперь эта задача осуществима, причём не только благодаря появлению «скоростных» компьютеров, но и благодаря применению новых методов умножения чисел. Решающим было и третье нововведение – итерационные алгоритмы, быстро сходящиеся к π. (Итерационный алгоритм можно реализовать в виде программы, которая повторно выполняет одни и те же арифметические действия, используя выход одного цикла в качестве входа для следующего.) Эти алгоритмы (некоторые из них построены нами) во многих отношениях предвосхищены Рамануджаном, хотя он и не знал ничего о программировании. Компьютеры не только позволили применить результаты Рамануджана, но и помогли разгадать их. Совершенное программное обеспечение, предусматривающее сложные алгебраические манипуляции, позволило уверенно двигаться по дороге, по которой в одиночку, лишенный помощи пробирался Рамануджан 75 лет назад.

МОДУЛЯРНЫЕ ФУНКЦИИ И ПРИБЛИЖЕНИЯ К p

Модулярная функция – это некоторая функция l(q), связанная алгебраическим соотношением, называемым модулярным уравнением, с той же функцией от той же переменной q, возведённой в некоторую целую степень p: l(qp). Эта степень p определяет «порядок» модулярного уравнения. Примером модулярной функции служит функция

  ¥  
l(q) = 16q Õ ( 1 + q2n 1 + q2n–1 ) 8 .
  n=1          

 

Отвечающее ей модулярное уравнение 7-го порядка, связывающее l(q) и l(q7), имеет вид

8 Ö l(q)l(q7) + 8 Ö [1 – l(q)][1 – l(q7)] = 1.

 

Сингулярные решения модулярного уравнения – это такие решения, которые удовлетворяют некоторым дополнительным условиям. Один класс сингулярных решений получится, если вычислить последовательность значений
k(p) = Ö l(epÖp)

 

для целых p. Эти значения обладают замечательным свойством: логарифмическое выражение
–2 Öp ln ( k(p) )

 

имеет много первых десятичных знаков, общих с π, причем число их тем больше, чем больше значение p. Рамануджан не имел себе равных в способности находить эти сингулярные значения. Одно из самых известных, когда p = 210, содержалось в его первом письме к Харди. Вот оно:
k(210) = (Ö2 – 1)2(2 – Ö3)(Ö7 – Ö6)2(8 – 3Ö7)(Ö10 – 3)2(Ö15 – Ö14)(4 – Ö15)2(6 – Ö35).
Если подставить его в логарифмическое выражение, получится число, которое совпадает с π в первых 20 десятичных знаках. Для сравнения, k(240) приводит к числу, которое совпадает с π в более чем 1 млн. знаков. Пользуясь этим общим приёмом, Рамануджан построил много замечательных рядов для π, включая тот, что приведён на вкладке [2]. Тот же общий подход лежит в основе двухшагового итерационного алгоритма, показанного на вкладке [4]. Первый шаг каждой итерации (вычисление yn) соответствует нахождению одного из последовательности сингулярных значений путём решения модулярного уравнения подходящего порядка, второй шаг (вычисление an) отвечает взятию логарифма этого сингулярного значения.

Т еоретическая информатика научила нас тому, что многие привычные алгоритмы, например способ умножения чисел, которому обучают в школе, весьма далеки от оптимальных. В информатике эффективность алгоритма измеряют его так называемой бит-сложностью: числом сложений и умножений отдельных цифр при выполнении алгоритма. Так, сложение двух n-значных чисел обычным способом имеет бит-сложность, которая растёт как n, a вот бит-сложность умножения двух n-значных чисел обычным способом растёт как n2. Таким образом, умножение при традиционных методах намного «труднее», чем сложение, т.е. поглощает намного больше времени.

Однако в 1971 г. А. Шёнхаге и Ф. Штрассен показали, что теоретически бит-сложность умножения двух чисел может быть лишь ненамного больше бит-сложности их сложения. Один из способов добиться этого потенциального уменьшения состоит в том, чтобы реализовать так называемые быстрые преобразования Фурье. Основанное на таком преобразовании умножение двух больших чисел позволяет организовать промежуточные действия над отдельными цифрами столь искусно, что дублирование исключается. Поскольку деление и извлечение корня можно свести к последовательности умножений, их бит-сложность тоже может стать ненамного большей, чем у сложения. В результате получится огромная экономия бит-сложности, а значит, и машинного времени. По этой причине в последнее время все попытки вычисления π основывались на тех или иных вариантах умножения с применением быстрых преобразований Фурье.

Однако для практического вычисления сотен миллионов десятичных знаков π пришлось «переоткрыть» одну красивую формулу, известную полтора столетия назад Карлу Фридриху Гауссу. В середине 70-х годов Ричард П. Брент и Юджин Саламин независимо обнаружили, что эта формула дает для π квадратично сходящийся алгоритм, т.е. при каждой итерации число знаков удваивается. С 1983 г. Ясумаса Канада из Токийского университета и его сотрудники с помощью этого алгоритма установили несколько мировых рекордов по числу знаков для π. [Мелкая статья с некоторыми подробностями типа «набор 0123456789 встречается первый раз в разложении числа π на 17 387 594 880-м знаке (цифра 0) после десятичной точки». — E.G.A.]

Нас заинтересовали причины столь быстрой сходимости алгоритма Гаусса–Брента–Саламина. Исследуя их, мы разработали общую методику построения аналогичных алгоритмов, быстро сходящихся к π, a также к некоторым другим величинам. Основываясь на теории, в общих чертах описанной в 1829 г. немецким математиком Карлом Густавом Якобом Якоби, мы поняли, что в принципе значения π можно вычислять при помощи одного класса интегралов, называемых эллиптическими интегралами – они позволяют находить периметр эллипса.

Эллиптические интегралы обычно не берутся, но могут быть легко аппроксимированы при помощи итерационных процедур, опирающихся на модулярные уравнения. Мы обнаружили, что алгоритм Гаусса–Брента–Саламина представляет собой частный случай нашего более общего метода, связанный с модулярным уравнением второго порядка. Используя модулярные уравнения более высоких порядков, можно добиться более быстрой сходимости к значению интеграла, а значит, и получить лучший алгоритм для вычисления π. Поэтому мы тоже построили различные алгоритмы на основе модулярных уравнений третьего, четвёртого и более высоких порядков.

В январе 1986 г. Дэвид X. Бейли из Исследовательского центра Национального управлении но аэронавтике и исследованию космического пространства, пользуясь одним из наших алгоритмов, после 12 итераций на суперкомпьютере Cray-2 получил 29 360 000 десятичных знаков π. Основанный на модулярном уравнении 4-го порядка этот алгоритм более чем вчетверо увеличивает количество знаков после каждой итерации. Год спустя Я. Канада и его сотрудники выполнили ещё одну итерацию на суперкомпьютере NEC SX-2 и получили 134 217 000 знаков, проверив тем самым свой более ранний такой же результат, полученный с помощью алгоритма Гаусса–Брента–Саламина. Ещё две итерации нашего алгоритма – дело нехитрое, если бы удалось как-нибудь на несколько недель заполучить суперкомпьютер в монопольное пользование, – дали бы более двух миллиардов знаков π.

(a) ПОЛАГАЕМ y0 = 1/Ö2, a0 = 1/2 и
yn+1 = 1 – Ö1 – y n 2   an+1 = [(1 + yn+1)2 an] – 2n+1yn+1.
1 + Ö1 – y n 2

 

  ПОЛУЧАЕМ число правильных десятичных знаков π: · для 1/a1 – 0; · для 1/a2 – 3; · для 1/a3 – 8; · для 1/a4 – 19.
(b) ПОЛАГАЕМ y0 = Ö2 – 1, a0 = 6 – 4Ö2 и
yn+1 = 4 1 – Ö1 – y n 4   an+1 = [(1 + yn+1)4 an] – 22n+3yn+1(1 + yn+1 + yn+1). 2
4 1 + Ö1 – y n 4

 

  ПОЛУЧАЕМ число правильных десятичных знаков π: · для 1/a1 – 8; · для 1/a2 – 41; · для 1/a3 – 171; · для 1/a4 – 694.
(c) ПОЛАГАЕМ s0 = 5Ö5 – 10, a0 = 1/2 и
sn+1 = sn(Z + X/Z + 1)2   an+1 = 2 sn an – 5n 2   sn – 5 + 2 Ö sn (sn – 2sn + 5)   ,

 

     
где X = sn – 1, Y = (X – 1)2 + 7 и Z = 5 Ö Ѕ X (Y + Ö Y 2 – 4X 3 ).
                 

 

  ПОЛУЧАЕМ число правильных десятичных знаков π: · для 1/a1 – 5; · для 1/a2 – 31; · для 1/a3 – 166; · для 1/a4 – 848.
Итерационные алгоритмы, разработанные авторами, позволяют вычислять π с невероятной точностью. Алгоритм (a) квадратично сходится к 1/π: число правильных цифр, определяемых величиной an увеличивается более чем вдвое всякий раз, когда n увеличивается на 1. Алгоритм (b) при каждой итерации увеличивает количество правильных цифр более чем вчетверо, а алгоритм (c) – более чем впятеро. Алгоритм (b), возможно, самый эффективный из всех известных алгоритмов вычисления π: три последних рекордных вычисления выполнены на суперкомпьютерах с помощью именно этого алгоритма. Когда авторы работали над своими алгоритмами, им стало ясно что Рамануджан при построении своих приближений к π следовал аналогичным методам. Так, вычисление sn в алгоритме (c) основано на замечательном модулярном уравнении пятого порядка, открытом Рамануджаном.
Число десятичных знаков π
100 000 000        
10 000 000            
1 000 000                
100 000                    
10 000                        
1 000                            
                               
                                   
                                 

 

Число известных знаков π за последние 10 лет выросло на два порядка благодаря разработке итерационных алгоритмов и их реализации на суперкомпьютерах, снабжённых новыми эффективными методами умножения.

И терационные методы лучше всего приспособлены для вычисления π именно с помощью компьютера, поэтому не удивительно, что Рамануджан никогда не пытался им следовать. Однако главные составляющие итерационных алгоритмов для π, и в частности модулярные уравнения, следовало искать в работах Рамануджана. Оригинальный путь, которым он шёл к бесконечным рядам и приближённым формулам для π более чем три четверти века назад, в чём-то наверняка совпадал с нашими собственными усилиями вывести алгоритмы для вычисления π. И действительно, формулы, приведенные в его статье, посвященной π, и в «Тетрадях», во многом помогли нам при построении некоторых алгоритмов. Например, хотя мы могли доказать существование алгоритма 11-го порядка и знали его общую формулировку, только натолкнувшись на модулярные уравнения этого порядка у Рамануджана, мы сумели открыть неожиданно простую форму этого алгоритма.

С другой стороны, из полученных нами общих формул удалось вывести все ряды Рамануджана для π. При выводе одного из них, который сходился к π быстрее любого другого известного нам в то время ряда, небольшая помощь пришла с неожиданной стороны. Мы проверили все величины, входящие в выражение этого ряда, кроме одной – коэффициента 1103 в числителе (см. вкладку [2]), поскольку были уверены, как, должно быть, и сам Рамануджан, что это правильное число. Для доказательства требовалось либо упростить некое устрашающего вида уравнение, в котором переменные возводились в степени с показателями, равными нескольким тысячам, либо погрузиться в малодоступные глубины теории чисел.

По счастливому совпадению Р. Уильям Госпер-младший из фирмы Symbolics, Inc., в 1985 г. решил провести испытание именно этого ряда Рамануджана на точность приближения к значению π. Он довёл вычисления более чем до 17 млн. знаков (в то время это было рекордом), однако само по себе это не могло служить доказательством, что сумма ряда действительно равна π. Конечно, Госпер знал, что миллионы знаков полученного им числа совпадают с найденными ранее Я. Канадой при помощи алгоритма Гаусса–Брента–Саламина, и понимал, что вероятность ошибки Рамануджана ничтожно мала.

Но как только Госпер закончил свои вычисления и сверил их с результатом Канады, мы получили всё, что требовалось для обоснования числа 1103, а именно что ряд дает верное значение с точностью до 10–10 000 000. Этот результат на основании примерно тех же соображений, из которых следует, что два целых числа с разностью меньше 1 обязательно совпадают, позволяет точно установить, что упомянутый коэффициент равен 1103. Таким образом, проведённое Госпером вычисление стало частью нашего доказательства. Нам было известно, что этот ряд (и соответствующий алгоритм) столь чувствителен к малейшим неточностям, что если бы Госпер взял какой-нибудь другой коэффициент, а компьютер в процессе вычисления допустил ошибку хотя бы в одной цифре, то получилось бы не значение π, а бессмысленный набор цифр.

Можно показать, что алгоритмы рамануджановского типа очень близки к наилучшим возможным. Если собрать все операции, которые производятся при выполнении подобных алгоритмов (с применением наилучших известных методов сложения, вычитания и умножения), то окажется, что бит-сложность вычисления n знаков π ненамного больше бит-сложности перемножения двух n-значных чисел, а последняя, когда умножение выполняется с применением быстрых преобразований Фурье, ненамного превосходит бит-сложность сложения двух n-значных чисел – простейшей возможной арифметической операции, выполняемой при помощи компьютера.

М атематика, по-видимому, ещё не ощутила в полной мере влияния гениальных открытий Рамануджана. В его «Тетрадях» содержится множество других удивительных формул с интегралами, бесконечными рядами и цепными дробями. К сожалению, они приводятся почти без всяких указаний на метод, которым Рамануджан их доказывал. Литлвуд писал: «Если какой-то значительный кусок рассуждений уже встречался где-то в другом месте и общая совокупность фактов и интуитивных соображений давала ему уверенность, он не искал ничего больше».

Титанический труд по редактированию «Тетрадей», начатый 60 лет назад английскими аналитиками Дж. Н. Ватсоном и Б. Н. Уилсоном и завершаемый ныне Брюсом Берндтом, требует поисков доказательств, источников, а иногда небольших исправлений каждого из многих тысяч содержащихся в них утверждений и тождеств. Одна строчка в «Тетрадях» легко может вызвать многие страницы комментариев. Задача дополнительно затруднена нестандартными математическими обозначениями, в которых записаны формулы. Поэтому большая часть работы Рамануджана останется недоступной математическим кругам до тех пор, пока Берндт не закончит свой труд.

Уникальная способность Рамануджана оперировать чисто интуитивно сложнейшими формулами позволила ему посеять семена в математическом саду (метафора, заимствованная у Фримена Дайсона), который только сейчас вступает в пору цветения. Как и многим другим математикам, нам не терпится увидеть, какие из семян в ближайшие годы взойдут и сделают сад ещё прекраснее.

Список литературы

1. S. Ramanujan. Modular equations and approximations to π. In: The Quarterly Journal of Pure and Applied Mathematics, 1914, v. 45, pp. 350–372.

2. E. Salamin. Computation of π using arithmetic-geometric mean. In: Mathematics of Computation, 1976, v. 30, No. 135, pp. 565–570.

3. P. Beckmann. A history of π. The Golem Press, 1977.

4. J. M. Borwein, P. B. Borwein. Pi and the AGM: A study in analytic number theory and computational complexity. John Wiley & Sons, Inc., 1986.

5. С. Г. Гиндикин. Загадка Рамануджана. Квант, 1987, № 10, с. 14.

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2020-01-14 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту:

Обратная связь