-
Notifications
You must be signed in to change notification settings - Fork 335
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Merged by Bors] - feat: define the ordinary hypergeometric function #17455
Conversation
…oid poles in the sum later. TODO: find the minimal classes on ascPochhammer to move to an appropriate location.
…/leanprover-community/mathlib4 into edwatine/hypergeometric-function
…y\Polynomial\Pochhammer): add the ordinaryHyperGeometricSeries and some related theorems Add the definition of the ordinary hypergeometric series, and show that its radius is one. Part of this requires an additional theorem about ascPochhammer, which can be found in the ascPochhammer file. Closely follows the exponential series definition. #15966
…lib4 into edwatine/hypergeometric-function
…/leanprover-community/mathlib4 into edwatine/hypergeometric-function
PR summary 5a29ad33d6
|
File | Base Count | Head Count | Change |
---|---|---|---|
Mathlib.RingTheory.Polynomial.Pochhammer | 955 | 960 | +5 (+0.52%) |
Import changes for all files
Files | Import difference |
---|---|
7 filesMathlib.Data.Nat.Choose.Cast Mathlib.RingTheory.Polynomial.Pochhammer Mathlib.Algebra.Polynomial.HasseDeriv Mathlib.Algebra.Polynomial.Taylor Mathlib.RingTheory.Polynomial.Bernstein Mathlib.RingTheory.Binomial Mathlib.Data.Nat.Factorial.Cast |
5 |
Mathlib.Analysis.Analytic.OfScalars |
1388 |
Mathlib.Analysis.SpecialFunctions.OrdinaryHypergeometric |
1404 |
Declarations diff
+ RCLike.tendsto_add_mul_div_add_mul_atTop_nhds
+ ascPochhammer_eval_eq_zero_iff
+ ascPochhammer_eval_neg_coe_nat_of_lt
+ ofScalars
+ ofScalarsSum
+ ofScalarsSum_eq_tsum
+ ofScalars_apply_eq
+ ofScalars_apply_eq'
+ ofScalars_eq_zero
+ ofScalars_norm
+ ofScalars_norm_eq_mul
+ ofScalars_norm_le
+ ofScalars_op
+ ofScalars_radius_eq_inv_of_tendsto
+ ofScalars_radius_eq_of_tendsto
+ ofScalars_sum_eq
+ ofScalars_unop
+ ordinaryHypergeometric
+ ordinaryHypergeometricCoefficient
+ ordinaryHypergeometricSeries
+ ordinaryHypergeometricSeries_apply_eq
+ ordinaryHypergeometricSeries_apply_eq'
+ ordinaryHypergeometricSeries_apply_zero
+ ordinaryHypergeometricSeries_eq_zero_iff
+ ordinaryHypergeometricSeries_eq_zero_of_neg_nat
+ ordinaryHypergeometricSeries_norm_div_succ_norm
+ ordinaryHypergeometricSeries_radius_eq_one
+ ordinaryHypergeometricSeries_symm
+ ordinaryHypergeometric_eq_tsum
+ ordinaryHypergeometric_radius_top_of_neg_nat₁
+ ordinaryHypergeometric_radius_top_of_neg_nat₂
+ ordinaryHypergeometric_radius_top_of_neg_nat₃
+ ordinaryHypergeometric_sum_eq
+ ordinaryHypergeometric_zero
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.
I intend to PR the commented inline theorem in Pochhammer after the subsequent build after this is merged, in order to limit the scope of this PR |
…itive integers. Also perform some general performance and style refactors.
@EdwardWatine Note that this is currently failing CI! I will wait to review again until it is ready. |
One other high level comment as I look at the material in this PR and the similar API for the exponential series is that we should probably introduce a definition: def FormalMultilinearSeries.ofScalars (c : ℕ → 𝕂) : FormalMultilinearSeries 𝕂 𝔸 𝔸 :=
fun n ↦ c n • ContinuousMultilinearMap.mkPiAlgebraFin 𝕂 n 𝔸 and develop some API for that. I think it would simplify the work here. |
Whoops, I keep forgetting to restart the file after changing the other one... |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looking great, a few more nitpicks below:
I think |
I was having a look for adding API as you suggest, but I'm not entirely sure where it would lie. Ideally it would go in Mathlib\Analysis\Calculus\FormalMultilinearSeries.lean, but we really want to be able to use other results that come from other files such as Mathlib\Analysis\Analytic\Basic.lean and Mathlib\Analysis\NormedSpace\Multilinear\Basic.lean (I think). Perhaps this needs a new file? |
Yes I think a new file would be the right move. Maybe |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for all of this!
Please apply the remaining suggestions and then feel free to merge 🎉
bors d+
✌️ EdwardWatine can now approve this pull request. To approve and merge a pull request, simply reply with |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks 🎉
bors merge
Add the definition of the ordinary hypergeometric series, and show that its radius is one. Part of this requires an additional theorem about ascPochhammer, which is found in the Pochhammer file. Closely follows the exponential series definition. #15966 Co-authored-by: Alvan Caleb Arulandu <[email protected]>
Pull request successfully merged into master. Build succeeded: |
Add the definition of the ordinary hypergeometric series, and show that its radius is one. Part of this requires an additional theorem about ascPochhammer, which is found in the Pochhammer file. Closely follows the exponential series definition.
#15966