Linux 环境下安装和使用 gmpy2

GMP(全称是GNU Multiple Precision Arithmetic Library,即GNU高精度算术运算库),是一个开源的高精度运算库,其中不但有普通的整数、实数、浮点数的高精度运算,还有随机数生成,尤其是提供了非常完备的数论中的运算接口,比如Miller-Rabin素数测试算法、大素数生成、欧几里德算法、求域中元素的逆、Jacobi符号、legendre符号等。gmpy2 是 Python 的一个扩展库,是对 GMP 的封装,它的前身是 gmpy。

安装 gmp

sudo apt-get install libgmp-dev

安装 mpfr

sudo apt-get install libmpfr-dev

安装 mpc

sudo apt-get install libmpc-dev

安装 gmpy2

sudo pip3 install gmpy2
sudo pip install gmpy2

使用

import gmpy2
gmpy2.mpz(n) #初始化一个大整数
gmpy2.mpfr(x) # 初始化一个高精度浮点数x
d = gmpy2.invert(e,n)  # 求逆元,de = 1 mod n
C = gmpy2.powmod(M,e,n) # 幂取模,结果是 C = (M^e) mod n
gmpy2.is_prime(n)  #素性检测
gmpy2.gcd(a,b)   #欧几里得算法,最大公约数
gmpy2.gcdext(a,b)  #扩展欧几里得算法
gmpy2.iroot(x,n) #x开n次根
  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

江下枫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值