该狄利克雷卷积是一种特殊的卷积出现在数论中一个非常有用的工具。它对一组算术函数进行运算。
挑战
给定两个算术函数(即函数),计算Dirichlet卷积如下定义。F,g ^F,g ^:N → R(f ∗ g ):N → R (f* 克):N → R
细节
- 我们使用约定。0 ∉ Ñ = { 1 ,2 ,3 ,... }
- 两个算术函数的Dirichlet卷积再次是算术函数,它的定义为(两个和都是等价的。表达式表示除以,因此求和在的自然除数上 。类似地,我们可以用F* 克F,g ^
(f* 克)(n )= ∑d| ñF(nd) ⋅克(d) = ∑我⋅ Ĵ = ÑF(i )· 克(j )。
d| ñd∈ ñññi = nd∈ Ñ,Ĵ = d∈ ñ然后得到第二个等效公式。如果您不习惯这种表示法,则下面有一个逐步的示例。)只是为了详细说明(这与本挑战没有直接关系):定义来自计算Dirichlet系列的乘积:(∑Ñ ∈ ÑF(n )ñs) ⋅(∑Ñ ∈ ÑG(n )ñs) = ∑Ñ ∈ Ñ(f* 克)(n )ñs
- 输入由两个黑盒功能给出。另外,您也可以使用无限列表,生成器,流或类似的东西,它们可以产生无限数量的值。
- 有两种输出方法:要么返回函数,要么可以选择接受一个附加输入然后直接返回。F* 克Ñ ∈ Ñ(f* 克)(n )
- 为简单起见,您可以假设每个元素都可以用正32位int表示。ñ
- 为简单起见,您还可以假定每个条目都可以由例如单个实数浮点数表示。[R
例子
让我们首先定义一些功能。请注意,每个定义下方的数字列表代表该函数的前几个值。
- 乘法身份(A000007)
ϵ (n )= { 10n = 1n > 1
1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...
- 常数单位函数(A000012)
1(n )= 1∀ ñ
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ...
- 身份函数(A000027)
我d(n )= n∀ ñ
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, ...
- 莫比乌斯函数(A008683)
μ (n )= { (− 1 )ķ0 如果 n 是无平方的并且 k 是n 的质因数 除此以外
1, -1, -1, 0, -1, 1, -1, 0, 0, 1, -1, 0, -1, 1, 1, 0, -1, 0, -1, ...
- 欧拉totient函数(A000010)
φ (n )= n ∏p | ñ( 1 − 1p)
1, 1, 2, 2, 4, 2, 6, 4, 6, 4, 10, 4, 12, 6, 8, 8, 16, 6, 18, 8, ...
- Liouville函数(A008836)
其中是的素数个数乘以复数
λ(n)=(−1)k
ķñ1, -1, -1, 1, -1, 1, -1, -1, 1, 1, -1, -1, -1, 1, 1, 1, -1, -1, -1, ...
- 除数和函数(A000203)
σ(n )= ∑d| ñd
1, 3, 4, 7, 6, 12, 8, 15, 13, 18, 12, 28, 14, 24, 24, 31, 18, 39, 20, ...
- 除数计数函数(A000005)
τ(n )= ∑d| ñ1个
1, 2, 2, 3, 2, 4, 2, 4, 3, 4, 2, 6, 2, 4, 4, 5, 2, 6, 2, 6, 4, 4, 2, 8, ...
- 平方数的特征函数(A010052)
小号q(n)={10 if n is a square numberotherwise
1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, ...
然后我们有以下示例:
- ϵ=1∗μ
- f=ϵ∗f∀ ˚F
- ϵ = λ ∗ | | μ |
- σ= φ ∗ τ
- 我d= σ* μ和σ= 我d* 1
- 小号q=λ∗1和λ = μ * s q
- τ= 1 * 1和1=τ* μ
- 我d= φ ∗ 1和φ = 我d* μ
最后一个是莫比乌斯反演的结果:对于任何,方程等效于。F,g ^G= f* 1F= 克* μ
分步示例
这是为不熟悉定义中使用的符号的人员逐步计算的示例。考虑函数和。现在我们将在处评估它们的卷积。下表列出了他们的前几个术语。F= μg=σμ∗σn=12
fμσf(1)11f(2)−13f(3)−14f(4)07f(5)−16f(6)112f(7)−18f(8)015f(9)013f(10)118f(11)−112f(12)028
该总和遍历除所有自然数,因此假设所有自然除数。这些是。在每个求和项中,我们在处计算并将其与在处计算的相乘。现在我们可以得出结论d∈Nn=12dn=12=22⋅3d=1,2,3,4,6,12g=σdf=μnd
(μ∗σ)(12)=μ(12)σ(1)=0⋅1=0=12=id(12)+μ(6)σ(2)+1⋅3+3+μ(4)σ(3)+0⋅410+μ(3)σ(4)+(−1)⋅7−7+μ(2)σ(6)+(−1)⋅12−12+μ(1)σ(12)+1⋅28+28
fun
吗?