Я люблю проводить численные эксперименты. Процессор должен думать, а не простаивать. Напомню, что нетривиальные нули Зета функции Римана, расположенные симметрично относительно оси X, имеют вещественную часть равную -1/2 (что не доказано, может быть, у вас получится?), а мнимая часть у первых нулей равна (знак +/-, так как они расположены симметрично): 14.13, 21.02, 25.01, 30.42, 32.93...

Чем дальше, тем меньше расстояние между корнями, доказано, что в пределе

\lim_{n\to\infty} ln(n) \frac{z_{n+1} - z_n}{2\pi} = 1

где Zn - абсолютное значение мнимой части корня. То есть чем дальше, тем гуще расположены нули. Но давайте эти уменьшающиеся расстояния между корнями станут нашей путеводной звездой, они будут указывать нам, насколько сдвинуться вправо-вверх-влево-вниз. Заметьте, что такая последовательность направлений совпадает с направлением вращения фазы комплексного числа. То есть на первом шаге мы увеличиваем X на 14.13, потом Y на 21.03-14.13=6.9 и оказываемся в точке (14.13, 6.9). Дальше мы смещаемся влево на 25.01-21.02=3.99 и оказываемся в точке (10.14,6.9). Наконец, двигаемся вниз на 30.42-25.01=5.41 и попадаем в (10.14,1.49). Цикл из четырех движений закончен.

За несколько дней mpmath мне сгенерил 100 тысяч корней и я увидел интересную картину, после чего решил скачать готовые корни - тут: https://www.lmfdb.org/zeros/zeta/ можно скачать базу где есть около 10 миллардов корней, я же ограничился 100 миллионами.

Итак, после первого миллиона корней:

1m корней
1m корней

Каждое блуждание увеличивало значение пикселя на единицу. Так как многие пиксели оказывались на пути много раз, то в итоге я брал логарифм получившегося числа - так видно что наш процесс 'потоптался' дольше всего. Согласитесь, это несколько неожиданно. Ниже график зависимости X и Y от номера корня:

X,Y, 1m корней
X,Y, 1m корней

Видно как процесс долго топчется на месте, а потом резко рвет вверх, к другому 'облаку'. Для 10 миллионов:

10m
10m

Рост X, Y для 10 миллионов:

И, наконец, для 100 миллионов:

100m
100m

Рост X,Y для 100 миллионов:

100m
100m

На последнем графике хорошо заметно, как тормозится рост из-за уменьшения расстояния между корнями. Но совершенно удивительно то, что функция выросла там мало (на 5000) за 100 миллионов корней, то есть 25 миллионов 'оборотов' - то есть в среднем 1/5000 за оборот.

Интересно, что стоит немного поменять порядок обхода с нашего - X+Y+X-Y- на, например, такой: X+Y+Y-X-, результат сразу становится тривиальным

1m
1m

Ну почти тривиальным. Здесь интересно то, что сохраняется направление. То есть в любом случае есть интересная корреляция между расстояними между корнями, и я попытался ее поймать (расстояния нормировались к log(n)/2pi, центр поэтому лежит в точке 1,1). Сразу увидел, что есть антикорреляция между двумя соседними расстояниями:

Корреляция, 100m корней
Корреляция, 100m корней

если один шаг был длиннее обычного, следующий, скорее всего, будет короче. Ну и все - через один корень корреляции практически нет.

Собственно, это и неудивительно, потому что в момент 'рывка' между 'облаками' происходит следующее (zoom одного из 'рывков'):

zoom 1
zoom 1

Еще увеличивая, здесь уже только X:

zoom 2
zoom 2

Как видно, 'рывок' только кажется поступательным движением. На самом деле процесс колбасит взад и вперед, он часто отступает, линия движения имеет ширину в несколько пикселей и речь идет не о корреляции между соседними расстояниями между корнями, а о том, что влияет на расстояние между корнями на очень большом расстоянии между ними - сотен и тысяч значений.

Как это объяснить я это не знаю. Может быть знаете вы?

Комментарии (9)


  1. csl
    05.05.2024 13:17
    +1

    Хорошо, что есть графики, напомнило https://en.m.wikipedia.org/wiki/Ulam_spiral


  1. sci_nov
    05.05.2024 13:17

    Прикольно. Напомнило ветку миров: двигаешься от мира к миру, которые соединены переходами.


  1. Format-X22
    05.05.2024 13:17

    если один шаг был длиннее обычного, следующий, скорее всего, будет короче

    Похоже на регрессию к среднему.


  1. Format-X22
    05.05.2024 13:17

    На последнем графике хорошо заметно, как тормозится рост из-за уменьшения расстояния между корнями.

    Скорее всего секрет в отношении между величинами - они не абсолютны, а относительны - попробуйте логарифмический график, должно всё выровняться.


  1. avasiukevich
    05.05.2024 13:17
    +2

    По сути эти фракталы на графике говорят нам о необычности распределения разностей между нулями Зета функции

    Можно почитать разные научные статьи, которые исследуют это, скорее всего где-то там найдётся ответ.

    Например, работа 1987-го года "On the Distribution of Spacings Between Zeros of the Zeta Function" by A. M. Odlyzko [pdf] исследует это распределение (но несколько другими методами) и связывает аномалии с распределением простых чисел:

    The peaks of $f(x)$ occur near $x = 2(\log N)^{-1} \log q$, where $q$ is a prime power, and the spikes in Figure 13 are due to 2, 3, 4, 5, 7, 8, 9, 11, 13, 16. 17, and 19, in that order, with proper prime powers having smaller peaks than primes. The explanation for this behavior of the spectrum of the $\delta_n$ lies in the formulas that connect zeros of the zeta function and prime numbers.


  1. domix32
    05.05.2024 13:17
    +1

    Кажется те блуждания - это одна из (характеристик?) L-функций, связанных с зета-функцией. Есть отличный dive-in во всё это.


  1. euop
    05.05.2024 13:17

    Встречал похожие фракталы, когда пытался написать симуляцию системы космических тел на юнити. На начальных этапах (в силу того, что я не понимал, что делаю) у меня была система из двух точек, которые вырисовывали спирали Корню. Отправные точки были расположены симметрично относительно начала координат - (-1, 0) и (1,0), например. Точно не вспомню алгоритм движения этих тел, но их угловая скорость постоянно возрастала (равноускоренно). Суть в том, что в какой-то определенный момент переменные, отвечающие за угловые скорости, переполнялись (по крайней мере у меня такое понимание происходящего было), и получались занятные графики. Очень похожи на приведенные в посте. Зарегистрировался на хабре, только чтобы этим поделиться)

    Скриншоты здесь:

    https://ibb.co/rwTz9nC
    https://ibb.co/j6Qf6nm
    https://ibb.co/t2jR292
    https://ibb.co/v1h0GDc


  1. fujinon
    05.05.2024 13:17
    +1

    Почему у вас написано что нетривиальные нули имеют вещественную часть равную -1/2


    1. Tzimie Автор
      05.05.2024 13:17

      А, точно, +1/2. Спасибо что заметили