小赖子的英国生活和资讯

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

阅读 桌面完整版

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

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

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

可除性符号

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

因此表达式 的意思是“对所有能整除 n 的 d 求和”。

质因数分解与因子的结构

任意正整数 都可以唯一写成:

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

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

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

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

原因是:若 的质因数互不相同,
那么 的每个因子都能唯一写成:

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

接下来把二重求和“拆开”。固定某个 ,则:

再对所有 求和:

这就证明了 Sigma 的乘法性。

质数幂的 Sigma 公式

利用乘法性,只需计算
其因子为:

这是一个几何级数:

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

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

示例:计算 σ(12)

质因数分解:

分别计算:


相乘:

Python 实现:高效的 Sigma 函数

以下是基于质因数分解与乘法性的高效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

强烈推荐

微信公众号: 小赖子的英国生活和资讯 JustYYUK

阅读 桌面完整版
Exit mobile version