数学之美: Sigma 函数的推导公式与 Python 实现


理解 Sigma 函数:因子、乘法性与公式推导

一文看懂 Sigma 函数:因子分解的终极威力!
σ(n) 完全解析:为什么求和函数能“自动”变成乘积?
数学之美:Sigma 函数的推导、公式与 Python 实现
从几何级数到质因数:Sigma 函数的魔法公式大揭秘
搞懂 σ(n) 的那一天,我看到了数学的秩序
为什么 σ(n) = 乘积?带你走进数论的核心思想
Divisor 终极指南:Sigma 函数推导 + 代码 一篇搞定

Sigma 函数,记作 tex_f8addcb0d2206ad999f68bf8fd864eb3 数学之美: Sigma 函数的推导公式与 Python 实现 Python 学习笔记 数学 数学 ,表示一个整数所有正因子的和。
例如 12 的因子有 1、2、3、4、6、12,因此 tex_236214b9817fdc8276e87b61c1cd94db 数学之美: Sigma 函数的推导公式与 Python 实现 Python 学习笔记 数学 数学
本文解释什么是 Sigma 函数、为什么它满足乘法性、如何从质因数分解推导出通用公式,并给出高效的 Python 实现。

可除性符号

在数论中,符号 “|” 表示“整除”。

tex_03787f30463fc44cc9ebcc23ca9a1d04 数学之美: Sigma 函数的推导公式与 Python 实现 Python 学习笔记 数学 数学

因此表达式 tex_effcd25522d3cb6f842a68251993e85e 数学之美: Sigma 函数的推导公式与 Python 实现 Python 学习笔记 数学 数学 的意思是“对所有能整除 n 的 d 求和”。

质因数分解与因子的结构

任意正整数 tex_d26877ae239c15d2776d571f6114453d 数学之美: Sigma 函数的推导公式与 Python 实现 Python 学习笔记 数学 数学 都可以唯一写成:

tex_11d26bd240f5065754d5d10039a6d44a 数学之美: Sigma 函数的推导公式与 Python 实现 Python 学习笔记 数学 数学

它的一个因子必须从每个质数的指数中“选择”一个:

tex_c66c52fa1fd56a6bb4acb1bd0f37c70a 数学之美: Sigma 函数的推导公式与 Python 实现 Python 学习笔记 数学 数学

所有因子结构的规律都来自这个事实。

关键性质:Sigma 函数是乘法性的

当两个整数互质时,Sigma 函数满足:

tex_a8ed4d9d3cd1a6d82a31b5bf654f6b62 数学之美: Sigma 函数的推导公式与 Python 实现 Python 学习笔记 数学 数学

原因是:若 tex_956cb2a0c12d1c12ff07ffca2950a926 数学之美: Sigma 函数的推导公式与 Python 实现 Python 学习笔记 数学 数学 tex_d26877ae239c15d2776d571f6114453d 数学之美: Sigma 函数的推导公式与 Python 实现 Python 学习笔记 数学 数学 的质因数互不相同,
那么 tex_14dcd4765f4b4cd61e3d3a2443916ebf 数学之美: Sigma 函数的推导公式与 Python 实现 Python 学习笔记 数学 数学 的每个因子都能唯一写成:

tex_65404d19cf0fdac7d77f50e679626301 数学之美: Sigma 函数的推导公式与 Python 实现 Python 学习笔记 数学 数学

因此对所有因子求和可以写成二重求和:

tex_813eb3fc6e705221e4f95808a1793db9 数学之美: Sigma 函数的推导公式与 Python 实现 Python 学习笔记 数学 数学

接下来把二重求和“拆开”。固定某个 tex_ec61bb4a456e241074580a84f7352373 数学之美: Sigma 函数的推导公式与 Python 实现 Python 学习笔记 数学 数学 ,则:

tex_8cf1189084b71573c630e36290bcb2d2 数学之美: Sigma 函数的推导公式与 Python 实现 Python 学习笔记 数学 数学

