7. ВычисленияДля получения временной сложности

алгоритма Лагариаса — Одлыжко мы должны выбрать свободный параметр

, чтобы уравнять время выполнения суммы по нулям и элементов просеивания вычислений. Фактически, мы сместили время выполнения в сторону вычисления нулей, как для подтверждения того, что RH выполняется на высоте, достаточной для этих вычислений, так и потому, что эти данные могут быть применены в будущих исследованиях. Мы изолировали все нули

на высоте

(всего

нулей). Метод, используемый для определения местоположения этих нулей, описан в [15], но по сути является специфической для

оконной версией алгоритма Букера из [4].
Мы установили

(обратите внимание, что это число точно представимо в формате с плавающей запятой двойной точности IEEE 754). Мы использовали первые

нулей для вычисления суммы (те, что находятся до высоты

), что, в свою очередь, потребовало просеивания области шириной около

. В результате ошибка усечения от суммирования по нулям и от просеивания в совокупности составила

.
При таком выборе

мы получаем:

поэтому нам необходимо, чтобы наши нули были локализованы с абсолютной точностью не менее 25 знаков после запятой. Таким образом, мы вынуждены использовать арифметику с многозначными числами, несмотря на снижение производительности, которое это подразумевает (до 100 раз по сравнению с аппаратной арифметикой с плавающей запятой).
Как обсуждалось ранее, мы используем интервальную арифметику для управления накоплением ошибок округления во время вычислений, и с этой целью мы расширили пакеты Revol и Rouillier MPFI [16] очевидным образом для обработки комплексной арифметики. Применение интервальной арифметики влечет за собой еще одно снижение производительности (нынче примерно в 3 или 4 раза).
Просеивание (полностью с использованием целочисленной арифметики) было выполнено на

сегментах, каждый шириной

, как это было продиктовано ограничениями памяти, и дополнительно подразделено для контроля ошибки при аппроксимации

рядом Тейлора. Фактическое вычисление этой аппроксимации Тейлора снова требует интервальной арифметики с многозначной точностью.
Суммирование по нулям и простое решето тривиально распараллеливаются, и мы использовали кластер Bluecrystal Phase II Бристольского университета для выполнения всех вычислений, потребовав приблизительно

процессорных часов. В личном сообщении Tomas Oliveira e Silva указал, что вычисление

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

и

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

.
Результатом вычислений, после добавления различных членов ошибки, стал интервал, охватывающий ровно одно целое число, поэтому мы имеем:
Теорема 7.1.
Отметим, что это согласуется с условным результатом Бюте, Франке, Йоста и Кляйнюнга (Büche, Franke, Jost, Kleinjung).
¹ С этой целью Джонатан Бобер (Jonathan Bober) предоставил около первых 36 миллиардов нулей в [3].
² Наши нули расположены с абсолютной точностью
, чего более чем достаточно.Приложение А. Усечение суммы по нулямНам требуется строгая оценка ошибки, вносимой усечением суммы по нулям в теореме 4.7. Мы действуем следующим образом.
Для

, где

не является мнимой частью нуля

, определим

как число нулей

в критической полосе с
![$\Im s \in [0, t]$ $\Im s \in [0, t]$](https://dxdy.ru/math/680ba2e76a608443834c6c51dc28ef0c82.png)
.
Лемма А.1. Пусть

. Тогда
Доказательство. См. [17] Теорема 19.
Лемма А.2. Для

,

и
![$\sigma \in [0, 1]$ $\sigma \in [0, 1]$](https://dxdy.ru/math/d9fb2ef6607b8da2b0a6468036c19b8482.png)
определим
![$$ B(\sigma, T) := \exp \left[ \frac{\lambda^2(1 - T^2)}{2} \right] \left[ \frac{x^{\sigma}}{T \log x} + \frac{1}{\lambda^2 T^2 x} \right]. $$ $$ B(\sigma, T) := \exp \left[ \frac{\lambda^2(1 - T^2)}{2} \right] \left[ \frac{x^{\sigma}}{T \log x} + \frac{1}{\lambda^2 T^2 x} \right]. $$](https://dxdy.ru/math/b9af1893f6bc357842347836d3818fc382.png)
Тогда
Доказательство. Интегрируем вдоль контура, идущего вертикально вниз от

до

, затем вправо до

. Для горизонтального контура имеем:

Для вертикального контура имеем:

