Python科学计算系列10—数论
1.常用操作
代码如下:
# coding=utf-8
from sympy import *
from sympy.ntheory.modular import solve_congruence, crt # 阶乘
# 例:求5的阶乘
print(factorial(5))
# 分解质因数
# 例:将300分解质因数
print(factorint(300, visual=True))
# 欧拉函数
# 例:求Ψ(25)的值
print(totient(25))
# 判断是否质数
# 例:求2^17-1是否为质数
print(isprime(2 ** 17 - 1))
# 莫比乌斯函数
print(mobius(13 * 17 * 5))
# 求因子
print(divisors(36))
# 解同余方程
# 例:今有一数,除3余2,除5余3,除7余2,问该数几何?
# 第一个数为余数,第二个数为模数
# 方法1
print(solve_congruence((2, 3), (3, 5), (2, 7)))
# 方法2
# 前三个数为模数,后三个为余数
print(crt([3, 5, 7], [2, 3, 2]))
# 求离散对数(7^3mod15=41)
print(discrete_log(41, 15, 7))
运行结果:

2.求可以尺规作图的正n边形(n<100)
代码如下:
a = []
for i in range(1, 101):
if isprime(2 ** i - 1):
a.append(i)
print(a)
运行结果:
[2, 3, 5, 7, 13, 17, 19, 31, 61, 89]
3.函数简介
欧拉函数φ(n)
定义:φ(n)表示不超过n且与n互素的正整数的个数
计算公式

例:φ(25)=25(1-1/5)=20
莫比乌斯函数μ(n)
定义如下:

例:μ(5*11*13)=(-1)^3=-1
Python科学计算系列10—数论的更多相关文章
- Python科学计算之Pandas
Reference: http://mp.weixin.qq.com/s?src=3×tamp=1474979163&ver=1&signature=wnZn1UtW ...
- Python科学计算库Numpy
Python科学计算库Numpy NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库. 1.简 ...
- windows下安装python科学计算环境,numpy scipy scikit ,matplotlib等
安装matplotlib: pip install matplotlib 背景: 目的:要用Python下的DBSCAN聚类算法. scikit-learn 是一个基于SciPy和Numpy的开源机器 ...
- Python科学计算(二)windows下开发环境搭建(当用pip安装出现Unable to find vcvarsall.bat)
用于科学计算Python语言真的是amazing! 方法一:直接安装集成好的软件 刚开始使用numpy.scipy这些模块的时候,图个方便直接使用了一个叫做Enthought的软件.Enthought ...
- 目前比较流行的Python科学计算发行版
经常有身边的学友问到用什么Python发行版比较好? 其实目前比较流行的Python科学计算发行版,主要有这么几个: Python(x,y) GUI基于PyQt,曾经是功能最全也是最强大的,而且是Wi ...
- Python科学计算库
Python科学计算库 一.numpy库和matplotlib库的学习 (1)numpy库介绍:科学计算包,支持N维数组运算.处理大型矩阵.成熟的广播函数库.矢量运算.线性代数.傅里叶变换.随机数生成 ...
- Python科学计算基础包-Numpy
一.Numpy概念 Numpy(Numerical Python的简称)是Python科学计算的基础包.它提供了以下功能: 快速高效的多维数组对象ndarray. 用于对数组执行元素级计算以及直接对数 ...
- Python 科学计算-介绍
Python 科学计算 作者 J.R. Johansson (robert@riken.jp) http://dml.riken.jp/~rob/ 最新版本的 IPython notebook 课程文 ...
- Python科学计算PDF
Python科学计算(高清版)PDF 百度网盘 链接:https://pan.baidu.com/s/1VYs9BamMhCnu4rfN6TG5bg 提取码:2zzk 复制这段内容后打开百度网盘手机A ...
- python 科学计算及数据可视化
第一步:利用python,画散点图. 第二步:需要用到的库有numpy,matplotlib的子库matplotlib.pyplot numpy(Numerical Python extensions ...
随机推荐
- C语言中的窗口滑动技术
学习文章:C语言中的窗口滑动技术 滑动窗口法 C语言中的窗口滑动技术 循环几乎是每个复杂问题的一部分.太多的循环/嵌套循环会增加所需的时间,从而增加程序的时间复杂性.窗口滑动技术是一种计算技术,用于减 ...
- idea 构建项目 编译失败: 内部 java 编译器错误
昨天编译还好好的项目,今天不能构建运行了.尝试多种办法没有解决,咨询一位趟过坑的资深同事得到解决.(猜是由于项目不断增加依赖包,内存不够用了.) IDEA 文件|设置(Ctrl+Alt+S)|构建.执 ...
- vue-element-template改为从后台获取菜单
一.后端接口获取菜单信息 1.返回数据样式 { "code": 20000, "data": [{ "menuId": "2000 ...
- C# Winform 当音频播放完成后,播放下一个音频,怎么知道音频有没有播放完成
程序在预警时,会发出报警音,当报警音频播放时间,超过预警频率时,就会像我们打印文档一样,像打印机发送10次打印任务.当打出第1张纸的时候,这时候想取消打印.就不能在电脑端通过软件操作了.因此为了避免这 ...
- C语言中函数有多个返回值的实现
在C中,正常情况下,我们只能从函数中返回一个值.但在有些情况下,我们需要从函数中返回多个值,此时使用数组或指针能够很好地完成这样的任务.这里是一个示例,这个程序使用一个整型数组作为参数,并将数组元素的 ...
- 《基于NLP内容理解》出书
<基于NLP内容理解>出书初心: 1)情怀&梦想:记得自己高中的时候每次冲进我们县城的书店,都能看到书店中央摆放着白岩松老师的一本自传,当时的那种崇拜一直萦绕在自己的心里,想着自己 ...
- Flume - [03] HDFS Sink
一.概述 将事件写入 Hadoop 分布式文件系统(HDFS).目前支持创建文本和序列文件.支持两种文件类型的压缩.可以根据经过的时间.数据大小或事件数 周期性地滚动文件(关闭当前文件并创建文件) ...
- CentOS7脚本检测SpringBoot项目JAR包变化后自动重启
#!/bin/bash # 文件目录 fileDir=/usr/local/project/back logDir=/usr/local/project/logs # 设置需要检测的文件路径 file ...
- Vitepress+EdgeOne Pages快速迁移旧网站内容
Vitepress+EdgeOne Pages快速迁移旧网站内容 目录 Vitepress+EdgeOne Pages快速迁移旧网站内容 下载旧网站文章.图片 网站文章转Markdown Vitepr ...
- 在Linux系统中下载`gcc-linaro-7.2.1-2017.11-x86_64_aarch64-linux-gnu`工具链
要在Linux系统中下载gcc-linaro-7.2.1-2017.11-x86_64_aarch64-linux-gnu工具链,你可以按照以下步骤进行操作: 点击查看代码 1. **打开终端**:你 ...