[Merged by Bors] - feat(Analysis/Fourier): discrete Fourier transform on ZMod N#13353
[Merged by Bors] - feat(Analysis/Fourier): discrete Fourier transform on ZMod N#13353
ZMod N#13353Conversation
* Add a bunch of missing `simp` and `norm_cast` lemmas. * Get rid of `IsNontrivial ψ` since it's just `ψ ≠ 1`. This simplifies proofs. * Remove explicit arguments to `toMonoidHomEquiv`/`toAddMonoidHomEquiv`. We basically never need to provide them explicitly since unification usually does the job.
|
Thanks for the reviews guys! I'm going to review #13579 and then merge it here since it's clearly relevant. |
PR summary 16f43ac386
|
| File | Base Count | Head Count | Change |
|---|---|---|---|
| Mathlib.MeasureTheory.MeasurableSpace.Instances | 517 | 590 | +73 (+14.12%) |
Import changes for all files
| Files | Import difference |
|---|---|
8 filesMathlib.Analysis.Fourier.AddCircle Mathlib.Geometry.Euclidean.Sphere.Ptolemy Mathlib.Geometry.Euclidean.Angle.Sphere Mathlib.Geometry.Euclidean.Angle.Oriented.RightAngle Mathlib.Geometry.Euclidean.Angle.Oriented.Rotation Mathlib.NumberTheory.ZetaValues Mathlib.Geometry.Euclidean.Triangle Mathlib.Geometry.Euclidean.Angle.Oriented.Affine |
1 |
Mathlib.Analysis.SpecialFunctions.Complex.Circle |
2 |
Mathlib.MeasureTheory.MeasurableSpace.Instances |
73 |
Mathlib.Topology.Instances.ZMod |
623 |
Mathlib.Analysis.Fourier.ZMod |
1954 |
Declarations diff
+ ZMod.instMeasurableSingletonClass
+ ZMod.instMeasurableSpace
+ dft
+ dft_apply
+ dft_def
+ fourierTransform_eq_gaussSum_mulShift
+ fourierTransform_eq_inv_mul_gaussSum
+ instance : DiscreteTopology (ZMod N) := ⟨rfl⟩
+ instance : TopologicalSpace (ZMod N) := ⊥
+ stdAddChar
+ stdAddChar_apply
+ stdAddChar_coe
+ toAddCircle
+ toAddCircle_apply
+ toAddCircle_eq_zero
+ toAddCircle_inj
+ toAddCircle_injective
+ toAddCircle_intCast
+ toAddCircle_natCast
+ toCircle
+ toCircle_apply
+ toCircle_intCast
+ toCircle_natCast
You can run this locally as follows
## summary with just the declaration names:
./scripts/no_lost_declarations.sh short <optional_commit>
## more verbose report:
./scripts/no_lost_declarations.sh <optional_commit>|
Thanks for the (re-)review! Good point about |
YaelDillies
left a comment
There was a problem hiding this comment.
Rest looks good, except for the fact that your new definition has no API (but apparently that's a conscious design decision on your part)
Co-authored-by: Yaël Dillies <yael.dillies@gmail.com>
|
Thanks Yael for the comments – I have incorporated them. I promise there will be more API in follow-up PRs; but this PR is a bit of a pain to work on at present (because it involves edits to widely-separated files in the import hierarchy), so I'd rather get it in as it stands. |
|
Okay then maintainer merge |
|
Odd. maintainer merge |
|
🚀 Pull request has been placed on the maintainer queue by Ruben-VandeVelde. |
|
Thanks! bors merge |
We write down basic definitions for the discrete Fourier transform, and compute the Fourier transforms of primitive Dirichlet characters (a minor reformulation of a result from an earlier PR). Co-authored-by: Yaël Dillies <yael.dillies@gmail.com>
|
Pull request successfully merged into master. Build succeeded: |
ZMod NZMod N
We write down basic definitions for the discrete Fourier transform, and compute the Fourier transforms of primitive Dirichlet characters (a minor reformulation of a result from an earlier PR).
IsNontrivial, fixisPrimitive#13878MeasureTheory.MeasurableSpace.Basic#13937