Hi SymPy Community,
I’m Krishnav Bajoria, a third-year student at IIT BHU,Varanasi studying
Mathematics and Computing.I am proficient in Python and have had a fairly
strong mathematical background which was also the reason that led me to
start contributing in SymPy. In terms of my contributions to SymPy, I have
had three PRs merged—two related to *assumptions* and one in
codegen/utilities.lambdify—and a few more under review.
As I was exploring potential GSoC projects, I became particularly
interested in two from the ideas page:
1. *Improvements to the Assumptions System*
2. *The Risch Integration Algorithm*
Since I’ve already worked a bit on *assumptions*, I’ve been delving deeper
into the discussions and implementation details to understand its current
state. I wanted to share what I’ve gathered so far and get feedback on
whether I’m on the right track, or if there are other key areas I should
focus on.
*Assumptions System: What I’ve Studied So Far*
- *Old vs. New Assumptions System*:
- The transition from the old rule-based system,which attached
inferences directly to the objects as attributes, to the new
predicate-based system,which separates inferences from objects and
evaluates them dynamically, was meant to enhance flexibility. However,
there are still inconsistencies where the new system does not propagate
certain facts correctly.
- *Key Issues and Challenges*:
- Some assumptions are incorrectly inferred or not inferred at all
due to missing rules.
- Symbolic variables (e.g., x.is_real) sometimes fail to evaluate
correctly when additional constraints are introduced.
- Cases where the assumptions system contradicts itself in different
parts of SymPy.
- Performance concerns—some assumption queries take longer than
expected due to inference chains.
- *Areas I’ve Been Exploring for Improvements*:
- Understanding *handlers* in the new system and whether they need
restructuring.
- Reviewing past discussions on improving assumptions and identifying
still-relevant open issues.
- Exploring ways to *improve inference accuracy*, especially in edge
cases.
- Considering whether any aspects of the *old system* could be
reintroduced to address current limitations.
I’d appreciate to hear from the community—does this list cover the main
areas that need attention? Are there any other fundamental issues I should
be looking at?
*Considering Risch Integration*
Apart from assumptions, I’ve also started reading about the *Risch
integration algorithm*. I haven’t explored it as deeply yet, but I find it
intriguing and would like to get insights on its feasibility as a GSoC
project.
At this stage, I’m just considering both projects for discussion and plan
to *finalize my choice* based on the feedback and guidance from the
community.
Thank you for your time and consideration. I look forward to your response!
Best Regards,
Krishnav Bajoria.
--
You received this message because you are subscribed to the Google Groups
"sympy" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion visit
https://groups.google.com/d/msgid/sympy/CAF0TZuuLMFee7LUv4AUQ%2BBTLJ_LYEZjX-pxU%2BCMBDnPDOX%3DuUw%40mail.gmail.com.