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
ArithmeticFunction
namespace. UseLSeries
as a namespace for some of the declarations instead. - Introduce
LSeries.term f s n
; this denotes then
th 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
LSeries
etc. 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
s
for the complex variable (in place ofz
orw
;s
ands'
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).