visma-VISualMAth, an equation solver and visualizer, which aims at showing the step-by-step solution & interactive plots of a given equation. As of now, VisMa is able to deal with matrices, multi-variable simultaneous equations & higher degree equations (up to four degrees) as well.
Via this blog, I will be giving a final wrap to everything I did during my wonderful stay at AerospaceResearch.net.
Before the start of GSoC 2019, following major deliverables were decided:
- Re-writing simplify modules (addsub.py & muldiv.py) by using build-in class methods.
- Adding support for Expression simplification
- Adding a module for Discrete Mathematics
- Adding support for equation solvers for cubic & biquadratic polynomials.
- Adding support for simultaneous equations
- Enhancing integration & derivation modules
- Integrating matrix module with GUI
- Rendering LaTex and Matplots in CLI
- Including a Discrete Mathematics Module (including combinatorics, probability & statistics module)
All of the above-mentioned deliverables have been implemented. The commits referencing these changes are available at this link.
Below GIF shows the now integrated CLI module in action:
Some images showing matrix operations with VisMa are as follows:
Adding new modules & improving old ones was a great learning experience. Bugs were sometimes annoying however, each bug resulted in learning something new. That pretty much sums up all I did during GSoC.
I have written a developer blog for each of the Phases of GSoC, they are available as follows:
- Phase I – Improving simplify module, simultaneous equations & higher degree equations
- Phase II – Combinatorics, Statistics, Simple Probability, Expression simplification etc.
- Phase III & a CHANGELOG – More cases on Expression Simplification, Constant raised to some fractional (or solvable) powers, documentations etc.
Ideas to be implemented in future:
- Implementing an Equation Scanner should be an idea in the coming future. It would improve the user interface & productivity of application many folds.
- Adding feature for simplification of trigonometric variables could be an important addition.
- Making an Android App & Web App for the project could be a great idea too. Anything available as an app or a web app has indeed a greater audience.
Some links which readers might find useful: