Дискуссионный математический форумМатематический форум
Математический форум Math Help Planet

Обсуждение и решение задач по математике, физике, химии, экономике

Теоретический раздел
Часовой пояс: UTC + 3 часа [ Летнее время ]
новый онлайн-сервис
число, сумма и дата прописью

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 48 ]  На страницу Пред.  1, 2, 3, 4, 5
Автор Сообщение
 Заголовок сообщения: Re: PARI/GP
СообщениеДобавлено: 13 ноя 2024, 07:47 
Не в сети
Свет и истина МРК
Аватара пользователя
Зарегистрирован:
06 янв 2015, 22:27
Сообщений: 7442
Откуда: Саратов
Cпасибо сказано: 839
Спасибо получено:
643 раз в 563 сообщениях
Очков репутации: -228

Добавить очки репутацииУменьшить очки репутации
Ну, коллеги ещё спят :)
Всё время забываю, что можно у самлгл PARI/GP спрашивать.
Спрашиваю и получаю ответ

(07:10) gp > ?random
random({N=2^31}): random object, depending on the type of N. Integer between 0
and N-1 (t_INT), int mod N (t_INTMOD), element in a finite field (t_FFELT),
point on an elliptic curve (ellinit mod p or over a finite field).

(08:24) gp > random({N=62866572585611899485981600})
%81 = 31697717707049732339205688

Кажется, получилось.

Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: PARI/GP
СообщениеДобавлено: 13 ноя 2024, 13:01 
В сети
Профи
Зарегистрирован:
02 июн 2024, 08:09
Сообщений: 385
Cпасибо сказано: 111
Спасибо получено:
238 раз в 198 сообщениях
Очков репутации: 30

Добавить очки репутацииУменьшить очки репутации
Кстати, можно в качестве аргумента задавать интервал вектором [от, до]
(12:52) gp > random([7858321551080267055879090, 557940830126698960967415390])
%68 = 165784244690549905279995034
(12:52) gp > random([7858321551080267055879090, 557940830126698960967415390])
%69 = 307860870011445319045294116

Можно даже запрашивать случайное простое из интервала:
randomprime([7858321551080267055879090, 557940830126698960967415390])
%75 = 197169434016963707564055019


Последний раз редактировалось tomtitsin 13 ноя 2024, 13:53, всего редактировалось 1 раз.
Вернуться к началу
 Профиль  
Cпасибо сказано 
За это сообщение пользователю tomtitsin "Спасибо" сказали:
Nataly-Mak
 Заголовок сообщения: Re: PARI/GP
СообщениеДобавлено: 13 ноя 2024, 13:47 
Не в сети
Свет и истина МРК
Аватара пользователя
Зарегистрирован:
06 янв 2015, 22:27
Сообщений: 7442
Откуда: Саратов
Cпасибо сказано: 839
Спасибо получено:
643 раз в 563 сообщениях
Очков репутации: -228

Добавить очки репутацииУменьшить очки репутации
Спасибо.
Это хорошо.
Я про это думала.

Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: PARI/GP
СообщениеДобавлено: 13 ноя 2024, 17:20 
Не в сети
Свет и истина МРК
Аватара пользователя
Зарегистрирован:
06 янв 2015, 22:27
Сообщений: 7442
Откуда: Саратов
Cпасибо сказано: 839
Спасибо получено:
643 раз в 563 сообщениях
Очков репутации: -228

Добавить очки репутацииУменьшить очки репутации
Цитата:
Можно даже запрашивать случайное простое из интервала:
randomprime([7858321551080267055879090, 557940830126698960967415390])
%75 = 197169434016963707564055019

И всё-таки телепатия! :)
Вы прям отвечаете на все мои мысли.
Я ведь ещё и в блоге об этом не писала ;)

Это, конечно, здорово.
Я сейчас генерирую случайное число, потом проверяю его на простоту.
А тут уже и проверять на простоту не надо.


Последний раз редактировалось Nataly-Mak 13 ноя 2024, 18:17, всего редактировалось 1 раз.
Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: PARI/GP
СообщениеДобавлено: 13 ноя 2024, 18:11 
В сети
Профи
Зарегистрирован:
02 июн 2024, 08:09
Сообщений: 385
Cпасибо сказано: 111
Спасибо получено:
238 раз в 198 сообщениях
Очков репутации: 30

