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]> 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]
>
> 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].
> 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/CAAvS0gXuM-KZHaYM6nKoh_4wcNumNjez7rvdD57KptLVRDTqJA%40mail.gmail.com.

Reply via email to