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.

Reply via email to