Формула Бейли – Борвейна – Плуффа
Формула Бейли-Борвейна-Плуффа ( формула BBP ) представляет собой формулу для π . Он был открыт в 1995 году Саймоном Плуффом и назван в честь авторов статьи, в которой он был опубликован, Дэвида Х. Бэйли , Питера Борвейна и Плуффа. [1] До этого его опубликовал Плуфф на своем сайте. [2] Формула:
Формула BBP приводит к появлению кольцевого алгоритма для вычисления n- й шестнадцатеричной (шестнадцатеричной) цифры числа π (и, следовательно, также 4- й двоичной цифры числа π ) без вычисления предыдущих цифр. При этом не вычисляется n- я десятичная цифра числа π (т. е. по основанию 10). [3] Но другая формула, открытая Плуффом в 2022 году, позволяет извлечь n-ю цифру числа π в десятичном формате. [4] Алгоритмы, основанные на BBP и BBP, использовались в таких проектах, как PiHex. [5] для вычисления многих цифр числа π с использованием распределенных вычислений. Существование этой формулы стало неожиданностью. Широко распространено мнение, что вычислить n-ю цифру числа π так же сложно, как вычислить первые n цифр. [1]
С момента своего открытия формулы общего вида:
были открыты для многих других иррациональных чисел , где и являются полиномами с целыми коэффициентами и является целочисленной базой .Формулы такого вида известны как формулы типа BBP . [6] Учитывая число , не существует известного систематического алгоритма поиска подходящего , , и ; такие формулы обнаруживаются экспериментально .
Специализации
[ редактировать ]Специализация общей формулы, которая дала множество результатов:
где s , b и m — целые числа, а представляет собой последовательность целых чисел.Функция P приводит к компактному обозначению некоторых решений. Например, исходная формула BBP:
можно записать как:
Ранее известные формулы типа BBP
[ редактировать ]Некоторые из простейших формул этого типа, которые были хорошо известны до BBP и для которых функция P приводит к компактным обозначениям:
(Фактически это тождество справедливо и для a > 1:
- .)
Плуфф также был вдохновлен степенным рядом арктанга в форме ( обозначение P также можно обобщить на случай, когда b не является целым числом):
Поиск новых равенств
[ редактировать ]Используя упомянутую выше функцию P , самая простая известная формула для π — это для s = 1, но m > 1. Многие открытые сейчас формулы известны для b как показателя степени 2 или 3 и m как показателя степени 2 или некоторых других. другое значение, богатое факторами, но в котором некоторые члены последовательности A равны нулю. Открытие этих формул предполагает компьютерный поиск таких линейных комбинаций после вычисления отдельных сумм. Процедура поиска состоит из выбора диапазона значений параметров для s , b и m , оценки сумм до многих цифр, а затем использования алгоритма поиска целочисленных отношений (обычно Хеламана Фергюсона ) алгоритм PSLQ для поиска последовательности A это складывает эти промежуточные суммы до известной константы или, возможно, до нуля.
Формула BBP для π
[ редактировать ]Оригинальная формула суммирования BBP π была найдена в 1995 году Плуффом с использованием PSLQ . Это также можно представить с помощью функции P :
что также сводится к этому эквивалентному отношению двух многочленов:
С помощью довольно простого доказательства было показано, что эта формула равна π . [7]
Алгоритм извлечения цифр BBP для π
[ редактировать ]Мы хотели бы определить формулу, которая возвращает ( )-й (с ) шестнадцатеричная цифра числа π . с использованием этой формулы требуется несколько манипуляций Для реализации алгоритма патрубка .
Сначала нам нужно переписать формулу так:
Теперь, для определенного значения n и взяв первую сумму, мы делим сумму на бесконечность по n -му члену:
Теперь умножаем на 16 н , так что шестнадцатеричная точка (разделитель между дробной и целой частями числа) смещается (или остается, если n = 0 ) слева от (n+1) -й дробной цифры:
Поскольку нас интересует только дробная часть суммы, мы смотрим на наши два слагаемых и понимаем, что только первая сумма содержит члены с целой частью; и наоборот, вторая сумма не содержит членов с целой частью, поскольку числитель никогда не может быть больше знаменателя при k > n . Поэтому нам нужен трюк по удалению ненужных нам целых частей из членов первой суммы, чтобы ускорить и повысить точность вычислений. Этот трюк заключается в уменьшении по модулю 8 k + 1. Наша первая сумма (из четырех) для вычисления дробной части тогда будет выглядеть так:
Обратите внимание, что оператор модуля всегда гарантирует, что будут сохранены только дробные части членов первой суммы. Чтобы вычислить 16 n − k mod (8k + 1) быстро и эффективно, алгоритм модульного возведения в степень выполняется на том же уровне цикла, а не вложенным . Когда его промежуточное произведение 16 x становится больше единицы, берется модуль, как и для промежуточной суммы в каждой сумме.
Теперь, чтобы завершить расчет, это необходимо поочередно применить к каждой из четырех сумм. Как только это будет сделано, четыре суммы суммируются обратно в сумму π :
Поскольку точной является только дробная часть, для извлечения нужной цифры необходимо удалить целую часть конечной суммы, умножить ее на 16 и сохранить целую часть, чтобы «снять» шестнадцатеричную цифру в желаемой позиции (теоретически следующие несколько цифр до точности использованных расчетов также будут точными).
Этот процесс аналогичен выполнению длинного умножения , но требует только суммирования некоторых средних столбцов. Хотя некоторые переносы не учитываются, компьютеры обычно выполняют арифметические операции для многих битов (32 или 64) и округляют их, и нас интересуют только наиболее значащие цифры. Существует вероятность того, что конкретное вычисление будет похоже на неспособность прибавить небольшое число (например, 1) к числу 9999999999999999, и что ошибка распространится на самую старшую цифру.
BBP по сравнению с другими методами вычисления π
[ редактировать ]Этот алгоритм вычисляет π, не требуя специальных типов данных, состоящих из тысяч или даже миллионов цифр. Метод вычисляет n-ю цифру без вычисления первых n - 1 цифр и может использовать небольшие и эффективные типы данных. Фабрис Беллар нашел вариант BBP, формулу Беллара , который работает быстрее.
Хотя формула BBP может напрямую вычислить значение любой заданной цифры числа π с меньшими вычислительными затратами, чем формулы, которые должны вычислять все промежуточные цифры, BBP остается линейным ( ), при этом последовательное увеличение значений n требует все больше времени для расчета; то есть, чем «дальше» находится цифра, тем больше времени требуется BBP для ее вычисления, как и в стандартных алгоритмах π -вычислений. [8]
Обобщения
[ редактировать ]DJ Broadhurst предлагает обобщение алгоритма BBP, которое можно использовать для вычисления ряда других констант почти в линейном времени и логарифмическом пространстве. [9] Явные результаты даны для константы Каталана , , , постоянная Апери , , (где – дзета-функция Римана ), , , и различные продукты полномочий и . Эти результаты получены в первую очередь за счет использования полилогарифмических лестниц .
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ Перейти обратно: а б Бейли, Дэвид Х.; Борвейн, Питер Б.; Плуфф, Саймон (1997). «О быстром вычислении различных полилогарифмических констант» . Математика вычислений . 66 (218): 903–913. дои : 10.1090/S0025-5718-97-00856-9 . hdl : 2060/19970009337 . МР 1415794 .
- ^ Веб-сайт Plouffe .
- ^ Гурдон, Ксавье (12 февраля 2003 г.). «Вычисление N-й цифры» (PDF) . Проверено 4 ноября 2020 г. .
- ^ Вайсштейн, Эрик В. «Алгоритм извлечения цифр» . Математический мир .
- ^ «ПиХекс Кредиты» . Центр экспериментальной и конструктивной математики . Университет Саймона Фрейзера. 21 марта 1999 г. Архивировано из оригинала 10 июня 2017 г. Проверено 30 марта 2018 г.
- ^ Вайсштейн, Эрик В. «Формула BBP» . Математический мир .
- ^ Бейли, Дэвид Х.; Борвейн, Джонатан М.; Борвейн, Питер Б.; Плуфф, Саймон (1997). «В поисках Пи». Математический интеллект . 19 (1): 50–57. дои : 10.1007/BF03024340 . МР 1439159 . S2CID 14318695 .
- ^ Бейли, Дэвид Х. (8 сентября 2006 г.). «Алгоритм BBP для Пи» (PDF) . Проверено 17 января 2013 г.
Время выполнения алгоритма BBP... увеличивается примерно линейно с положением d .
- ^ DJ Broadhurst, «Полилогарифмические лестницы, гипергеометрические ряды и десятимиллионные цифры ζ(3) и ζ(5)» , (1998) arXiv math.CA/9803067
Дальнейшее чтение
[ редактировать ]- DJ Broadhurst, «Полилогарифмические лестницы, гипергеометрические ряды и десятимиллионные цифры ζ(3) и ζ(5)» , (1998) arXiv math.CA/9803067
Внешние ссылки
[ редактировать ]- Ричард Дж. Липтон , « Создание алгоритма — алгоритм — BBP », запись в блоге, 14 июля 2010 г.
- Ричард Дж. Липтон , « Класс Кука содержит число Пи », сообщение в блоге, 15 марта 2009 г.
- Бейли, Дэвид Х. «Сборник формул типа BBP для математических констант, обновлено 15 августа 2017 г.» (PDF) . Проверено 31 марта 2019 г.
- Дэвид Х. Бэйли , « Справочник кодов BBP », веб-страница со ссылками на код Бэйли, реализующий алгоритм BBP, 8 сентября 2006 г.