The arithmetic function ζ #
We define ζ to be the arithmetic function with ζ n = 1 for 0 < n (whose Dirichlet series
is the Riemann zeta function).
Main Definitions #
ArithmeticFunction.zetais the arithmetic function such thatζ x = 1for0 < x. The notationζfor this function is available by openingArithmeticFunction.zeta.ArithmeticFunction.pmulandArithmeticFunction.pdivare the pointwise multiplication and division onArithmeticFunctions (for whichζis the identity). These are not the same as the multiplication instance defined by Dirichlet convolution.
Tags #
arithmetic functions, dirichlet convolution, divisors
ζ 0 = 0, otherwise ζ x = 1. The Dirichlet Series is the Riemann ζ.
Equations
- ArithmeticFunction.zeta = { toFun := fun (x : ℕ) => if x = 0 then 0 else 1, map_zero' := ArithmeticFunction.zeta._proof_1 }
Instances For
ζ 0 = 0, otherwise ζ x = 1. The Dirichlet Series is the Riemann ζ.
Equations
- ArithmeticFunction.zeta.termζ = Lean.ParserDescr.node `ArithmeticFunction.zeta.termζ 1024 (Lean.ParserDescr.symbol "ζ")
Instances For
theorem
ArithmeticFunction.coe_zeta_smul_apply
{R : Type u_1}
{M : Type u_2}
[Semiring R]
[AddCommMonoid M]
[MulAction R M]
{f : ArithmeticFunction M}
{x : ℕ}
:
@[simp]
theorem
ArithmeticFunction.sum_divisorsAntidiagonal_eq_sum_divisors
{R : Type u_1}
{M : Type u_2}
[Semiring R]
[AddCommMonoid M]
[MulAction R M]
{f : ArithmeticFunction M}
{x : ℕ}
:
@[simp]-normal form of coe_zeta_smul_apply.
theorem
ArithmeticFunction.coe_zeta_mul_apply
{R : Type u_1}
[Semiring R]
{f : ArithmeticFunction R}
{x : ℕ}
:
theorem
ArithmeticFunction.coe_mul_zeta_apply
{R : Type u_1}
[Semiring R]
{f : ArithmeticFunction R}
{x : ℕ}
:
theorem
ArithmeticFunction.coe_zeta_mul_comm
{R : Type u_1}
[Semiring R]
{f : ArithmeticFunction R}
:
This is the pointwise product of ArithmeticFunctions.
Instances For
@[simp]
theorem
ArithmeticFunction.pmul_apply
{R : Type u_1}
[MulZeroClass R]
{f g : ArithmeticFunction R}
{x : ℕ}
:
theorem
ArithmeticFunction.pmul_comm
{R : Type u_1}
[CommMonoidWithZero R]
(f g : ArithmeticFunction R)
:
theorem
ArithmeticFunction.pmul_assoc
{R : Type u_1}
[SemigroupWithZero R]
(f₁ f₂ f₃ : ArithmeticFunction R)
:
@[simp]
theorem
ArithmeticFunction.pmul_zeta
{R : Type u_1}
[NonAssocSemiring R]
(f : ArithmeticFunction R)
:
@[simp]
theorem
ArithmeticFunction.zeta_pmul
{R : Type u_1}
[NonAssocSemiring R]
(f : ArithmeticFunction R)
:
This is the pointwise power of ArithmeticFunctions.
Equations
Instances For
@[simp]
@[simp]
@[simp]
theorem
ArithmeticFunction.ppow_apply
{R : Type u_1}
[Semiring R]
{f : ArithmeticFunction R}
{k x : ℕ}
(kpos : 0 < k)
:
This is the pointwise division of ArithmeticFunctions.
Instances For
@[simp]
theorem
ArithmeticFunction.pdiv_apply
{R : Type u_1}
[GroupWithZero R]
(f g : ArithmeticFunction R)
(n : ℕ)
:
@[simp]
theorem
ArithmeticFunction.pdiv_zeta
{R : Type u_1}
[DivisionSemiring R]
(f : ArithmeticFunction R)
:
This result only holds for DivisionSemirings instead of GroupWithZeros because zeta takes
values in ℕ, and hence the coercion requires an AddMonoidWithOne. TODO: Generalise zeta
theorem
ArithmeticFunction.IsMultiplicative.pmul
{R : Type u_1}
[CommSemiring R]
{f g : ArithmeticFunction R}
(hf : f.IsMultiplicative)
(hg : g.IsMultiplicative)
:
(f.pmul g).IsMultiplicative
theorem
ArithmeticFunction.IsMultiplicative.pdiv
{R : Type u_1}
[CommGroupWithZero R]
{f g : ArithmeticFunction R}
(hf : f.IsMultiplicative)
(hg : g.IsMultiplicative)
:
(f.pdiv g).IsMultiplicative
theorem
ArithmeticFunction.IsMultiplicative.ppow
{R : Type u_1}
[CommSemiring R]
{f : ArithmeticFunction R}
(hf : f.IsMultiplicative)
{k : ℕ}
:
(f.ppow k).IsMultiplicative
Extension for ArithmeticFunction.zeta.
Equations
- One or more equations did not get rendered due to their size.