[Merged by Bors] - feat(NumberTheory/ModularForms/EisensteinSeries): Update gammaSet#27840
[Merged by Bors] - feat(NumberTheory/ModularForms/EisensteinSeries): Update gammaSet#27840CBirkbeck wants to merge 20 commits intoleanprover-community:masterfrom
Conversation
PR summary d60062a692
|
| File | Base Count | Head Count | Change |
|---|---|---|---|
| Mathlib.NumberTheory.ModularForms.EisensteinSeries.Defs | 1851 | 1853 | +2 (+0.11%) |
| Mathlib.NumberTheory.ModularForms.EisensteinSeries.UniformConvergence | 2004 | 2006 | +2 (+0.10%) |
Import changes for all files
| Files | Import difference |
|---|---|
Mathlib.NumberTheory.ModularForms.EisensteinSeries.Basic Mathlib.NumberTheory.ModularForms.EisensteinSeries.MDifferentiable |
1 |
3 filesMathlib.NumberTheory.ModularForms.EisensteinSeries.Defs Mathlib.NumberTheory.ModularForms.EisensteinSeries.IsBoundedAtImInfty Mathlib.NumberTheory.ModularForms.EisensteinSeries.UniformConvergence |
2 |
Declarations diff
+ divIntMap
+ finGcdMap
+ finGcdMap_div
+ finGcdMap_smul
+ gammaSetDivGcdEquiv
+ gammaSetDivGcdSigmaEquiv
+ gammaSetDivGcdSigmaEquiv_symm_eq
+ gammaSet_div_gcd
+ gammaSet_div_gcd_to_gammaSet10_bijection
+ gammaSet_eq_gcd_mul_divIntMap
+ gammaSet_one_const
+ gammaSet_one_mem_iff
+ isCoprime_div_gcd_div_gcd_of_gcd_ne_zero
+ mem_gammaSet_one
+ vecMulSL_gcd
You can run this locally as follows
## summary with just the declaration names:
./scripts/declarations_diff.sh <optional_commit>
## more verbose report:
./scripts/declarations_diff.sh long <optional_commit>The doc-module for script/declarations_diff.sh contains some details about this script.
No changes to technical debt.
You can run this locally as
./scripts/technical-debt-metrics.sh pr_summary
- The
relativevalue is the weighted sum of the differences with weight given by the inverse of the current value of the statistic. - The
absolutevalue is therelativevalue divided by the total sum of the inverses of the current values (i.e. the weighted average of the differences).
|
Can you say what you are planning to use A general remark: please check the naming convention; not all names adhere to it. |
Sorry I tagged this in #27606 but didnt mention it on the description here. This is for the q-expansions of Eisenstein series of level one. Our general definition is sums over coprime pairs of integers, but to get the usual q-expansions at level one, one needs to relate this to the sum over all pairs of integers and then take out a riemannZeta factor. In doing this it seemed best to make this definition. But at the moment it doesn't need any more API than what is here really, since its just the equivalences that are mainly needed for all the tsums later. |
|
I didn't find any application of your From what you mention above, I assume that you want something like lemma foo {f : (Fin 2 → ℕ) → ℂ} {k : ℕ} (hk : 2 ≤ k) (h : ∀ (m : ℕ) n, f n = m ^ k * f (m • n)) (a : ℂ) :
HasSum f (a * riemannZeta k) ↔ HasSum (fun n : {n : Fin 2 → ℕ // IsCoprime (n 0) (n 1)} ↦ f n) a := ...This should be doable without setting up |
|
So it is used in this PR: #27606, specifically, the equivalence is used to prove which is on line 265 of the QExpansion file (sorry I dont know how to link directly to a file). Edit: Also the names aren't updated in this draft PR yet. So it still uses |
|
Hi Chris, With this PR, as currently written, we have two separate defs for "pairs with GCD = 1 and congruence condition a mod N" and "pairs with GCD = N and no congruence condition". Might it be better to have a single, more general definition "pairs with GCD = r and congruence condition a mod N"? This will make it much easier to generalize the q-expansion computation later to cover Eisenstein series of arbitrary level. I'm not saying we should necessarily do the q-exp computation in general levels from the start (the perfect is the enemy of the good, etc), just that we should bear in mind that it might come later so we shouldn't actively conspire against it. |
|
Ok so I make |
loefflerd
left a comment
There was a problem hiding this comment.
This looks pretty good now, just a few minor things I spotted while reading it.
Co-authored-by: David Loeffler <d.loeffler.01@cantab.net>
|
LGTM now, thanks! maintainer merge |
|
🚀 Pull request has been placed on the maintainer queue by loefflerd. |
|
Thanks! bors merge |
…7840) We redefine gammaSet to include vectors with non-trivial gcd. This is useful for giving the q-expansions of Eisenstein series at level one. Which can be seen here #27606 (these equivalences are used in `tsum_prod_eisSummand_eq_riemannZeta_eisensteinSeries` in the QExpansions file). Co-authored-by: Chris Birkbeck <c.birkbeck@uea.ac.uk>
|
Pull request successfully merged into master. Build succeeded: |
…anprover-community#27840) We redefine gammaSet to include vectors with non-trivial gcd. This is useful for giving the q-expansions of Eisenstein series at level one. Which can be seen here leanprover-community#27606 (these equivalences are used in `tsum_prod_eisSummand_eq_riemannZeta_eisensteinSeries` in the QExpansions file). Co-authored-by: Chris Birkbeck <c.birkbeck@uea.ac.uk>
We redefine gammaSet to include vectors with non-trivial gcd. This is useful for giving the q-expansions of Eisenstein series at level one. Which can be seen here #27606 (these equivalences are used in
tsum_prod_eisSummand_eq_riemannZeta_eisensteinSeriesin the QExpansions file).