Формула Рамануджана: 8 знаков π за одно слагаемое
Сриниваса Рамануджан имел привычку называть свои результаты очевидными, хотя коллеги не могли разобраться даже в формулировке. Самый известный пример такой очевидности, ряд для 1/π, который сходится настолько быстро, что каждое слагаемое приносит около восьми верных десятичных знаков.
1/π = (2√2 / 9801) × Σ (4k)! × (1103 + 26390k) / ((k!)^4 × 396^(4k)), где k пробегает значения от нуля до бесконечности.
Скорость проверяется руками. Возьмите только первое слагаемое: при k = 0 от всего ряда остаётся 2√2 × 1103 / 9801. Это даёт π ≈ 3,14159257 при истинном значении 3,14159265. Семь верных знаков после запятой из одной дроби. Второе слагаемое поднимает точность примерно до пятнадцати знаков, третье до двадцати с лишним.
Вывода Рамануджан не оставил. Он говорил, что такие вещи приходят к нему сами, иногда во сне, и записывал их в тетрадь без доказательства. Числа 1103, 9801 и 26390 он воспринимал как что-то естественное, хотя со стороны они выглядят как набор случайных цифр.
Случайного там ничего нет. Ряд принадлежит семейству, которое строится через модулярные уравнения и особые значения эллиптических функций, в данном случае для дискриминанта 58. Оттуда и 9801, то есть 99 в квадрате, и 396, то есть 4 на 99, и остальные константы. Строгое доказательство появилось только в 1987 году в работе братьев Борвейн, через семьдесят лет после записи в тетради. Разбор всех тетрадей Рамануджана занял у Брюса Берндта несколько томов, и часть утверждений оттуда доказывали уже в двухтысячных.
У формулы есть прямой наследник, который вы, возможно, запускали, не зная об этом. В 1988 году братья Чудновские построили ряд того же типа для дискриминанта 163, он даёт около четырнадцати знаков на слагаемое. Именно на нём стоят все современные рекорды: сто триллионов знаков π, посчитанные в облаке в 2022 году, получены этим рядом, и более поздние прогоны тоже.
Быстрая сходимость сама по себе рекорда не даёт. Слагаемых нужно мало, но каждое считается в длинной арифметике, где цена одной операции растёт вместе с числом знаков. Реальная скорость берётся из другого места: ряд суммируют методом binary splitting и получают одну большую рациональную дробь без промежуточных делений, огромные числа перемножают через FFT или NTT, а деление и квадратный корень откладывают на самый конец и делают итерациями Ньютона. Из-за этого вычисление π давно превратилось в стандартный стресс-тест для процессора, памяти и дисковой подсистемы: y-cruncher гоняют примерно так же, как когда-то Prime95.
Сегодня формулу из тетради 1914 года можно набрать в десять строк на Python с mpmath и получить тысячу знаков π за доли секунды. Проверить её оказывается проще, чем понять, как человек без вычислительной техники вообще смог её увидеть.