2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему На страницу 1, 2  След.
 
 Новый эвристический алгоритм получения x^2<sqrt(p) mod p
Сообщение17.12.2021, 13:00 


17/12/21
6
Добрый день.
Пусть $p-x>x>\sqrt{p}$ где $p$- составное число, $x\in Z$- уберем тривиальные случаи.
Задача - найти такие $x$, для котрых $ x^2<\sqrt{p} \; \pmod p$

Есть несколько способов решения. Притом все они численные!
Вот способ, который найден мной - не знаю, новый они или нет. Но в книжках не находил подобного.

$(A+x)^2 \equiv A^2+2Ax+x^2 \; \pmod p \;(1)$
Пусть $A^2 \equiv C \; \pmod p$ подставим в (1) и приравняем к нулю
$C+2Ax+x^2 \equiv 0 \; \pmod p$
Решим то, что получилось относительно $х$, результат округлим вверх $x=A \pm \lceil(\sqrt{A^2-C})\rceil$
Подставим $x$ в (1), $( \pm \lceil\sqrt{A^2-C}\rceil)^2 \equiv Y\; \pmod p$. Проверим не меньше ли $Y $ квадратного корня из $p$.
А теперь внимание - вот тут вся соль
Положим $A \equiv Y^2 \;\pmod p$ и повторим все вычисления
Как ни странно, цикл часто сходится к величине, меньшей $\sqrt{p}$
Вот Pari/GP код
Код:
\p300
{p=1234577*3001;
c=ceil(sqrt(p));
for(u=c,p,

b=lift(Mod(u^2,p));
c2=lift(Mod(b^2,p));

for(y=1,200,

t=ceil(sqrt(b*b-c2));

b=lift(Mod(t^2,p));
c2=lift(Mod(b^2,p));

if(b<c, break()); \\break at sub sqrt residual
);
localprec(7);
z=b/c/1.;
if(z<1,print(z,"  ",t," ",issquare(b)));

);}

 Профиль  
                  
 
 Posted automatically
Сообщение17.12.2021, 13:08 
Заслуженный участник


09/05/12
25179
 i  Тема перемещена из форума «Математика (общие вопросы)» в форум «Карантин»
по следующим причинам:

- неправильно набраны формулы (краткие инструкции: «Краткий FAQ по тегу [math]» и видеоролик Как записывать формулы).

Исправьте все Ваши ошибки и сообщите об этом в теме Сообщение в карантине исправлено.
Настоятельно рекомендуется ознакомиться с темами Что такое карантин и что нужно делать, чтобы там оказаться и Правила научного форума.

 Профиль  
                  
 
 Posted automatically
Сообщение17.12.2021, 15:23 
Заслуженный участник


09/05/12
25179
 i  Тема перемещена из форума «Карантин» в форум «Математика (общие вопросы)»

 Профиль  
                  
 
 Re: Новый эвристический алгоритм получения x^2<sqrt(p) mod p
Сообщение17.12.2021, 18:56 


17/12/21
6
Конкретно вопросы следующие
1) Это нечто новое или давно общеизвестное?
2) Почему данный алгоритм вообще работает?
3) Почему если построить график Начальные значения-Результат, он выглядит в точности как энегетические уровни в квантовой механике)
4) Почему при различных начальных данных получаем одинаковые конечные результаты -
и можно ли использовать это как решето?
5) Можно ли применить такой же трюк к степеням выше 2?
6) Есть ли особые свойства у получаемых значений?
7) Какое наименьшее значение можно получить данным методом для больших р?

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

 Профиль  
                  
 
 Re: Новый эвристический алгоритм получения x^2<sqrt(p) mod p
Сообщение18.12.2021, 15:00 
Заслуженный участник
Аватара пользователя


03/06/08
2337
МО
С целью, простите за выражение, самообразования (с); позвольте вопрос: что есть
RomanM в сообщении #1543281 писал(а):
$ x^2<\sqrt{p} \; \pmod p$

Понятен смысл равенства по модулю, а вот это что значит?

 Профиль  
                  
 
 Re: Новый эвристический алгоритм получения x^2<sqrt(p) mod p
Сообщение18.12.2021, 17:40 
Аватара пользователя


