SageMath是一个覆盖许多数学功能的应用软件,包括代数、组合数学、图论、计算数学、数论、微积分和统计。
安装sagemath(ubuntu)
sudo apt install sagemath
在命令行输入sage启动sagemath
输入tutorial或manual()打开离线文档
素数测试
sage: inverse_mod(3,2005) 1337 sage: is_prime(5) True sage: next_prime(2005) 2011 sage: previous_prime(2005) 2003
模幂运算
计算512006 (mod 97)
sage: R = IntegerModRing(97) ##模数 sage: a = R(51) sage: a^2006
乘法逆元 如果a×b ≡ 1 (mod n),则称b是模n下a的乘法逆元,可以写作a-1
例:计算3在模2005下的乘法逆元3-1
sage: inverse_mod(3,2005)
1337
欧几里得算法
求两个整数的最大公约数
sage: gcd(515,2005) 5
扩展欧几里得算法
as+bt=gcd(a,b),求其中的gcd(a,b),s,t
sage: g,s,t = xgcd(12,15) sage: print(g,s,t) 3 -1 1
欧拉函数
φ(n)表示1到n-1中与n互素的整数个数
sage: euler_phi(2005) 1600
中国剩余定理
当模数两两互素时,一元同余方程组有解
其中:
r=a1a2a3 ... an
ri=r/ai
sage: crt(2,1,3,5) ##crt(a,b,m,n),寻找 x 满足 x ≡ a (mod m) 且 x ≡ b (mod n) 11 计算三个及三个以上方程组 sage: crt([2,3,2],[3,5,7]) ##求解物不知数问题 23
标签:prime,crt,数论,sagemath,sage,2005,初等,mod From: https://www.cnblogs.com/jimmy-hwang/p/17325203.html