Opened 4 years ago
Last modified 3 years ago
#18956 new enhancement
incomplete gamma identities
Reported by: | buck | Owned by: | |
---|---|---|---|
Priority: | major | Milestone: | sage-feature |
Component: | symbolics | Keywords: | |
Cc: | paulmasson | Merged in: | |
Authors: | Reviewers: | ||
Report Upstream: | N/A | Work issues: | |
Branch: | Commit: | ||
Dependencies: | #16697 | Stopgaps: |
Description
This work depends on #16697, but I'd like to start it now.
There is a quite simple identity for the incomplete gamma functions:
gamma(x) == gamma_inc_lower(x, y) + gamma_inc(x, y)
In the mathematica three-argument-gamma notation, this is a bit more clearly true:
gamma(x, 0, oo) == gamma(x, 0, y) + gamma(x, y, oo)
What bits of sage do I need to patch to teach the simplifier about this identity? Is this something I can do as a plain-old user? Also, what bits of the documentation cover this aspect of symbolic symplification, from both user and contributor perspectives?
Change History (3)
comment:1 Changed 4 years ago by
comment:2 Changed 4 years ago by
Thanks!
To be clear, there's just one identity here, with two notations. I expect if/when we gain a three-argument gamma, the simplification logic won't need to be modified in order to Just Work.
comment:3 Changed 3 years ago by
- Cc paulmasson added
The
simplify*/expand*
member functions are covered in http://doc.sagemath.org/html/en/reference/calculus/sage/symbolic/expression.html. Most of them use Maxima. If you have a function that does this rewrite it should be added in this module, and probably also to one of thesimplify*/expand*
functions. As to the details, best would be a function namedexpand_xyz
because you expandgamma(x)
, orrewrite_xyz
. The same documentation contains specifics on pattern matching and overall expression manipulation, which is needed here.As to the second identity, we still haven't the gamma with three parameters.