Dirichlet hyperbola method
{{Short description|Mathematical tool for summing multiplicative functions}}
File:Dirichlet hyperbola example_4.svg
In number theory, the Dirichlet hyperbola method is a technique to evaluate the sum
:
where {{Mvar|f}} is a multiplicative function. The first step is to find a pair of multiplicative functions {{Mvar|g}} and {{Mvar|h}} such that, using Dirichlet convolution, we have {{Math|1=f = g ∗ h}}; the sum then becomes
:
where the inner sum runs over all ordered pairs {{Math|(x,y)}} of positive integers such that {{Math|1=xy = k}}. In the Cartesian plane, these pairs lie on a hyperbola, and when the double sum is fully expanded, there is a bijection between the terms of the sum and the lattice points in the first quadrant on the hyperbolas of the form {{Math|1=xy = k}}, where {{Mvar|k}} runs over the integers {{Math|1 ≤ k ≤ n}}: for each such point {{Math|(x,y)}}, the sum contains a term {{Math|g(x)h(y)}}, and vice versa.
Let {{Mvar|a}} be a real number, not necessarily an integer, such that {{Math|1 < a < n}}, and let {{Math|1=b = n/a}}. Then the lattice points can be split into three overlapping regions: one region is bounded by {{Math|1 ≤ x ≤ a}} and {{Math|1 ≤ y ≤ n/x}}, another region is bounded by {{Math|1 ≤ y ≤ b}} and {{Math|1 ≤ x ≤ n/y}}, and the third is bounded by {{Math|1 ≤ x ≤ a}} and {{Math|1 ≤ y ≤ b}}. In the diagram, the first region is the union of the blue and red regions, the second region is the union of the red and green, and the third region is the red. Note that this third region is the intersection of the first two regions. By the principle of inclusion and exclusion, the full sum is therefore the sum over the first region, plus the sum over the second region, minus the sum over the third region. This yields the formula
{{NumBlk|:|
\begin{align}
F(n) &= \sum_{k=1}^n f(k) \\
&= \sum_{k=1}^n \sum_{xy=k}^{} g(x)h(y) \\
&= \sum_{x=1}^a \sum_{y=1}^{n/x} g(x)h(y) + \sum_{y=1}^b \sum_{x=1}^{n/y} g(x)h(y) - \sum_{x=1}^a \sum_{y=1}^b g(x)h(y) \text{.}\end{align}
|{{EquationRef|1}}}}
Examples
Let {{Math|σ0(n)}} be the divisor-counting function, and let {{Math|D(n)}} be its summatory function:
:
Computing {{Math|D(n)}} naïvely requires factoring every integer in the interval {{Math|[1, n]}}; an improvement can be made by using a modified Sieve of Eratosthenes, but this still requires {{Math|Õ(n)}} time. Since {{Math|σ0}} admits the Dirichlet convolution {{Math|1=σ0 = 1 ∗ 1}}, taking {{Math|1=a = b = {{radic|n}}}} in ({{EquationNote|1}}) yields the formula
:
which simplifies to
:
which can be evaluated in {{Math|O({{radic|n}})}} operations.
The method also has theoretical applications: for example, Peter Gustav Lejeune Dirichlet introduced the technique in 1849 to obtain the estimate{{Cite journal |last=Dirichlet |first=Peter Gustav Lejeune |author-link=Peter Gustav Lejeune Dirichlet |date=1849 |title=Über die Bestimmung der mittleren Werthe in der Zahlentheorie |url=https://gallica.bnf.fr/ark:/12148/bpt6k994363/f59.item |journal=Abhandlungen der Königlich Preussischen Akademie der Wissenchaften |language=German |pages=49-66 |via=Gallica}}{{Cite book |last=Tenenbaum |first=Gérald |author-link=Gérald Tenenbaum |url=https://books.google.com/books?id=UEk-CgAAQBAJ&dq=dirichlet+hyperbola+method&pg=PR15 |title=Introduction to Analytic and Probabilistic Number Theory |date=2015-07-16 |publisher=American Mathematical Soc. |isbn=9780821898543 |location= |pages=44 |language=en}}
:
where {{Mvar|γ}} is the Euler–Mascheroni constant.
References
External links
- [https://gbroxey.github.io/blog/2023/04/30/mult-sum-1.html Discussion of the Dirichlet hyperbola method for computational purposes]