# E065: Orthogonality matrix for Dirichlet characters. ```{figure} ../_static/experiments/e065_hero.png :width: 80% :alt: Preview figure for E065 ``` **Tags:** `number-theory`, `quantitative-exploration`, `visualization`, `dirichlet-characters` ## Highlights - Constructs full character tables for a small modulus q. - Visualizes values as phases / real parts to spot structure and symmetries. - Checks orthogonality and basic sanity constraints numerically. ## What this experiment does For characters χ_i modulo q, orthogonality says: The implementation focuses on a compact, reproducible numerical workflow: deterministic parameter defaults, structured output folders, and one or more figures saved for the gallery. ## Outputs This experiment writes into `out/e065/`: - `figures/fig_01_orthogonality_error.png` ## How to run ```bash make run EXP=e065 ``` ## Notes - The gallery preview figure shipped with the documentation uses conservative cutoffs so builds stay fast. If you run the experiment locally, increase the cutoffs to see the asymptotic regime more clearly. - Prime-race plots depend on the chosen sampling of `x` (linear vs. log grid). The qualitative “who leads” picture can change when you zoom in. ## Published run snapshot If this experiment is included in the docs gallery, include the published snapshot (report + params). ```{include} ../reports/e065.md :start-after: "" :end-before: "" ``` ::: {dropdown} params.json (snapshot) :open: ```{literalinclude} ../params/e065.json :language: json ``` ::: ## References {cite:t}`davenport2000multiplicativenumbertheory, nivenzuckermanmontgomery1991introductiontheorynumbers` ## Related experiments - {doc}`e108` (E108: Orthogonality heatmap for characters) - {doc}`e064` (Dirichlet character tables (phase view).) - {doc}`e068` (Dirichlet L(s,χ): series vs. Euler product (partial approximations).) - {doc}`e077` (Indicator via character orthogonality (sanity check).) - {doc}`e078` (Max partial sums across characters.)