Hi Aaron, I have made updates to the initial draft as suggested. Kindly take a look at it.
Thanks, Shubham On Tuesday, April 2, 2019 at 6:13:52 AM UTC+5:30, [email protected] wrote: > > Hi Aaron, > > Thanks for replying. I am still researching on SMT solvers and possible > approaches of implementing one such solver. I will update my proposal very > soon. > > Shubham > > On Tuesday, April 2, 2019 at 1:14:59 AM UTC+5:30, Aaron Meurer wrote: >> >> On Thu, Mar 14, 2019 at 9:57 PM <[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? >> >> Yes, the consistency is an issue. I think main problem is whether >> real/positive/etc. include oo or not. There has been a lot of >> discussion about this (see https://github.com/sympy/sympy/pull/2538). >> It will need to be cleaned up before we can truly merge the two. >> >> I think the old assumptions syntax should be kept, because it is >> convenient, and has been around for a long time. But some things are >> only expressible with the new assumptions. There are also things like >> the matrix expressions which exclusively use the new assumptions, and >> they should be kept like that. >> >> > >> > 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. >> >> I think we need to significantly improve the performance of the new >> assumptions before this can happen. Right now old assumptions are >> called all over the place in SymPy, and if they got slower it would >> affect the performance of virtually every SymPy operation. >> >> Regarding your application, I would add more details about how SMT >> would work, as well as about the relational assumptions, particularly >> how you would be able to do useful inferences with relational >> assumptions. >> >> Aaron Meurer >> >> > >> > 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 >> > >> > -- >> > 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/176c7a47-b700-480d-b0a5-cf316af7edf7%40googlegroups.com. >> >> >> > For more options, visit https://groups.google.com/d/optout. >> > -- 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/071b2ffb-e216-4bed-8302-5b3b5884f768%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
