# E063: Dirichlet convolution playground ```{figure} ../_static/experiments/e063_hero.png :width: 80% :alt: Preview figure for E063 ``` **Tags:** `number-theory`, `quantitative-exploration`, `visualization`, `arithmetic-functions`, `dirichlet-convolution`, `model-checking` See: {doc}`../tags`. ## Highlights - Compute Dirichlet convolutions numerically on a finite range. - Check exact identities and report any mismatches (should be zero). ## Goal Turn algebraic identities of arithmetic functions into concrete computed checks. ## Background (quick refresher) - {doc}`../background/dirichlet-convolution` - {doc}`../background/arithmetic-functions` - {doc}`../background/euler-totient-function` ## Research question Can we numerically verify standard Dirichlet-convolution identities up to a bound without mistakes? ## Method - Implement divisor-sum convolution on [1..N]. - Compute μ*1 and μ*id and compare to ε and φ respectively. ## How to run - `make run EXP=e063` - `uv run python -m mathxlab.experiments.e063` ## Outputs This experiment follows the standard output contract: - `out/e063/figures/` — generated figures (PNG) - `out/e063/report.md` — short narrative report - `out/e063/manifest.json` — snapshot metadata for the gallery ## Published run snapshot If this experiment is included in the docs gallery, include the published snapshot (report + params). ```{include} ../reports/e063.md :start-after: "" :end-before: "" ``` ::: {dropdown} params.json (snapshot) :open: ```{literalinclude} ../params/e063.json :language: json ``` ::: ## References See {cite:t}`apostol1976introanalyticnumbertheory`. ## Related experiments - {doc}`e102` (E102: Dirichlet convolution identity zoo) - {doc}`e121` (E121: Möbius inversion as convolution undo) - {doc}`e111` (E111: Euler product vs. Dirichlet series for L(s,χ)) - {doc}`e055` (Mertens function walk) - {doc}`e095` (E095: Squarefree filter: ω(n)=Ω(n) when μ(n)≠0)