数学及计算机代数系统数学原理
文章平均质量分 60
Mysterium
这个作者很懒,什么都没留下…
展开
-
Lenstra因子分解椭圆曲线方法
这几天一直在研究ECM因子分解算法。这个方法主要基于椭圆曲线上的加法运算,一种群运算。椭圆曲线是代数几何里面非常重要的曲线,虽然我对代数几何了解甚少,但是椭圆曲线的大名早已如雷贯耳。从纯数学的费马大定理的证明到密码学的椭圆曲线加密体制……椭圆曲线的作用远不止此。下图是一个椭圆曲线的图像。可以证明椭圆曲线是一个加法群,我们可以定义其上的加法:原创 2012-08-30 17:45:17 · 4537 阅读 · 0 评论 -
Solovay-Strassen素数检验
现在有效的素数检验算法基本都基于概率性的检测,虽然2002诞生了AKS算法,但是在实际应用中,依然依赖概率性检测算法。Solovay, Strassen于1974年最早提出了概率性的素数检验方法,我们现在称为Solovay-Strassen检测代码:(其中expmod是幂取模(见rabin-miller的代码),jacobi是jacobi符号计算函数)(defun so原创 2012-08-26 13:15:52 · 5430 阅读 · 0 评论 -
整数因子分解的Pollard p-1方法
整数因子分解最直观的方法当数“试除法”,数论中的Mertens定理告诉我们76%的奇数都有小于100的素因子,因此对于大多数整数,“试除法”已经足够,但是对于特殊的数,特别是素因子普遍较大的时候,“试除法"的效率便明显不足。 和素数检验类似,目前几乎所有实用的分解方法都是概率性的算法, 目标是找到能计算x 的算法, 使得(x,N) > 1 的概率较大(而最大公因子可以很快地计算).原创 2012-08-27 13:29:39 · 10390 阅读 · 2 评论 -
Rabin-Miller概率素数检验算法
一个应用非常普遍的素数检测算法:我的实现:(defun expmod (base exp modulo) (if (= exp 0) 1 (if (evenp exp) (mod (expt (expmod base (/ exp 2) modulo) 2) modulo) (mod (* base (expmod base (-原创 2012-08-25 17:26:32 · 768 阅读 · 0 评论 -
Jacobi符号计算的一种实现
Jacobi符号是Legendre符号的推广,在素性检验以及因子分解等诸多方面极为有用,所以先写一个备着,写其他算法时方便直接调用。(defun jacobi (n m) (let ((e 0) (a1 0)(a n) (s 0)(b m) (n1 0)) (cond ((= a 0) 0) ((= a 1) 1)原创 2012-08-26 12:15:19 · 2331 阅读 · 0 评论 -
整数因子分解的Pollard-rho方法
Pollard-rho方法该方法由Pollard于1975年在论文A monte carlo method for factorization中提出,论文可以见http://www.cs.cmu.edu/~avrim/451f11/lectures/lect1122_Pollard.pdf这个算法来源于一个事实:原创 2012-08-28 14:34:57 · 1671 阅读 · 0 评论 -
PRIMES is in P
PRIMES is in P的主要内容翻译,这是以前作为作业的时候翻译的,略去了一些次要内容。放在这里普及一下AKS。翻译 2012-08-28 14:55:47 · 6979 阅读 · 0 评论