Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
GSoC 2016 Application Archit Verma : SymPy Live and SymPy Gamma (on Google App Engine)
Clone this wiki locally
Table of contents
- Basic Information
- Programming Details
- Contributions to SymPy
- The Project
Name: Archit Verma
University: Delhi Technological University, India
Timezone : IST (UTC +5:30)
I am a 4th year undergraduate pursuing a bachelors of technology in Electronics and Communication Engineering at Delhi Technological University, India. I have a keen interest in Electronics and Computer Science and to develop it further I have taken multiple courses during my undergraduation including Advanced Engineering Mathematics - I,II, Discrete Mathematics, Introduction to Data Structures, Algorithm Design and Analysis and Web Technologies.
Platform and Editor
I work on an Ubuntu 14.04 LTS machine and have Sublime Text 3 as my primary text editor because of its light-weightedness compared to an IDE and the useful add-ons it has. I occasionally use VIM too.
- Soccer CLI: One of my most popular project. A Python-based command line app to get the latest football scores directly in the terminal.
- Challenge Hunt: An app that lists coding contests and hackathons from around the world. Featured in the top ten daily products on Product Hunt and won the DevPost popular choice award.
- Harvey: A command line app to manage license for open source projects.
- StalkCoder: A chrome plugin for popular sport programming website CodeChef to allow users to compare their rank based on monthly coding contest.
I have been using Python for two years. I like python for its english-like syntax, small learning curve and the fact that it makes prototyping extremely fast. My favorite feature in Python is map, filter and reduce. Using this with lambda functions makes working with lists super easy.
I am quite familiar with version control system git and have been using it(GitHub, Bit Bucket) to contribute to many open source projects.
Contributions to SymPy
I first came across SymPy two months back and have contributed to SymPy since then.
(Merged) PR #10443 :
Dict: Added support for collections.defaultdictAdded support for
collections.defaultdictwhich was previously not available.
(Open) PR #10517 :
zeta function: zeta(x) for Re(x-1) not zero is finite
I plan to work on SymPy gamma. SymPy is a very useful library and is used in the backend of many other CAS systems like Mathics and Sage. Also, it's a great open source alternative to Maple, Mathematica and Matlab.
Currently Wolfram Alpha has a lot of powerful features but most of them are available only for a pro(paid) account. I feel having a free and open source alternative with SymPy would be very useful for anyone looking for an alternative CAS system.
I plan to broadly work on two features:
Natural Language Parsing: In my opinion this is one of the most important features of SymPy. SymPy Gamma parser does a good job of understanding basic queries but fails for natural inputs and text-based math unlike Wolfram Alpha, which has this as one its main features. This issue has been brought up multiple times on the discussion forum and inorder to address it I have gone through the parsing wiki page and a research paper in addition to the mailing list. I understand that it's a complex problem but I have experience with Natural Language Processing which would help me in coming up with a solution.
Full-length symbol keyboard: Currently SymPy only supports a basic keyboard with seven symbols. Since SymPy Gamma is an end user application it makes more sense to have a full fledged symbol keyboard. Also, having a symbol keyboard would make it much more convenient for people using SymPy Gamma on mobile phones, and would add to its adaptability.
Community Bonding Period & Week 1
-  Mailing List Discussion: https://groups.google.com/forum/#!searchin/sympy/parser/sympy/ANSRbwQ40eE/ZL22a5r6O1sJ
-  Research Paper(An Ambiguous Grammar for Mathematics): http://www.cs.berkeley.edu/~fateman/papers/ambigmath.pdf
-  Wolfram Alpha