光滑数
定义
若一正整数的质因数均不大于 B ,此整数即为 B -光滑数。例如1620的因数分解为2 × 3 × 5,质因数均不大于5,因此1620是5-光滑数。
10和12的因数分解分别为2 × 5和2 × 3,二者质因数也都不大于5,因此二者均是是5-光滑数,虽然其质因数未包括不大于5的所有质数,但仍然可以是5-光滑数。
5-光滑数常称为正规数或汉明数(Hamming numbers)。7-光滑数有时会称为“谦虚数”或“高合成数” ,不过后者会和以因数个数来定义的高合成数混淆。
B -光滑数的 B 不一定要是质数,例如上述举例的10和12不但是5-光滑数,也是6-光滑数(质因数都不大于6)。一般而言会选择 B 为质数的 B -光滑数,但 B 也可以是合数。一正整数为 B -光滑数当且仅当正整数为 p -光滑数,且 p 是小于等于 B 的最大质数。
应用
有些快速傅里叶变换算法中会用到光滑数,例如库利-图基快速傅里叶变换算法会将问题一直分解为较小的问题,其大小为原问题大小的因数,若原问题大小是 B 原问题大小,原问题可以分解为许多很小的问题,此情形有有快速的算法,若大小是较大的质数,就要应用像是Chirp-Z 转换之类效率较差的算法。
5-光滑数〈或称为正规数〉在巴比伦数学中有重要的角色 ,在音乐理论中也很重要 。有一个函数编程语言的问题就是要产生正规数 。
密码学中也有应用光滑数 。虽然大部分的密码学都会用到密码分析(已知最快的因数分解算法),但 VSH ( 英语 : Very smooth hash ) 杂凑函数利用光滑数来取得 可证安全加密散列函数 ( 英语 : Provably secure cryptographic hash function ) 。
分布
令 Ψ Ψ --> ( x , y ) {\displaystyle \scriptstyle \Psi (x,y)} 表示小于等于 x 的 y -光滑数的个数(de Bruijn函数)。
若 B 为定值且数值很小,可以用下式估计 Ψ Ψ --> ( x , B ) {\displaystyle \scriptstyle \Psi (x,B)} :
其中 π π --> ( B ) {\displaystyle \scriptstyle {\pi (B)}} 为小于等于 B {\displaystyle \scriptstyle B} 的质数个数。
否则,定义参数 u = log x / log y :因此, x = y ,则:
其中 ρ ρ --> ( u ) {\displaystyle \scriptstyle \rho (u)} 为 Dickman函数 ( 英语 : Dickman function ) 。
幂次光滑数
若所有可以整除 m 的质数幂次 p i n i {\displaystyle \scriptstyle p_{i}^{n_{i}}} 满足以下方程,则 m 为 B -幂次光滑数:
例如,2 3 5 为5-光滑数,但不是5-幂次光滑数。因为其最大的质数幂次为2 ,该数为16-幂次光滑数,也是17-幂次光滑数,18-幂次光滑数……。
数论中有用到 B -光滑数及 B -幂次光滑数。例如 波拉德p-1算法 ( 英语 : Pollard"s p − 1 algorithm ) ,这类算法一般会应用在光滑数中,但不会特别标示光滑数的 B 是多少。此时的 B 需是一个较小的整数,若 B 增加,算法的效率就会迅速的变差。例如计算离散对数的 Pohlig–Hellman算法 ( 英语 : Pohlig–Hellman algorithm ) 的时间复杂度是O( B )。
相关条目
粗糙数
Størmer定理 ( 英语 : Størmer"s theorem )
高合成数
外部链接
MathWorld上 Smooth Number 的资料,作者:埃里克·韦斯坦因。
免责声明:以上内容版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。感谢每一位辛勤著写的作者,感谢每一位的分享。
- 有价值
- 一般般
- 没价值