私はちょうどMiller-Rabin-Testと数を因数分解するための単純な関数を実装しました。両方ともより良い結果が得られ、少なくともMiller-Rabin-Testはよく知られています。Pythonにプライム関連関数のライブラリが存在しますか?
共通のプライム関数を実装しているPython-Libraryが存在するのか、そのようなライブラリが存在しないのか教えてください。
私はちょうどMiller-Rabin-Testと数を因数分解するための単純な関数を実装しました。両方ともより良い結果が得られ、少なくともMiller-Rabin-Testはよく知られています。Pythonにプライム関連関数のライブラリが存在しますか?
共通のプライム関数を実装しているPython-Libraryが存在するのか、そのようなライブラリが存在しないのか教えてください。
gmpy2は、さまざまな偽陽性テストをサポートしています。 Miller-Rabinテストはgmpy2.is_strong_prp()
として利用可能です。
gmpy2にはまだ因子分解コードがありません。
免責事項:私はgmpy2のメンテナーです。素数性テストはhttp://sourceforge.net/projects/mpzprp/files/のコードに基づいています
私は、標準ライブラリにプライム関数専用のモジュールは存在しないと思いますが、もちろん素数性テストなどを書いた人がたくさんいます。
複数精度演算に向いているが、素数の関数が複数あるライブラリ(is_prime()
とnext_prime()
など)は、GMPY2
です。 documentationも利用可能です。
アルゴリズムの実装をお探しの場合はRosetta Codeをご覧ください。ウェブサイトにはPythonで多くの実装があります。あなたは個人的な必要性のためにあなた自身の図書館を一緒にまとめることができます。
私はちょうどSymPy packageからisprime
を発見:
import sympy
print sympy.isprime(10)
出力:
import sympy
print sympy.prime(10)
:
False
n番目の素数を返す、prime
と混同しないように
出力:
29
Prime-Number-Python-Libraryは、開発中のpythonライブラリです。基本的な機能には適していて、大きな数値に対しては非常に高速です。
私は明示的に実装を探していません。私はすでにコードを実装していますが、一般的には、ミラーリングしたモジュールから関数をロードすることをお勧めします。特に、Miller-Rabinのようなものであれば特にそうです。 –