Подтвердить что ты не робот

Существует ли библиотека для простых функций для Python?

Я только что реализовал Miller-Rabin-Test и простую функцию для факторизации чисел. Оба могут быть сделаны лучше, и, по крайней мере, тест Миллера-Рабина хорошо известен.

Не могли бы вы рассказать мне, существует ли Python-библиотека, реализующая такие общие простые функции или почему такая библиотека не существует?

4b9b3361

Ответ 1

gmpy2 поддерживает множество тестов на псевдослучайность. Тест Миллера-Рабина доступен как gmpy2.is_strong_prp().

У gmpy2 еще нет кода факторизации.

Отказ от ответственности: я поддерживаю gmpy2. Тесты первичности основаны на коде от http://sourceforge.net/projects/mpzprp/files/

Ответ 2

Я только что обнаружил isprime из пакета SymPy:

import sympy
print sympy.isprime(10)

Вывод:

False

Не путать с prime, который возвращает n-е простое число:

import sympy
print sympy.prime(10)

Вывод:

29

Ответ 3

Я не думаю, что существует такой модуль, посвященный основным функциям в стандартной библиотеке, но, конечно, есть много людей, которые написали тесты на первичность и т.д.

Одна библиотека, предназначенная для арифметики с несколькими точками, но имеющая несколько функций для простых чисел (например, is_prime() и next_prime()), GMPY2. Также доступна документация.

Ответ 4

Если вы ищете реализации алгоритмов, посмотрите Rosetta Code. Веб-сайт имеет множество реализаций в Python. Вы могли бы определенно собрать свою собственную библиотеку для своих личных нужд.

Ответ 5

Prime-Number-Python-Library - это библиотека разработки python. Хорошо подходит для основных функций и очень быстро для больших чисел.