Введение

Алгоритм вычисления значения трансцендентального числа. Алгоритм последовательного вычисления (spigot algorithm) — это алгоритм вычисления значения трансцендентального числа (такого как π или e), который генерирует цифры числа последовательно слева направо, обеспечивая возрастающую точность по мере выполнения алгоритма. Алгоритмы последовательного вычисления также стремятся минимизировать объем необходимой промежуточной памяти. Название происходит от значения слова "spigot" – крана или вентиля, регулирующего поток жидкости. Алгоритмы последовательного вычисления можно противопоставить алгоритмам, которые хранят и обрабатывают полные числа для получения последовательно более точных приближений к желаемому трансцендентальному числу. Интерес к алгоритмам последовательного вычисления был вызван в ранние дни вычислительной математики жесткими ограничениями по объему памяти, и такой алгоритм для вычисления цифр e был представлен в статье Сале в 1968 году. В 1970 году Абдали представил более общий алгоритм для вычисления сумм рядов, в которых отношения последовательных членов могут быть выражены как частные от целочисленных функций позиций членов ряда. Этот алгоритм применим ко многим известным рядам для тригонометрических функций, логарифмов и трансцендентальных чисел, поскольку эти ряды удовлетворяют указанному условию. Название "алгоритм последовательного вычисления", по-видимому, было предложено Стэнли Рабиновицем и Стэном Вагоном, чей алгоритм вычисления цифр π иногда называют "алгоритмом последовательного вычисления для π". Алгоритм Рабиновица и Вагона является ограниченным, в том смысле, что количество членов бесконечного ряда, которые будут обработаны, должно быть определено заранее. Термин "потоковый алгоритм" (streaming algorithm) обозначает подход без этого ограничения. Это позволяет вычисление продолжаться неопределенно долго, изменяя объем необходимой промежуточной памяти по мере выполнения вычисления. Вариант подхода последовательного вычисления использует алгоритм, который может быть использован для вычисления одной произвольной цифры трансцендентального числа без вычисления предыдущих цифр: примером является формула Бэйли — Борвейна — Плуффа, алгоритм извлечения цифр для π, который генерирует цифры в шестнадцатеричной системе счисления. Неизбежное усечение базового бесконечного ряда алгоритма означает, что точность результата может быть ограничена количеством вычисленных членов ряда.