GSoC 2016 Application Yiding Jiang: Implementation of multiple types of coordinate systems for vectors - sympy/sympy GitHub Wiki

#Personal Information
Name: Yiding Jiang
Email: [email protected]
Education: University of California, Berkeley
Github: yidingjiang

#Short Bio I am current a sophomore at UC Berkeley, pursuing a bachelor's degree in Electrical Engineering and Computer Science, and a minor in Physics. I am very new to Sympy :)

My primary coding platform is Mac OSX, but I also own a computer with Windows 8 and Ubuntu 14.04 dual boot which I use for robotic research. I use Sublime Text 2 for the majority of my work because of its simplicity, flexibility, handy plugins, and its availability across all the platforms.
For the same reason, I also favor vim and use it for ssh sessions.

I am proficient in Python, Java, and C. I have made an Android App that captures pictures of food and query a database implemented with Azure to return the calorie content of food, and a local version control system that resembles simplified git (so I am quite familiar with the basic structure of git). For python, I have built an object oriented game that resembles Plants vs Zombies and also several PacMan AI's that complete various objectives. I also use python in my undergraduate research where my task is to optimize humanoid robot's action in respond to natural speech commands.
To be completed.

#Contribution to Sympy TODO
#Project The idea is to have a proper class system for coordinate systems, with a class like CoordinateSystem abstracting the common architectural elements for all types of systems. This class would have subclasses like CartesianCoordinateSystem, SphericalCoordinateSystem, etc. that implement the relevant functionality. We would probably need to modify the Vector class structure too, to allow for different vector behaviors in different systems - for example, vectors in spherical systems add differently than vectors in rectangular coordinate systems.
To be completed.