Hi everyone, I have made an initial draft of my proposal at https://github.com/sympy/sympy/wiki/GSoC-2019-Proposal-Shubham-Kumar-Jha-:-Improving-Assumptions.
Please give suggestions. Thanks. On Friday, March 15, 2019 at 9:27:30 AM UTC+5:30, [email protected] wrote: > > > I would like if mentors give suggestions about the course of action I > should take and the improvements I should make in the proposal. The project > is huge and for the past few days, I have been going to and from between > core modules and assumptions module. I have some questions : > > - Why do we need to have two different sets of assumptions? > > This is ambiguous. Just Consider > > > > > > >>> oo.is_real > True > >>> ask(Q.real(oo)) > False > >>> > > > - Also since the new assumptions are sometimes calling the old > assumptions, the above can create more difficulties. Isn't the idea for > new > assumptions has been to scrape off the old assumptions? > > My present plan for my course of actions is: > > - Improve SAT solvers speed:- I am currently researching for SAT > solving algorithms and since SymPy is a closed system (i.e. the Inference > rules would be fixed) we can have a pre-compiled Inference Network ( or > such a Data structure) which would provide speed to SymPy's SAT solvers. > - Old assumptions would call the new assumptions. > > But old and new assumptions differ. Should they be left as they are? > Please suggest. > > Thanks. > > On Monday, March 11, 2019 at 11:37:43 AM UTC+5:30, [email protected] > wrote: >> >> Hello everyone, >> >> I am Shubham Kumar Jha, a pre-final year Undergraduate student in C.S.E. >> from NIT Agartala (India). I am participating in GSoC 2019 under SymPy. I >> went through the ideas page of GSoC 2019 and found the Assumptions project >> to be both appealing and exciting to me. I want to work on it. I have gone >> through much of the literature on Assumptions and still reading them. The >> project is huge and I still need to make a clear note of the amount of work >> done and not done. But following are some tasks I would want to work on: >> >> - *Add support for Relational expressions: *Currently, Assumptions >> doesn't support relational expressions. I would extend the capabilities >> of >> Assumptions. It would also help in other parts of the project. >> - *Convert handlers to their relational equivalents: *While working >> on some handlers I found handlers in particular are not very powerful or >> expandable. With added support for Relational expressions, we can convert >> handlers to their relational equivalents. In this way, we can save much >> of >> the predicates since inferences on Relationals would be enough for most >> of >> them. Also, it would make them easily expandable. >> - *Increase the capabilities of SAT solver: *Aaron Meurer(@asmeurer) >> has already done so much work in it (which I still need to go through). I >> would try to extend its capabilities and speed it up. Currently, I am >> having Logical Inference as one of my subjects this semester which >> heavily >> utilizes CLIPS. I would look into CLIPS or other better alternatives if I >> can mimic their functionalities. >> - *Work on global assumptions: *As suggested by Sudhanshu >> Mishra(@debugger22) we can add assumptions into the global scope with >> their >> scope numbers and purge them during garbage collection. I support the >> approach with context manager but I think the addition of this capability >> will also be good. >> >> I am still going through the works done in Assumptions and would draft a >> refined proposal over this and the suggestions I receive. Also, I would >> create the timeline accordingly. I know the project is very huge therefore >> I would like if some mentors can guide me into specifics that heavily >> require work now. >> >> I have no commitments for this summer and I am able to devote my full >> time to SymPy. I have been a part of the community for the past 3-4 months >> and I understand SymPy's codebase pretty well. Hence, I don't need time to >> get familiarize with it. Also, before the beginning of the coding period, I >> would have gone through Assumptions mechanism. I would start working on my >> project from the very beginning. Since the project is huge my main target >> would be to bring the assumptions upfront so more work would be done in >> this field. Also, I won't stop working after GSoC. I will complete whatever >> I would start. >> >> Thank You, >> Shubham Kumar Jha >> @ShubhamKJha <https://github.com/ShubhamKJha> >> > -- 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 post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/sympy. To view this discussion on the web visit https://groups.google.com/d/msgid/sympy/d1146cac-2ad2-41d8-99f1-be72123e70cf%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