07/01/16
1612
Аязьма
Можно ли попросить вас на простом примере для $p=16$ о следующем:
1. Подтвердить, что разыскивается $x=7$ и только оно ($7^2\bmod16=1<4$);
2. Кратко пояснить, как выдача приложенного куска кода помогает понять, что мы нашли требуемое значение $x$.
Спасибо!

 Профиль  
                  
 
 Re: Новый эвристический алгоритм получения x^2<sqrt(p) mod p
Сообщение18.12.2021, 18:50 
Заслуженный участник


20/08/14
11867
Россия, Москва
Лучше спросить к какому значению из нескольких должен сходиться приведённый алгоритм и почему к нему:
Код:
? p=24; sq=sqrt(p); for(x=floor(sq)+1,p\2-1, if((x^2)%p<sq, print1(x,",")))
5,7,10,11,
? p=48; sq=sqrt(p); for(x=floor(sq)+1,p\2-1, if((x^2)%p<sq, print1(x,",")))
7,10,12,14,17,22,23,
? p=60; sq=sqrt(p); for(x=floor(sq)+1,p\2-1, if((x^2)%p<sq, print1(x,",")))
8,11,19,22,28,29,
? p=96; sq=sqrt(p); for(x=floor(sq)+1,p\2-1, if((x^2)%p<sq, print1(x,",")))
10,14,17,22,24,26,31,34,38,45,46,47,

пианист в сообщении #1543425 писал(а):
Понятен смысл равенства по модулю, а вот это что значит?
Это: $x^2 \bmod p < \sqrt{p}\bmod p = \sqrt{p}$.

 Профиль  
                  
 
 Re: Новый эвристический алгоритм получения x^2<sqrt(p) mod p
Сообщение19.12.2021, 19:05 


17/12/21
6
пианист в сообщении #1543425 писал(а):
С целью, простите за выражение, самообразования (с); позвольте вопрос: что есть
RomanM в сообщении #1543281 писал(а):
$ x^2<\sqrt{p} \; \pmod p$

Понятен смысл равенства по модулю, а вот это что значит?

это значит вот что $x^2=y  \pmod p \; y<\sqrt{p}$

-- 19.12.2021, 19:07 --

Dmitriy40 в сообщении #1543443 писал(а):
Лучше спросить к какому значению из нескольких должен сходиться приведённый алгоритм и почему к нему:
Код:
? p=24; sq=sqrt(p); for(x=floor(sq)+1,p\2-1, if((x^2)%p<sq, print1(x,",")))
5,7,10,11,
? p=48; sq=sqrt(p); for(x=floor(sq)+1,p\2-1, if((x^2)%p<sq, print1(x,",")))
7,10,12,14,17,22,23,
? p=60; sq=sqrt(p); for(x=floor(sq)+1,p\2-1, if((x^2)%p<sq, print1(x,",")))
8,11,19,22,28,29,
? p=96; sq=sqrt(p); for(x=floor(sq)+1,p\2-1, if((x^2)%p<sq, print1(x,",")))
10,14,17,22,24,26,31,34,38,45,46,47,

пианист в сообщении #1543425 писал(а):
Понятен смысл равенства по модулю, а вот это что значит?
Это: $x^2 \bmod p < \sqrt{p}\bmod p = \sqrt{p}$.

тут то все понятно - этот алгоритм не эвристический, и выдаст ВСЕ значения, меньшие квадратного корня из р. А приведенный выше - не все.

-- 19.12.2021, 19:11 --

waxtep в сообщении #1543434 писал(а):
Можно ли попросить вас на простом примере для $p=16$ о следующем:
1. Подтвердить, что разыскивается $x=7$ и только оно ($7^2\bmod16=1<4$);
2. Кратко пояснить, как выдача приложенного куска кода помогает понять, что мы нашли требуемое значение $x$.
Спасибо!

Никак. Это эвристика - бог его знает как оно вообще сходится к чему-то. Тут и вопрос ведь в этом однако

 Профиль  
                  
 
 Re: Новый эвристический алгоритм получения x^2<sqrt(p) mod p
Сообщение19.12.2021, 19:32 
Заслуженный участник
Аватара пользователя


03/06/08
2337
МО
RomanM в сообщении #1543584 писал(а):
это значит вот что $x^2=y  \pmod p \; y<\sqrt{p}$

