Вводная информация
Термин full reptend prime применяется к простому числу P в некоторой системе счисления base, в случае если число 1/P может быть представлено в виде бесконечной периодической дроби, длина периода которой будет равна P - 1.
Для любого простого числа P, существует бесконечное множество систем счисления в которых данное P является full reptend. Данные системы счисления распределены в соответствии с паттерном, уникальным для каждого числа P.
В таблице строки соответствуют простым числам, а столбцы системам счисления. В каждой ячейке отображена длина периода бесконечной периодической дроби 1/P. Зелеными ячейками выделены позиции соответствующие определению full reptend prime. Для каждого простого числа длина паттерна равна P.
Системы счисления в которых невозможны full reptend
Визуально заметна закономерность: для всех простых чисел P >= 3, не существует full reptend в системах счисления, которые являются квадратами натуральных чисел.
Для P = 2 full reptend позиция будет встречаться в системах счисления, которые являются квадратами нечетных чисел.
До визуализации таблицы выше, я предполагал что количество full reptend позиций увеличивается или остаётся равным при росте P. Однако это оказалось не так: для P = 17 существует 8 позиций, а для P = 19 всего 6.
Выписав количество позиций для первых 9 простых чисел, я получил: 1, 1, 2, 2, 4, 4, 8, 6, 10. В OEIS я нашёл последовательность, которая описывала искомую мной закономерность.
Вывод из найденной последовательности: для того чтобы получить количество full reptend позиций для простого числа P, требуется получить значение функции Эйлера в точке P-1, т.е. phi(P-1).
Схожим методом я осуществил попытку найти последовательность, описывающею паттерны full reptend позиций. Для первых 6 простых чисел у меня получилось: 1, 2, 2, 3, 3, 5, 2, 6, 7, 8, 2, 6, 7, 11. Успешно нашлась соответствовавшая последовательность. Интересно отметить, что P = 2 было отведено в унарную систему счисления.
Вывод из найденной последовательности: для того чтобы определить структуру паттерна full reptend для исследуемого числа P, необходимо найти все первообразные корни по модулю P, для чисел меньше P.
Необходимые условия первообразного корня.
Первообразный корень g по модулю m должен соответствовать двум условиям, заданных формулами иже:
Рассмотрим по подробнее каждое из условий:
Поскольку число m будет всегда простым, а функция Эйлера в точках соответствующих простому числу P, будет равна P - 1 мы можем переписать данное условие:
Схожим образом можно переписать значение l:
Проверка чисел 2 и 3, на возможность выступать первообразным корнем по модулю 7.
Рассмотрим g = 2:
Т.к. 26 mod 7 = 1, первое из двух условий выполнилось. Теперь необходимо проверить оставшиеся 5 условий:
2 mod 7 = 2
4 mod 7 = 4
8 mod 7 = 1
16 mod 7 = 2
32 mod 7 = 4
Условие номер 3 не было выполнено, т.е. среди l нашлось такое l = 3, когда xl mod m равно 1.
Рассмотрим g = 3:
Т.к. 36 mod 7 = 1, первое условие выполнилось
Теперь рассмотрим 5 оставшихся условий:
3 mod 7 = 3
9 mod 7 = 2
27 mod 7 = 6
81 mod 7 = 4
243 mod 7 = 5
Все условия выполнились! Из этого следует, что 3 является первообразным корнем по модулю 7.
Симметрия структур периодических дробей
Для P >= 5 количество full reptend позиций всегда будет кратно 2. При этом любая структура периодической дроби в некоторой full reptend позиции, будет иметь свое симметричное отображение в другой full reptend позиции.
Данную закономерность удобнее всего визуализировать при помощи анимации. Внутри двух визуально похожих паттернов будет осуществляться движение в противоположную сторону.
Рассмотрим P = 5:
Рассмотрим P = 7:
Рассмотрим P = 11:
И последний пример, для P = 13:
Уроборическая связь
Данная закономерность названа в честь мистического змея уробороса пожирающего свой хвост. Причина такого названия кроется в визуальной закономерности.
Суть этой закономерности сводится к 2-м фактам:
-
Для того чтобы визуализация периодической дроби 1/P была симметрична в системе счисления base требуется:
Если base < P, тогда цифры 0 и base - 1 помещаются на отдельные позиции, такое размещение я назвал не-уроборичным;
Если base > P, тогда цифры 0 и base - 1 помещаются на одной позиции (от сюда и название, змея пожирающего свой хвост), такое размещение я назвал уроборичным.
Первая full reptend позиция с уроборичным размещением визуально идеально сочетается с full reptend позицией не-уроборичного размещения, если разница между системами счисления равна P.
Стоит отметить, что в системе счисления base = P не могут быть full reptend позиций.
Рассмотрим P = 5:
Рассмотрим P = 7:
Рассмотрим P = 11:
Рассмотрим P = 13:
И последним рассмотрим P = 17:
Структуры c не-уроборическом размещение являются "свернутыми", т.к. находятся в системе счисления, которая не может отобразить паттерн целиком. Но во всех последующих уроборических размещениях структура паттерна выглядит идентично.
Реверсированные периодические дроби
В один момент, мне стало любопытно: при помощи какой операции я мог бы получить из дроби 0.(142857) дробь 0.(758241).
Для того чтобы получить периодическую дробь в системе счисления base необходимо разделить число ожидаемое как период, на repunit соответствующей длины умноженный на base - 1.
Для того чтобы получить периодическую дробь 0.(758241) я разделил 758241 на 999999. Если сократить эту дробь, то получится: 3 * 23 / 7 * 13, или 69/91. Т.е. мне понадобилось умножить 1/7 на 69/13, чтобы развернуть порядок цифр.
При исследовании дробей от 1/91 до 90/91 я увидел, что в этом диапазоне находятся как все дроби от 1/7 до 6/7 и их реверсированные паттерны, так и все дроби от 1/13 до 12/13 с их реверсированными паттернами.
Для того чтобы увидеть немного больше об этой закономерности, разложим циклические числа на простые множители:
Циклическое число полученное от 1/7 = 142857 = 33 * 11 * 13 * 37,
Циклическое число полученное от 1/13 = 76923 = 33 * 7 * 11 * 37,
Знаменатель для получения периодической дроби = 999999 = 33 * 7 * 11 * 13 * 37.
Как можно видеть, знаменатель для получения периодической дроби отличается от циклических чисел на простые числа 7 и 13 соответственно.
Для получения реверсированных дробей простые числа могут комбинироваться не только парами: бывают случаи когда простое число комбинируясь с самим собой создает реверсированные дроби, например для P = 5. Или когда требуются использовать 3 простых числа, например для P = 17.
Спектр числа
Когда я приступил к исследованию темы full reptend prime - я ввел несколько собственных понятий, которые мне помогали систематизировать наблюдаемые явления. Одним из таких понятий был "спектр числа", который представлял собой массив с количествами использования каждой цифры. Например, для числа 41234 его спектр числа в десятичной системе счисления будет равен [0, 1, 1, 1, 2, 0, 0, 0, 0, 0].
Можно заметить общую закономерность, числа 1/17, 1/47, 1/97 генерируют спектр числа похожий на 1/7, с одним только отличием - к каждой из "корзин" спектра добавляется число десятков. Т.е. в случае с 1/17 это равномерное увеличение спектра на 1, в случае с 1/47 на 4, и в случае с 97 на 9 соответственно.
Сонификация
Мне было интересно исследовать закономерности не только при помощи глаз, потому я написал немного кода, который позволял их сонифицировать. Большое число сонификаций оказались не слишком гармоничными, но хочу привести два примера, которые звучат на мой взгляд неплохо.
Первой рассмотрим сонификацию 1/7 в 24 системе счисления. Для музыкальности добавлена простая гармонизация мелодии.
Следом идёт сонификация 1/36 в 23 системе счисления. Так же применена гармонизация.
Из-за паттернов циклических чисел, структура мелодии получается ломанной, похожей на математический рок.
Много визуализаций
Для начала я хочу поделиться несколькими красивыми визуализациями периодических дробей.
Некоторые из дробей образуют кардиоиду:
Другой интересный метод - визуализация одновременно всех периодических дробей образованных диапазона рациональных чисел от 1/N до N-1/N, где N это натуральное число.
Подобные визуализации возможны и для простых чисел, которые не находятся в full reptend позиции, т.е. на диапазоне 1/P .. P-1/P образующих несколько разных паттернов (периодических дробей имеющих разные спектры числа).
Ещё интересные визуализации, полученные данным методом:
Использование степеней простых чисел в знаменателе тоже дают визуально интересный результат:
При этом чем больше знаменатель, тем больше "круговых" паттернов образуется при визуализации на системах счисления меньше чем знаменатель:
И последний используемый мной метод визуализации структур периодических дробей, это анимация "вращением" дроби. Суть метода проста: для числа 142857 мы делаем поворот по часовой стрелке, и получаем 253968. Далее операция повторяется, пока мы не вернемся к исходному числу - и при визуализации используются все результаты "вращения".
Чем больше простое число, тем больше "орбит" на которых происходит вращение:
Заключение
Визуализация и сонификация были сделаны при помощи приложения разработанного специально для цели написания данной и предшествующей статьи.
Спасибо большое всем за уделённое внимание!
Мне важно ваше мнение
Наша команда разрабатывает приложение для анализа психоэмоционального состояния человека по голосу, нам очень важно ваше мнение. Мы будем благодарны, если вы пройдёте анкету из 10 вопросов.
Для тех кто запишется на пред-регистрацию мы обещаем скромный, но пожизненный бонус! :)
Комментарии (14)
Progressor2084
24.06.2022 17:22+2А для какой практической цели вы делали это исследование?
constcut Автор
24.06.2022 18:47+1Признаюсь честно, моя цель была привлечь внимание к тому, что псевдонаучная концепция эннеагрммы не более чем выдумка!
К моей большой радости одна из статей на википедии уже помечена псевдонаучной.
Но потом я вошёл во вкус - и мне просто понравилось визуализировать закономерности, которые я находил :)
Гипотетически предполагаю что какие-то из идей связанных с этой темой применимы в криптографии. Например можно создать метод быстрой вероятностной проверки является ли число циклическим и использовать огромные числа такой структуры как ключи.
Но это пальцем в небо, где это применить в точности - я не знаю.
v1000
24.06.2022 18:49Главное правильно интерпретировать возникающие паттерны, потому что они иногда бывают вызваны самими параметрами виртуализации, и ничем другим, хотя могут выглядеть как невероятный прорыв в математике.
constcut Автор
24.06.2022 21:19Согласен! Особенно это применимо к последней группе визуализаций)
Для меня эта работа просто нечто красивое и интересное. Я не профессиональный математик, скорее энтузиаст - но всегда с большим уважением и трепетом относился к математике. Может быть когда-нибудь из этого удастся сделать что-то более цельное :)
karambaso
24.06.2022 20:55+1Музыка зацепила. Я сам не музыкант, но музыканты в консерватории изучают теорию групп, которая очень плотно связывает математику с музыкой. Теория групп же и аналогичные вашим операции с числами изучает. Точнее числа - это лишь одно из множеств, на котором работает теория групп. То есть посыл простой - познав связь музыки с теорией групп вы могли бы осмысленно и эффективно искать музыкальные композиции на основе исследования групп на множестве чисел, возможно простых.
И да, вам нужно больше алгебры. Упоминалось в тексте, что квадраты чисел не содержат длинных периодов, что становится очевидным, если мы вспомним, что в циклической группе квадраты по модулю периода дают в два раза более короткие множества. То есть просто перемножайте в символической форме основания систем счисления и определяйте по модулю простого числа куда попадёт результат, посмотрев на получившийся период увидите - он всегда в два раза короче, чем полный (full). Правда нужно привыкнуть к соответствующим преобразованиям, но это легко, математика тривиальная. Я бы даже сказал, что упражнения с числами наверное самым наглядным образом дают понять, зачем нужна теория групп. Но только через формулы, а не просто подбором чисел и прогоном их через программу.
constcut Автор
24.06.2022 21:16Спасибо большое за такой замечательный комментарий!
Каюсь, мой огрех - давно не доберусь до достойного изучения теории групп, хотя уже больше года на это нацелен. Надеюсь Ваш комментарий даст мне немного мотивационного топлива начать с этим работать!
Tyusha
25.06.2022 11:25музыканты в консерватории изучают теорию гргрупп
Да ну. Что-то не верится. Как ни крути для этого нужна подготовка относительно серьëзная. Как минимум, линейную алгебру надо хорошо знать.
sibirier
25.06.2022 13:32+1ух, какая красота
такие циклические круговые анимации у меня сразу вызвали ассоциации с анимацией загрузки (почему такую ещё не сделали, классно же) и визуальными эффектами применения каких-то умений в играх (вроде даже видел похожее в анимациях окружения. а если не видел, то мозг придумал)
сюда бы добавить динамический сдвиг по фазе, кубический график скорости, раскрасить это и чуть-чуть рассимметризовать (сдвиг положений) и замедлить, получилась бы очень годная анимация окружения для игр. или как, например, анимация движения щупалец медузы при плавании (если не зациклить, а сделать бумеранг). вроде бы и алгоритмично, но если добавить шум Перлина и слегка менять промежуточные точки, то уже как будто и натурально почти выглядеть будет
открыл статью, как обычно бывает в математических статьях подумал «зачем это исследовать?», а после начала анимаций вопрос пропал, спасибо за ещё один источник вдохновенияconstcut Автор
25.06.2022 15:18Спасибо большое за такой тёплый отзыв!
Такие комментарии меня мотивируют продолжать писать статьи)
По данной теме у меня осталось ещё немного на следующую часть, но там есть одна закономерность которую я ещё не раскусил - как доделаю опубликую.
Будет тоже много визуализаций :)
ky0
Кросивое…
constcut Автор
Спасибо большое за тёплый отзыв! :)
ky0
Как давний энтузиаст GIMPS`а просто не мог пройти мимо :)
constcut Автор
Круто! Я никогда не участвовал, но всегда воспринимал это как величественный проект!)