再对所有 tex_ec61bb4a456e241074580a84f7352373 数学之美: Sigma 函数的推导公式与 Python 实现 Python 学习笔记 数学 数学 求和:

tex_6ea29ec9c6a779121eb3b82d33e5de0f 数学之美: Sigma 函数的推导公式与 Python 实现 Python 学习笔记 数学 数学

这就证明了 Sigma 的乘法性。

质数幂的 Sigma 公式

利用乘法性,只需计算 tex_cf6eed381dec765cd69498e958669f17 数学之美: Sigma 函数的推导公式与 Python 实现 Python 学习笔记 数学 数学
其因子为:

tex_d3bb38248dcb0e22fc35d8c47e5bae1d 数学之美: Sigma 函数的推导公式与 Python 实现 Python 学习笔记 数学 数学

这是一个几何级数:

tex_dcfddc58fee8677904fa250b6ad61990 数学之美: Sigma 函数的推导公式与 Python 实现 Python 学习笔记 数学 数学

把所有质因数幂的贡献相乘,就得到通用公式:

tex_0ae36f050cf7aea6d4372cc1279a5984 数学之美: Sigma 函数的推导公式与 Python 实现 Python 学习笔记 数学 数学

这就是任意正整数的因子和公式。

示例:计算 σ(12)

质因数分解:

tex_85394f37d772925a10cba693a1f68d97 数学之美: Sigma 函数的推导公式与 Python 实现 Python 学习笔记 数学 数学

分别计算:

tex_76ab5b2895cbc075125fa30e0cb77287 数学之美: Sigma 函数的推导公式与 Python 实现 Python 学习笔记 数学 数学
tex_9198eb2730d36d89343e42e701a8a8c1 数学之美: Sigma 函数的推导公式与 Python 实现 Python 学习笔记 数学 数学

相乘:

tex_9386a255574de27eb6f12bb84d568eef 数学之美: Sigma 函数的推导公式与 Python 实现 Python 学习笔记 数学 数学

Python 实现:高效的 Sigma 函数

以下是基于质因数分解与乘法性的高效Python实现,时间复杂度约为 tex_91ba59ea4191e794ea43b27b5cb207f9 数学之美: Sigma 函数的推导公式与 Python 实现 Python 学习笔记 数学 数学

def sigma(n: int) -> int:
    """高效计算因子和函数 σ(n)。"""
    total = 1
    x = n

    # 处理质因数 2
    count = 0
    while x % 2 == 0:
        x //= 2
        count += 1
    if count > 0:
        total *= (2 ** (count + 1) - 1) // (2 - 1)

    # 处理奇质数
    p = 3
    while p * p <= x:
        if x % p == 0:
            count = 0
            while x % p == 0:
                x //= p
                count += 1
            total *= (p ** (count + 1) - 1) // (p - 1)
        p += 2

    # 若剩下的是质数
    if x > 1:
        total *= (x**2 - 1) // (x - 1)

    return total

结语

Sigma 函数展示了因子结构的优雅与质因数分解的力量。通过理解乘法性与几何级数求和,我们得到一个漂亮的闭式公式,并能编写高效的计算程序。有了理论与代码,你就能深入探索更多数论中的算术函数了。

数学

英文:Understanding the Sigma Function: Divisors, Multiplicativity, and the Formula

本文一共 631 个汉字, 你数一下对不对.
数学之美: Sigma 函数的推导公式与 Python 实现. (AMP 移动加速版本)
上一篇: 在罗马的最后一晚吃了顿中餐, 好便宜
下一篇: 剑桥科技园有微软(研究院)、AMD和树莓派

扫描二维码,分享本文到微信朋友圈
a6bf12d5d15e0dcf26214675dfde647e 数学之美: Sigma 函数的推导公式与 Python 实现 Python 学习笔记 数学 数学

评论