Видимо, $x^2 = y \pmod p \ \& \ y <  \sqrt{p}$..
Но это (больше или меньше) же зависит от выбора $y$, можно выбрать и так, и так.
Впрочем, можете не отвечать, если уважаемые waxtep и Dmitriy40 понимают, о чем речь, не хочу отнимать Ваше внимание.

 Профиль  
                  
 
 Re: Новый эвристический алгоритм получения x^2<sqrt(p) mod p
Сообщение19.12.2021, 20:13 
Аватара пользователя


07/01/16
1612
Аязьма
RomanM в сообщении #1543584 писал(а):
Никак. Это эвристика - бог его знает как оно вообще сходится к чему-то. Тут и вопрос ведь в этом однако
Не, у меня более прикладной вопрос, не могу понять, что ваш код делает. Вот мы при $p=16$ дошли до $u=7$ (это ведь $x$?) во внешнем цикле; при первом же проходе цикла внутреннего ($y=1$) получили $t=b=c_2=0$ и напечатали $\texttt{0,0,1}$. Если я правильно понял ваш алгоритм - такая выдача, это хорошо, сигнал найденного $x$; но тогда его в выдачу бы добавить что ли (напечатать и значение $u$). Или все совсем не так?

 Профиль  
                  
 
 Re: Новый эвристический алгоритм получения x^2<sqrt(p) mod p
Сообщение19.12.2021, 20:21 
Заслуженный участник


20/08/14
11867
Россия, Москва
пианист
$x^2$ по модулю $p$ (т.е. остаток от деления $x^2/p$) должен быть меньше $\sqrt{p}$: $x^2 \bmod p < \sqrt{p}$.
Если по модулю можно проверять на равенство, что Вам понятно, то можно и сравнивать на больше/меньше.

 Профиль  
                  
 
 Re: Новый эвристический алгоритм получения x^2<sqrt(p) mod p
Сообщение19.12.2021, 20:26 


17/12/21
6
Dmitriy40 там у меня некорректно чисто математически написано и это чистая правда. По смыслу можно понять, но математиков, настоящих - коробит.
waxtep
Все так, почти. Просто я тестировал тот код на значениях p ~10^300, а там такая ситуация, скажем так, редкая. Совсем редкая) Поэтому ее специально не прописывал.

Просьба посмотреть свежим взглядом на замкнутые циклы, в которые частенько сваливается алгоритм. Памятуя о $\rho-$ алгоритме Полларда)

 Профиль  
                  
 
 Re: Новый эвристический алгоритм получения x^2<sqrt(p) mod p
Сообщение19.12.2021, 20:46 
Аватара пользователя


07/01/16
1612
Аязьма
RomanM, давайте может быть тогда о смысле задачи поговорим: вы пытаетесь найти собственный делитель довольно крупного числа $p$? Величина $x$ - это искомый делитель, или какая-то заготовка для его нахождения?

 Профиль  
                  
 
 Re: Новый эвристический алгоритм получения x^2<sqrt(p) mod p
Сообщение19.12.2021, 20:54 
Заслуженный участник
Аватара пользователя


03/06/08
2337
МО

(Оффтоп)

Dmitriy40 в сообщении #1543607 писал(а):
$x^2$ по модулю $p$ (т.е. остаток от деления $x^2/p$)

А, остаток. То есть $x^2 - [\frac{x^2}{p}]p < \sqrt{p}$.
Понятно, спасибо.

 Профиль  
                  
 
 Re: Новый эвристический алгоритм получения x^2<sqrt(p) mod p
Сообщение19.12.2021, 21:09 


17/12/21
6
Есть два спрособа найти малые остатки от деления после возведения числа x в квадрат по модулю некоего составного числа - первый и самый очевидный - алгоритм Dmitriy40. Просеивание набора полиномов - это всего лишь вариация данного способа. Второй - разложение в цепную дробь. А тут речь о третьем способе и он скажем так, несколько странный.
Смысл задачи - исследовать собственно сам способ.
Так как он, вероятнее всего, все же новый.
Сейчас трудно найти что-то новое в таком перекопанном огороде, как
остатки от деления) И тем не менее.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 20 ]  На страницу 1, 2  След.

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: YandexBot [bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group