Welcome to Stars of the sky, Mathpath: Math solver application development information segment.
Mathpath: Math solver is an advanced mathematical solver application that running on Windows and Android platforms. The capability to solve problem are algebra to differential equations, vector fields. And 2D + 3D + Dataset graphs{column-line-dot} displays. And it does not need any internet connection to solve problems. Also Mathpath solver is full open-source project to reach anyone and programming their own solver application.
Mathpath uses symbolic computing. (below sample image)
The mean is, really hard to entry on textbox to draw-hand mathematical problems. Therefore a simple way is creating "word functions" that representing current mathematical notations. A sample: diff( f(x), x ) represent d/dx of f(x) function. (look at below)
You see on textbox typed x^2+y^2 but [In] section converted these symbols automatically to math notation. this process takes ~0.3s. Anather sample in below, you see, [In] - [Out] sections converted quickly math notation and gived answer. (on [Out])
When i was studying in Physics, I met powerful symbolic computation Maple it was fascinated me. Then I decided to develop advanced mathematical solver running on Mobile to reach students free and do not use internet connection. Then created little group to thrive them about Python and scientific computing future. A few months on summer holiday passed like these. (But some friends gained more experience, not only mathematical solver) After these holidays I focus more on mathpath solver. Then published demo version to some users (pictures below)
Some structures like Vector fields algorithm(in below) re-written.
A simple structure to shrink equation font if [In] and [Out] labels stacked each of other.
And another summer holiday (just focused holidays and free times) published first versions:
Mathpath still under developing (by free times)
-
AudioMath: Advanced mathematics with sound lost able to sight skill of people.
-
PhotoMath: Like Photomath
-
Geometry: Angles, Lines, geometric shapes...
AudioMath demo is running. Like, you say: "derivative of x square plus five" And answer gives as audio: "two x I hope anyone fork these and would publish own (more powerful than Mathpath) application on PlayStore and AppStore. But AI (like ChatGpt) increasing day to day probably handle these in the near future though :)
bandicam.2023-09-13.02-45-02-186.mp4
Now I share our sample code as GUI and Backend for if anyone working mathematics with Python-Kivy. I hope this helps developing more scientific tools on mobile and desktop platforms that using Python.
- Look more info https://mathpathconsole.github.io/
- Google Play Store https://play.google.com/store/apps/details?id=org.mathconsole_lite.mathconsole_lite&pli=1
- Youtube https://www.youtube.com/@mathpathsolver/shorts
bandicam.2023-09-13.03-17-29-234.mp4
Mathpath uses 3 important Python libraries.
- SymPy
- Matplotlib
- Kivy and KivyMD
SymPy and Matplotlib for mathematical drivers. Powerful Gui libraries are Kivy and KivyMD for screen design.
bandicam.2023-09-13.03-36-31-494.mp4
bandicam.2023-09-13.03-33-18-718.mp4
Look file content for mathpath sample design and mathematical backend.
mobizen_20230913_132341.mp4
Probably you will take some errors. These errors mostly during compile to .apk or .aab file on buildozer. Also do not hesitate to send us message if you aim to develop scientific tools or get some errors in during this process.
Open your Buildozer.spec file (in here available 'Mathpath solver file above') and find "below pieces" in it. Ooops. If you ask me what is Buildozer, please search on your browser and look "kivy buildozer" or send message Google Groups Kivy users support Here is: https://groups.google.com/g/kivy-users By the way you can always ask Kivy support group, they help you, I'm sure.
# (list) Source files to include (let empty to include all the files) *source.include_exts = py,png,jpg,kv,atlas,ttf |||ttf or otf
#(list) Application requirements* #comma separated e.g. requirements = sqlite3,kivy* requirements = python3,kivy==2.1.0, kivymd==1.1.1, pillow, sympy, matplotlib
Solution is here: https://stackoverflow.com/a/64597102/18110933 Go your current Python file and search 'mpmath' then copy this file and paste (represented file in stackoverflow) in .buildozer
Normally when you compile with current requirements(at over) sympy default version not enough to making mathematics! you got some errors when open your apk file. you want to try in buildozer.spec requirements sympy==1.10.1 but sometimes this doesn't work. You try manually copy sympy file in computer python files to .buildozer
like 1st error: mpmath errror! Just your sympy file in computer copy then past your compile apk work: .buildozer/android/platform/build-armeabi-v7a/dists//_python_bundle__armeabi-v7a/_python_bundle/site-packages/sympy ->change this sympy file in your computer sympy file version 1.10.1 or more!
look this path: /build-armeabi-v7a/ this path might be /build-arm64-v8a/ or different.
then again run 'buildozer android debug deploy run' in shell. You'll see your apk size increase after added sympy file.
if you want to display pretty mathematical symbols, you have to use 'mono space font' find mathematical monospace font then put in current file your .py file location. (I shared an example about it) look example.py and menu_screen.kv file.
That's all. If you want more help these steps you don't hesitate to contact us, we love math and developing scientific tools within Open source. #Reşat Berk, StarsoftheSky