gmpy源代码

时间:2013-03-04 13:34:52

标签: python primes gmp

有什么办法可以查看gympy的源代码吗? 具体而言,gmpy2.is_prime

我尝试了各种链接

我无法在任何地方找到它。

我已下载gmpy2,并在我的本地驱动器上进行了检查,但文件扩展名为.pyd。 当我打开它时(在记事本中),以下是我看到的前几行 -

MZ       ÿÿ  ¸       @                                   ð   º ´  Í!¸LÍ!This program     cannot be run in DOS mode.

其余的都是胡言乱语。

我想写一个非常快速的素数检查器,它是迄今为止遇到的最好的 谁能告诉我如何获得源代码?或者也许链接到其他一些快速检验员的源代码(或讨论)?

2 个答案:

答案 0 :(得分:5)

我保持gmpy和gmpy2。 @cartman和@DJV已经引导你到源代码,但我会添加一些评论。

mpz_probab_prime_p进行试验因子分析,然后进行Miller-Rabin检验的多次迭代。 Miller-Rabin测试不能证明一个数是素数,它非常擅长证明一个数是复合的。如果你重复测试足够多次,那么这个数字很可能是最好的。有一些已知的实例,mpz_probab_prime_p报告复合材料在完成12到15次迭代时是素数。

更有趣的素性测试是BPSW测试。没有已知的复合材料被报告为素数,但它推测它们存在。

gmpy2还包含几个素数算法,可用作完整测试的构建块。它们基于以下代码:

http://sourceforge.net/projects/mpzlucas/

http://sourceforge.net/projects/mpzprp/

一些有用的链接:

http://www.trnicely.net/misc/bpsw.html

http://www.pseudoprime.com/pseudo.html

答案 1 :(得分:3)

它映射到Pympz_is_prime C函数,请参阅this link以获取该函数的源代码。