Добавить очки репутацииУменьшить очки репутации
Да, я тоже пробовал сравнивать разные подходы. PARI иногда совершенно непредсказуемо замедляет или ускоряет процессы при казалось бы незначительных изменениях. В вашем случае довольно предсказуемо. Вот генерация миллиона простых в вашем диапазоне. На каждое простое уходит в среднем по 60 случайных попыток. Внутри себя отбор на 25% быстрее.

{k=0;m=0;
while( k<10^6,
n= random(
[7858321551080267055879090,
557940830126698960967415390]);
m++;
if(ispseudoprime(n),k++,next)
); printf("%d primes in %d attempts\n",k,m)}
1000000 primes in 60586412 attempts
time = 4min, 13,534 ms.

{for( i=1,10^6,
n= randomprime(
[7858321551080267055879090,
557940830126698960967415390])
)}
time = 2min, 59,932 ms.


++ В данных конкретных реализациях быстрее находит по своим внутренним расчётам, хотя алгоритм озвучен такой же, с проверкой ispseudoprime.
Просто генерация 60 млн случайных чисел из того же диапазона идёт полминуты.


Последний раз редактировалось tomtitsin 13 ноя 2024, 18:43, всего редактировалось 2 раз(а).
Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: PARI/GP
СообщениеДобавлено: 13 ноя 2024, 18:16 
Не в сети
Свет и истина МРК
Аватара пользователя
Зарегистрирован:
06 янв 2015, 22:27
Сообщений: 7442
Откуда: Саратов
Cпасибо сказано: 839
Спасибо получено:
643 раз в 563 сообщениях
Очков репутации: -228

Добавить очки репутацииУменьшить очки репутации
Правильно ли я понимаю, что запрашивать сразу простое выгоднее?

Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: PARI/GP
СообщениеДобавлено: 14 ноя 2024, 07:06 
Не в сети
Свет и истина МРК
Аватара пользователя
Зарегистрирован:
06 янв 2015, 22:27
Сообщений: 7442
Откуда: Саратов
Cпасибо сказано: 839
Спасибо получено:
643 раз в 563 сообщениях
Очков репутации: -228

Добавить очки репутацииУменьшить очки репутации
tomtitsin
я веду случайный поиск в интервале
randomprime([7858321729865106774999097, 62866572585611899485981600])

PARI/GP может посчитать, сколько в этом интервале простых чисел?

Вопрос ко всем: если без PARI/GP; есть какая-то формула для приблизительной оценки количества простых чисел не превышающих [math]x[/math].
Я её не помню.
Напомните, пожалуйста.

Очень хочется узнать, сколько в показанном интервале простых чисел :)

Заранее спасибо.

Добавлено

Кажется, формула такая

[math]\pi (x) \approx \frac{ x}{ ln(x)}[/math]

Вольфрам Альфа насчитал в интервале (0, 7858321729865106774999097) примерно
1.37086987438024616386247088706106619184525510969807155381840... × 10^23
простых чисел.

О-о-о!
Как много! :)

Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: PARI/GP
СообщениеДобавлено: 14 ноя 2024, 08:06 
Не в сети
Свет и истина МРК
Аватара пользователя
Зарегистрирован:
06 янв 2015, 22:27
Сообщений: 7442
Откуда: Саратов
Cпасибо сказано: 839
Спасибо получено:
643 раз в 563 сообщениях
Очков репутации: -228

Добавить очки репутацииУменьшить очки репутации
Считаю дальше.

Вольфрам Альфа насчитал в интервале (0, 62866572585611899485981600) примерно
1.05830534579086470859965648964797044330410380686757599335277... × 10^24
простых чисел.

Теперь надо найти разность этих двух результатов.
И что у нас получится?

PARI/GP выдал такой результат (округлённо)
921210000000000000000000

Хороший результат :)

Одно из этих простых чисел может начать искомый кортеж, если он существует в данном интервале.

Как бы вроде он существует с вероятностью 0,686.

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

 Похожие темы   Автор   Ответы   Просмотры   Последнее сообщение 
Для тех, кто знает PARI/GP

в форуме Информатика и Компьютерные науки

Nataly-Mak

24

594

18 янв 2023, 09:25

Где найти программиста на PARI/GP?

в форуме Объявления участников Форума

AlexSam

3

601

30 сен 2015, 17:53


Часовой пояс: UTC + 3 часа [ Летнее время ]



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

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


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

Найти:
Перейти:  

Яндекс.Метрика

Copyright © 2010-2024 MathHelpPlanet.com. All rights reserved