Sir, I will be updating that part in a few days. Apart from that, did you 
find anything else I need to work on?

Thanking you.

On Sunday, March 22, 2020 at 1:12:01 AM UTC+5:30, Gagandeep Singh 
(B17CS021) wrote:
>
> Hi,
>
> I am unable to find out the links to your merged PRs to `sympy` or 
> `symengine` repositories. Have you provided the code in some other way? If 
> so, please add them under a separate heading in the first few pages of the 
> proposal so that it's easy to locate.
>
> Please go through 
> https://github.com/sympy/sympy/wiki/GSoC-2020-Application-Template 
> <https://github.com/sympy/sympy/wiki/GSoC-2020-Application-Template#patch-requirement>
>  and 
> try to follow it as much as possible.
>
> On Sat, Mar 21, 2020 at 11:28 PM Arpan Chattopadhyay <
> [email protected] <javascript:>> wrote:
>
>> Google Summer of Code 2020 - Proposal
>>
>> Improving SymEngine - Sympy Integration by working on SymPy Modules
>>
>> Me, the person:
>>
>> Name : Arpan Chattopadhyay
>>
>> University : Birla Institute of Technology and Science, Pilani
>>
>> Email : [email protected] <javascript:>
>>
>> GitHub : Arpan612 (Arpan Chattopadhyay)
>>
>> I am happy to be contacted by any of the above means as I believe easy 
>> and fast communication is the key for success of any open source project.
>>
>> Time-zone : IST (UTC+5:30)
>>
>> Age : 19
>>
>> I am Arpan Chattopadhyay, pursuing B.E.(Hons.) Electrical and Electronics 
>> (2nd Year) at Birla Institute of Technology and Science, Pilani (BITS 
>> Pilani). I am highly interested in the fields of Symbolic Mathematics, 
>> Applied Mathematics, Machine Learning, and Mathematical Modeling. I would 
>> love to continue working in open source projects and hopefully, one day, 
>> create my team of programmers for building an open-source project as big as 
>> that of SymPy. I am very well versed in English and love interacting with 
>> people. Apart from coding, I love watching films, particularly mystery 
>> ones. I play and follow football as well. I believe I have been a good fit 
>> in the community culture and I hope to contribute even after the GSoC 
>> program gets over.
>>
>> Me, the programmer:
>>
>> I have been introduced to programming in Class 11 where we were taught 
>> C++ programming language as a part of our course curriculum. I started 
>> Python a month after joining college. At that time, I was introduced to the 
>> world of open source and the limitless possibilities it held for me. I was 
>> fortunate enough to take part in a Study Oriented Project which involved 
>> Symbolic Mathematics and the use of SymPy in Python. I found out about the 
>> various tasks which can be done by SymPy and was very impressed. Thus, I 
>> decided to finally give wings to my dream of working and collaborating in a 
>> large open-source project and SymPy was a natural choice, given the 
>> interest, it sparked in me. OS : Ubuntu 16.04 IDE Hardware Configuration : 
>> Intel i7 8th generation Python : Version 3.7.4 Editor : Atom and Anaconda 
>> (Version 4.7.12)
>>
>> Python Projects Created:
>>
>> Gateway Interface with Google Accounts Blogging Application Polling 
>> Application Implementable Google O-Auth Gateway Biometric Verification 
>> Application Algorithmic Trading Application Algorithms for Stock Market 
>> Trading with Python Automated Trading Platform with Python and C++ Retina 
>> Sensor Detection Algorithms
>>
>> Internship and Research Experience with Python:
>>
>> Winter Intern as a Quantitative Research Analyst in Veda Capital, Opera 
>> House, Mumbai Responsible for making Algorithms for Trading in the Indian 
>> Equity and Commodity Market, managing and mining F&O data using MySQL, 
>> coding the algorithms and alphas in Python programming language with Pandas 
>> and NumPy for back testing and live testing.
>>
>> Laboratory and Study Project on Application of Machine and Deep Learning 
>> in Communication System and Spectrum Sensing
>>
>> This is a Laboratory and Study Project on Application of Machine and Deep 
>> Learning in Communication System and Spectrum Sensing under Shishir 
>> Maheshwari, Department of Electrical and Electronics, BITS Pilani. Here we 
>> apply Machine Learning techniques in Python for Spectrum Sensing when the 
>> primary user has Multiple Transmit Powers. We also investigate and build a 
>> machine learning model for spectrum sensing in cognitive radio networks.
>>
>> The simplicity and ease of handling complex mathematics is an awesome 
>> feature I feel SymPy has.
>>
>> My Project:
>>
>> In this competitive world and rapid expansion in technology, speed of 
>> executing tasks is very important. SymEngine can be used to achieve that 
>> speed in SymPy.
>>
>> Though SymEngine was initially developed to be a part of core for the 
>> SymPy CAS in the recent past, it has matured enough to be used as a 
>> symbolic backend. Using SymEngine can significantly increase speeds of 
>> various symbolic operations, and would increase the value and importance of 
>> SymPy requiring brisk computation as it gives users the option to tap into 
>> SymEngine’s routine. Also using SymEngine in SymPy is very fast and easy 
>> and hence will attract more people to it.
>>
>> Aim and Objective:
>>
>> The ultimate objective is to speed SymPy. An effective way to do it is to 
>> use SymEngine. SymEngine provides a very fast implementation of core 
>> symbolic algorithms, and SymPy should use it to gain speed. The theme of 
>> this project is to expand it to the modules in SymPy and also implement 
>> missing features from SymPy core in SymEngine. The project also explores 
>> the various changes SymEngine needs to become more efficient. This project 
>> builds on the commendable work done by @ShikharJ in GSoC 2017 and also 
>> solves the various problems SymEngine faces.
>>
>> Motivation:
>>
>> I believe that the most important problems of this world are solved by 
>> Mathematics. In particular, calculus was a revolutionary discovery which 
>> accelerated study in Mathematics and development in the world with 
>> astonishing pace. The vast application in particular, Calculus I like most 
>> about is the vast application it has and how it is used in almost all 
>> practical tasks we do.
>>
>> Past Work Academic work in Mathematics:
>>
>> Seven Mathematics Courses done in College.
>>
>> Studied Advanced Calculus, a Textbook by Lynn Harold Loomis and Shlomo 
>> Sternberg. Used by Harvard Mathematics Department.
>>
>> Studied Calculus: An Intuitive and Physical Approach (Second Edition), by 
>> Morris Kline. Used by Harvard Mathematics Department.
>>
>> Used Algorithmic Calculus for the “Retina Sensor Detection Algorithms” 
>> project mentioned before. Studied Introduction to Vector Analysis, a 
>> Textbook by Harry Davis.
>>
>> Studied Advanced Number Theory, a Textbook by Mollin Richard.
>>
>> Time Available and Other Commitments:
>>
>> I have my end-semester examinations from May 1st to 15th. This lies 
>> completely inside the community bonding period therefore I will complete 
>> the tasks I was going to do in the community bonding period in 
>> pre-community bonding period. Other than that, I will be devoting 45-55 hrs 
>> a week as I have no other commitment during the GSoC period and have great 
>> interest in the project I want to do with SymPy.
>>
>> Documentation:
>>
>> Good documentation is an integral part of any successful project. It also 
>> helps in receiving a wider acceptance from the developer community. After 
>> working on the project for some time, I would write a documentation on the 
>> various aspects of the project.
>>
>> Communication:
>>
>> I will be in regular contact with mentors using email. In case I am stuck 
>> somewhere, I would reach out to them via Gitter Chat and Mailing List. If 
>> selected, I also plan to make a blog where I will be giving regular updates 
>> about the work completed. I believe that the problems faced by me and their 
>> solutions would certainly help other fellow developers later just like I 
>> have received great help from various blogs on the internet.
>>
>> Project Details:
>>
>> Phase 0: (Community Bonding)
>>
>> In this phase, we explore the existing work done in integration of 
>> SymEngine with SymPy. We look at the various changes made in the existing 
>> modules which already have integration of SymEngine with SymPy. We renovate 
>> and improve documentation of the necessity of the various changes done so 
>> far. We also keep a track of the difference in speed these changes have 
>> brought about and also include it in documentation. I have already started 
>> exploring SymEngine and I believe there is scope for some amount of testing 
>> and benchmarking. As I will mention in the timeline, this phase is almost 
>> completely inside the community bonding phase. Hence, I will continue my 
>> conversation with the mentors at SymEngine and get some information on the 
>> additional issues SymEngine faces and can work on it.
>>
>> Phase 1:
>>
>> We are inside the coding period now. We start off by working on the 
>> various issues discussed with the mentors and already existing issues in 
>> the SymEngine repository. Some of the existing issues are below: 
>> https://github.com/symengine/symengine/issues/1600 
>> https://github.com/symengine/symengine/issues/1595 
>> https://github.com/symengine/symengine/issues/912 
>> https://github.com/symengine/symengine/issues/1324 As Aaron Meurer Sir 
>> has said before, in a large organization, it happens that issues get 
>> neglected. I have taken this task before implementing something new because 
>> I feel it is better to perfect the work already done before working on 
>> other modules. Shikhar had said as feedback after the GSoC 17 got over that 
>> the final work he did had some parts different as compared to the ones he 
>> proposed. That is why I have given some extra time to this phase. If my 
>> mentors feel that nothing else is required apart from the issues solved. I 
>> will move to the next phase.
>>
>> Phase 2:
>>
>> An interesting thing I have observed with SymPy is that people often 
>> compare the speed which libraries bring as against the other. The following 
>> issue highlights it:
>>
>> https://github.com/symengine/symengine/issues/1589
>>
>> I want to spend four days exploring how other libraries tackle the issue 
>> of speed and by exploring their open source github channels to find out 
>> what different they do for us. I believe this activity can bring great 
>> value as we might find something which we were unaware of.
>>
>> After this I will start working with the “Calculus”, “Integrals”, “Stats” 
>> and “Vectors” modules. I will be working on the ASV benchmark and the 
>> corresponding code for integration of this module in SymPy with SymEngine. 
>> The main focus here will be to implement functionalities unavailable right 
>> now. This task is expected to be heavy and time consuming. We will need to 
>> implement routines in SymEngine as well as update the python wrapper with 
>> the latest development.
>>
>> Phase 3:
>>
>> I would like to keep a four day buffer as the work in Phase 2 is time 
>> consuming. These days can also be utilised in debugging and better 
>> documentation for the work done in the previous modules. I am expecting my 
>> mentor as well to suggest some extra work which we can do to make this 
>> implementation innovative so the days may be used there as well.
>>
>> After this, I would like to give a day on ASV Benchmarking all the 
>> modules in which SymEngine has been implemented thus far as the main 
>> objective of this project is for our code to be fast.
>>
>> After giving the finishing touches to the previous module, we shift our 
>> focus on the “Number Theory”, “Geometry”, “Series” and “Sets” modules. Like 
>> before, I will be working on the code for integration of this module in 
>> SymPy with SymEngine with reference to implementation of unavailable 
>> functionalities. Since we have worked in a similar manner in Phase 2, I 
>> believe I will be able to complete the work at least five days before the 
>> deadline. I would like to implement some additional functionalities in some 
>> of the previous modules. The last five days will be used for removing bugs, 
>> solving issues and improving documentation of the work done in GSoC.
>>
>> Modules I intend to work with:
>>
>> Phase 2 Modules:
>>
>> Calculus Integrals Vectors Stats
>>
>> Phase 3 Modules:
>>
>> Number Theory Geometry Series Stats
>>
>> Timeline:
>>
>> Community Bonding Period: (Present - May 14)
>>
>> Detailed discussion with mentors about the work I intend to do. Figuring 
>> out additional work which we can do during with the mentors and deciding 
>> the timeline for it as well Renovate and improve documentation of existing 
>> SymEngine integrated modules of SymPy. Starting fixing issues in SymEngine 
>> (May 14 onwards)
>>
>> Phase 1:
>>
>> May 14 to May 21: (Week 1)
>>
>> Complete working on issues: 
>> https://github.com/symengine/symengine/issues/1600 
>> https://github.com/symengine/symengine/issues/1595 PR for both the 
>> issues by May 22 latest. May 21 to May 28: (Week 2)
>>
>> Complete working on issues: 
>> https://github.com/symengine/symengine/issues/912 
>> https://github.com/symengine/symengine/issues/1324 
>> https://github.com/symengine/symengine/issues/1601 PR for all three 
>> issues by May 30 latest. Start Importing changes for pre-implemented 
>> functions/classes in the “Calculus”, “Integrals”, “Vectors” and “Stats” 
>> modules.
>>
>> May 29 to June 4: (Week 3) Finish Importing changes for pre-implemented 
>> functions/classes in the previous modules. Start working on the additional 
>> goals decided by me and the mentors.
>>
>> June 4 to June 11: (Week 4) Continue working on the additional goals 
>> decided by me and the mentors. PR for the additional tasks by June 12 
>> latest. Start working on Phase 2 tasks if I finish the tasks decided as 
>> additional goals.
>>
>> June 11 to June 15: (Week 5) Exploring how other libraries tackle the 
>> issue of speed and by exploring their open source github channels.
>>
>> June 15 to June 18: (Week 5)
>>
>> Phase 1 evaluation
>>
>> Benchmarking the work done in phase 1 as per requirements. Start working 
>> on the Phase 2 Modules.
>>
>> Phase 2: June 18 to July 1: (Week 6 and 7) Continue working on the 
>> Modules and its corresponding classes like Euler Equations, Singularities, 
>> Finite Difference Weights for “Calculus”. Special attention should be given 
>> to some classes like “Singularities” as the scope of SymEngine 
>> implementation for them is maximum. First PR for the work done on the Phase 
>> 2 modules by June 26 latest. First few functionalities will be wrapped up 
>> in SymEngine.py. Testing to be done as required. Second PR for the work 
>> done on the Calculus module by July 2 latest.
>>
>> July 1 to July 15: (Week 8 and 9) Some issues in the SymEngine Github 
>> repository to be fixed. PR for the work done on the issues by July 8 latest 
>> Finish all the work in Phase 2 modules Final PR for the work done on the 
>> Phase 2 modules by July 15 latest All the remaining functionalities will be 
>> wrapped up in SymEngine.py. Testing to be done as per requirement.
>>
>> Phase 2 evaluation
>>
>> Phase 3:
>>
>> July 15 to July 29: (Week 10 and 11) Debugging and Documentation for 
>> Phase 2 modules. Benchmarking all previous modules where SymEngine is used. 
>> The above tasks to be completed by July 19 latest. Start working on the 
>> Phase 3 Modules and its corresponding classes. Special attention should be 
>> given to some classes where scope of SymEngine implementation is maximum. 
>> First PR for the work done on the Phase 3 module by July 27 latest.
>>
>> July 29 to August 12: (Week 12 and 13) Continue my work on the Phase 3 
>> Modules. Most of the work will be completed by August 5 Second PR for the 
>> work done on the Phase 3 modules by August 5 latest.
>>
>> Make sure that all routines are implemented in SymEngine Implement some 
>> additional functionalities in Phase 2 and 3 modules. Additional work 
>> depending on the discussion with mentors.
>>
>> August 12 to August 17: (Week 14) Complete my work on the Phase 3 
>> modules. Final PR for the work done on the Phase 3 modules by August 12 
>> latest. Finishing up documentation and blogs Checking for any issues or 
>> conflicts unattended Final Benchmarking and updating it to SymPy wiki 
>> Submission for Final Evaluation by August 14 latest.
>>
>> I plan on implementing SymEngine in some modules of SymPy across all 
>> functions and classes in it which are compatible with SymEngine. I expect 
>> to finish the tasks about 7 days earlier than the timeline above. If I 
>> don’t, I will request the Mentors to allow me to work for a few days more 
>> on my additional goals. If I am allowed to do so, I would love to work on 
>> the additional goals below. Some of them were proposed by Shikhar, but he 
>> could not work on it due to time constraint.
>>
>> Additional Goals: Explore the modules “Logic” and “ODE” and find out 
>> Functions where SymEngine can be implemented and work on the same. Adding 
>> Documentation for SymEngine. Exploring and suggesting steps for Thread 
>> safety in SymEngine.
>>
>> References:
>>
>> https://github.com/ShikharJ/GSoC-2017-Work-Report 
>> https://github.com/sympy/sympy/wiki/GSoC-2017-Application-Shikhar-Jaiswal:-Improving-SymEngine's-Python-Wrappers-and-SymPy-SymEngine-Integration
>>  
>> https://github.com/sympy/sympy/wiki/GSoC-2020-Ideas#improve-sympy-integration
>>  
>> https://github.com/symengine/symengine/wiki/SymPy-core-upgrade-to-SymEngine
>>  
>> https://github.com/symengine/symengine/wiki/Beginner-Contributor-Guide-Design-of-SymEngine
>>  https://github.com/symengine/symengine/wiki/Building-SymEngine
>>
>> Proposals on Wiki
>>
>> -- 
>> 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] <javascript:>.
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/sympy/9a3b8ba9-830c-4ee1-804e-163cdd003511%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/sympy/9a3b8ba9-830c-4ee1-804e-163cdd003511%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>
>
> -- 
> With regards,
> Gagandeep Singh
> Github - https://github.com/czgdp1807/
> Linkedin - https://www.linkedin.com/in/czgdp1807/ 
> <https://www.linkedin.com/in/gdp1/>
>

-- 
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 on the web visit 
https://groups.google.com/d/msgid/sympy/9ad7ae5f-63db-4968-b093-f9e1d1edb38e%40googlegroups.com.

Reply via email to