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—数论的更多相关文章

  1. Python科学计算之Pandas

    Reference: http://mp.weixin.qq.com/s?src=3&timestamp=1474979163&ver=1&signature=wnZn1UtW ...

  2. Python科学计算库Numpy

    Python科学计算库Numpy NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库. 1.简 ...

  3. windows下安装python科学计算环境,numpy scipy scikit ,matplotlib等

    安装matplotlib: pip install matplotlib 背景: 目的:要用Python下的DBSCAN聚类算法. scikit-learn 是一个基于SciPy和Numpy的开源机器 ...

  4. Python科学计算(二)windows下开发环境搭建(当用pip安装出现Unable to find vcvarsall.bat)

    用于科学计算Python语言真的是amazing! 方法一:直接安装集成好的软件 刚开始使用numpy.scipy这些模块的时候,图个方便直接使用了一个叫做Enthought的软件.Enthought ...

  5. 目前比较流行的Python科学计算发行版

    经常有身边的学友问到用什么Python发行版比较好? 其实目前比较流行的Python科学计算发行版,主要有这么几个: Python(x,y) GUI基于PyQt,曾经是功能最全也是最强大的,而且是Wi ...

  6. Python科学计算库

    Python科学计算库 一.numpy库和matplotlib库的学习 (1)numpy库介绍:科学计算包,支持N维数组运算.处理大型矩阵.成熟的广播函数库.矢量运算.线性代数.傅里叶变换.随机数生成 ...

  7. Python科学计算基础包-Numpy

    一.Numpy概念 Numpy(Numerical Python的简称)是Python科学计算的基础包.它提供了以下功能: 快速高效的多维数组对象ndarray. 用于对数组执行元素级计算以及直接对数 ...

  8. Python 科学计算-介绍

    Python 科学计算 作者 J.R. Johansson (robert@riken.jp) http://dml.riken.jp/~rob/ 最新版本的 IPython notebook 课程文 ...

  9. Python科学计算PDF

    Python科学计算(高清版)PDF 百度网盘 链接:https://pan.baidu.com/s/1VYs9BamMhCnu4rfN6TG5bg 提取码:2zzk 复制这段内容后打开百度网盘手机A ...

  10. python 科学计算及数据可视化

    第一步:利用python,画散点图. 第二步:需要用到的库有numpy,matplotlib的子库matplotlib.pyplot numpy(Numerical Python extensions ...

随机推荐

  1. SpringSecurity详解

    认证+授权代码实现 Spring Security是 一种基于 Spring AOP 和 Servlet 过滤器的安全框架.它提供全面的安全性解决方案,同时在 Web 请求级和方法调用级处理身份确认和 ...

  2. javascript与css3动画学习笔记

    当Html5,css3已渐渐成为主流的时候,我还非常习惯的用js去做一些简单的动画.因为在桌面浏览器上, 并非所有的都支持css3.用户也倒是很奇怪,用户习惯并不是每个用户都可以被培养.总有不少人会觉 ...

  3. Python语法使用

    由于之前学习过js,代码基本上是相同的,先看看和js有那些区别 项目 python javascript 适用版本 python3 es6,即ECMAScript 2015 运行环境 #!/usr/b ...

  4. 并发编程 - 线程同步(三)之原子操作Interlocked简介

    上一章我们了解了3种处理多线程中共享资源安全的方法,今天我们将更近一步,学习一种针对简单线程同步场景的解决方案--Interlocked. 在此之前我们先学习一个概念--原子操作. 01.原子操作 原 ...

  5. 爬虫无限Debugger解决方案

    爬虫无限Debugger解决方案 在应对网站中的debugger语句以防止爬虫被调试时,一些网站会在代码中插入这些断点以干扰调试行为. 一种极端但直接的方法是通过禁用浏览器的断点激活功能来绕过所有de ...

  6. EMR集群信息查看-Hive

    一.日志 1.hivemetastore日志 简介:查看运行情况,其它组件会通过hivemetastore获取表信息 tail -f /data/emr/hive/logs/hadoop-hiveme ...

  7. 聊聊 FocusSearch/focus_mcp_sql:Text2SQL 的新玩法

    最近在 GitHub 上逛的时候,发现了一个挺有意思的项目--FocusSearch/focus_mcp_sql.作为一个对 Text2SQL 有点小研究的前端码农,我忍不住想和大家聊聊这个工具.它不 ...

  8. 川崎机器人维修kasawaki维护注意事项

    为确保川崎机械臂的正确安全操作.防止人员伤害和财产损失,请遵守下述方框符号表达的安全信息. --注意事项 在进行Kasawaki川崎机器人维修操作前,请注意如下事项以确保安全. 1. 在开始检查之前, ...

  9. 使用idea合并 dev分支合并到test分支

    这里展示将dev分支合并到test分支首先切换到test分支 按下图所示操作

  10. flutter - [01] Dart概述

    题记部分 一.什么是dart dart是由谷歌开发的计算机编程语言,可以被用于web.服务器.移动应用和物联网等领域的开发 dart诞生于2011年,号称要取代JavaScript.但是过去的几年中一 ...