Hi everyone,

Since the deadline is approaching, I have submitted the current version of
my proposal at *GSoC'*s website.

Please take a look at my proposal at wiki
<https://github.com/sympy/sympy/wiki/GSoC-2019-Proposal-Shubham-Kumar-Jha-:-Improving-Assumptions.>.
I would be happy to get further suggestions from you so that I can iterate
over it.

Thanks,
Shubham

On Fri, Apr 5, 2019 at 3:10 PM <skjha...@gmail.com> wrote:

> 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, skjh...@gmail.com 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 <skjh...@gmail.com> 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, skjh...@gmail.com
>>> 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 sy...@googlegroups.com.
>>> > To post to this group, send email to sy...@googlegroups.com.
>>> > 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 sympy+unsubscr...@googlegroups.com.
> To post to this group, send email to sympy@googlegroups.com.
> 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
> <https://groups.google.com/d/msgid/sympy/071b2ffb-e216-4bed-8302-5b3b5884f768%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
> 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 sympy+unsubscr...@googlegroups.com.
To post to this group, send email to sympy@googlegroups.com.
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/CAE4GFi%3D46VqHt02CRe-VpW-Ss_k5_EjeuCrBaHEZYyHEZ-Z9Jw%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to