积性函数

积性函数

定义 1

积性函数,若称数论函数 \(f(n)\) 为积性函数,则其需要满足以下性质:

\[\forall n \perp m ,f(nm)=f(n)\times f(m) \]

定义 2

完全积性函数,若称数论函数 \(f(n)\) 为完全积性函数,则其需要满足以下性质:

\[\forall n,m, f(nm)=f(n)\times f(m) \]

下面我们说几个积性函数的例子:

单位函数 \(\varepsilon(n)\)

\[\varepsilon(n)=[n=1] \]

也就是说这个函数只有在 \(n=1\) 时函数值才为 \(1\) 否则为 \(0\)

这个函数显然为完全积性函数,根据 \(n\times m\) 是否等于 \(1\) 分类即可,我们来分个类:

  • \(n=1,m=1,\varepsilon(1\times 1)=\varepsilon(1)\times \varepsilon(1) \rightarrow 1=1\times 1 \rightarrow 1=1\)

  • \(n=1,m\ne 1,\varepsilon(m)=\varepsilon(1)\times \varepsilon(m) \rightarrow 0=1\times 0 \rightarrow 0=0\)

  • \(n\ne 1,m=1,\varepsilon(n)=\varepsilon(n)\times \varepsilon(1) \rightarrow 0=0\times 1 \rightarrow 0=0\)

  • \(n\ne 1,m\ne 1,\varepsilon(n \times m)=\varepsilon(n)\times \varepsilon(m) \rightarrow 0=0\times 0 \rightarrow 0=0\)

以上证明了 \(\varepsilon(n)\) 为完全积性函数。

常函数 \(I(n)\)

\[I(n)=1 \]

这个函数显然为完全积性函数:

  • \(n,m\in \mathbb{Z},I(n\times m)=I(n)\times I(m)\rightarrow 1=1\times 1 \rightarrow 1=1\)

以上证明了 \(I(n)\) 为完全积性函数。

恒等函数 \(id(n)\)

\[id(n)=n \]

这个函数显然也是完全积性函数:

  • \(n,m\in \mathbb{Z} , id(n\times m)=id(n)\times id(m)\rightarrow n\times m=n\times m\)

以上证明了 \(id(n)\) 为完全积性函数。

幂函数 \(id^k(n)\)

\[id^k(n)=n^k \]

这个函数显然也是完全积性函数:

  • \(n,m\in \mathbb{Z},id^k(n\times m)=id^k(n)\times id^k(m)\rightarrow (n\times m)^k=n^k \times m^k \rightarrow n^k \times m^k=n^k\times m^k\)

以上证明了 \(id^k(n)\) 为完全积性函数。

欧拉函数 \(\varphi(n)\)

\[\varphi(n)=n\prod_{p|n,p\in\mathbb{P}} (1-\frac{1}{p}) \]

这里我们引入一个定理:

若数论函数 \(f(n)\) 为积性函数,当且仅当:

\[f(n) = \prod_{p|n,p\in\mathbb{P}}g(p,\alpha(p)) \]

这里 \(\alpha(p)\)\(n\) 的唯一分解式中质数 \(p\) 的指数。

所以根据这个定理 \(\varphi(n)\) 为积性函数。

约数函数 \(\sigma_k(n)\)

\[\sigma_k(n)=\sum_{d|n} d^k \]

我们再引入一个定理(约数和定理):

\[\sigma_k(n)=\prod_{p|n,p\in\mathbb{Z}}(\sum_{i=0}^{\alpha(p)} p^{ik}) \]

所以根据我们上面介绍的两个定理可以推出 \(\sigma_k(n)\) 为积性函数。

莫比乌斯函数 \(\mu(n)\)

\[\mu(n)=0,n有平方因子 \]

\[\mu(n)=(-1)^{\omega(n)},其它情况 \]

证明为积性函数

方法1

这里 \(\mu(n)\) 实际上等于:

\[\mu(n)=\sum_{p|n,p\in \mathbb{P}} -[\alpha(p)=1] \]

然后根据我们的第一个定理我们就发现 \(\mu(n)\) 是一个积性函数。

方法2

我们来分类讨论 \(\forall n,m, n\perp m\)

1.若其中任意一个数有平方因子,则我们需要证明 \(0*x=0\),而这是显然的。

2.若两个数都没有平方因子,则我们需要证明 \((-1)^x*(-1)^y=(-1)^{x+y}\),这是显然的。

我们发现 \(\mu(n)\) 具有积性函数的性质,所以它是一个积性函数。

线性推积性函数

这里我们那 \(\mu\) 来举例子:

void init(ll n) {
	mu[1] = 1;
	for (int i = 2; i <= n; i++) {
		if (!vis[i]) {
			pri[++tot] = i;
			mu[i] = -1;//质数的mu为-1
		}
		for (int j = 1; j <= tot && i * pri[j] <= n; j++) {
			vis[i * pri[j]] = 1;
			if (i % pri[j] == 0) {
				mu[i * pri[j]] = 0;//这里出现了平方因子为pri[j]
				break;
			} else {
				mu[i * pri[j]] = mu[i] * mu[pri[j]];//这里两个数互质所以直接根据积性函数的性质可以得到:mu(i*pri[j])=mu(i)*mu(pri[j])
			}
		}
	}
}

如果想线性推什么积性函数的话,就按照这个积性函数的性质去推。

posted @ 2023-12-29 20:00  点燃genshin  阅读(213)  评论(1)    收藏  举报