欧拉函数(Euler’ totient function )
- Author: Jasper Yang
- School: Bupt
前言
gamma函数的求导会出现所谓的欧拉函数(phi),在一篇论文中我需要对好几个欧拉函数求值,结果不能理解,立即去google,发现了一个开源的python库可以用来计算欧拉函数
class eulerlib.numtheory.Divisors(maxnum=1000)
Implements methods related to prime factors and divisors.
Parameters: maxnum – Upper limit for the list of primes. (default = 1000)
divisors(num)
Returns a list of ALL divisors of num (including 1 and num).
Parameters: num – An integer for which divisors are needed.
Returns: A list [d1,d2,...dn] of divisors of num
phi(num)
Returns the number of totatives of num
Parameters: num – Integer for which number of totatives are needed.
Returns: Number of totatives of num
Note A totative of an integer num is any integer i such that, 0
Totative(不知道怎么翻译)
from wiki
在数论中,一个给定的n的totative是一个符合大于0并且小于等于n的k,并且这个k和n是互质数(什么是互质数呢)。
互质数为数学中的一种概念,即两个或多个整数的公因数只有1的非零自然数。公因数只有1的两个非零自然数,叫做互质数。
欧拉方程 ϕ(x) 就是在计算n的totative个数。
在n的乘法模下的totatives形成了模n乘法群( Multiplicative group of integers modulo n )。 —>后面这句涉及的群的知识我去维基上了解下后没看懂,放弃了,未来有机会看看中文资料理解一下再添加进来吧。 wiki传送门
Euler’s totient function
这个就是主角欧拉函数。
from wiki
在数论中,对正整数n,欧拉函数 φ(n) 是小于或等于n的正整数中与n互质的数的数目。此函数以其首名研究者欧拉命名,它又称为φ函数(由高斯所命名)或是欧拉总计函数[1](totient function,由西尔维斯特所命名)。
例如 φ(8)=4 ,因为1,3,5,7均和8互质。
欧拉函数实际上是模n的同余类所构成的乘法群(即环 Z/nZ 的所有单位元组成的乘法群)的阶。这个性质与拉格朗日定理一起构成了欧拉定理的证明。
若n是质数p的k次幂, φ(n)=φ(pk)=pk−