Commit 2024-03-04 09:02 ba66cf76
View on Github →refactor(NumberTheory/LSeries/*): change type of argument to ℕ → ℂ, add LSeries.term + API etc. (#11111)
See this thread on Zulip.
The main point of this PR is to refactor LSeries and friends to use an argument f : ℕ → ℂ instead of f : ArithmeticFunction ℂ. Since I was at it anyway, I also did a few more things:
- Move the L-series stuff out of the
ArithmeticFunctionnamespace. UseLSeriesas a namespace for some of the declarations instead. - Introduce
LSeries.term f s n; this denotes thenth term in the L-seriesLSeries f s. This is defined to be zero forn = 0; otherwise it is the usualf n / n ^ s. Provide basic API for it. - Re-write
LSeriesetc. in terms ofLSeries.term. Attempt to isolate the meat of the proofs in suitable API lemmas forLSeries.term. Add some API (like congruence lemmas). - Use
sfor the complex variable (in place ofzorw;sands'when two are required), following the notational convention in analytic number theory. - Golf some proofs.
- Add some documentation (and modify existing docstrings to fit the changes).