Genius Mathematics is a very useful tool that intends to help with many things from simple calculations to complex research and education.
The application uses a its own language extension called GEL, and many of the standard genius functions are written in GEL itself.
What Can it Do?
- Arbitrary precision integers, multiple precision floats.
- Rational numbers, stored as quotient and denominator.
- Complex numbers, stored in Cartesian coordinates as usual.
- Math-like-looking expressions, tries to be as much a what-you-mean-is-what-Genius-understands, up to a limit of course.
- Matrix calculations / Linear Algebra, with many related functions.
- Number theory.
- Calculus, numerical and even very limited symbolic calculations.
- Statistics, all the basic statistical functions.
- Numerical equation solving, polynomial roots, etc…
- Most common elementary / trigonometric functions.
- Modular arithmetic, including inversions and modular arithmetic on matrices.
- A complete programming language, with automatic typing. In fact large part of Genius standard library is written in GEL.
- 2D Function line plots, standard 2D graphs of up to 10 functions at once, with possibility to export to EPS or PNG.
- Parametric plots, with possibility to export to EPS or PNG.
- 3D Function surface plots, with possibility to export to EPS or PNG
- Slopefield/Vectorfield plotting.
- GUI IDE where you can edit and run/test your programs.
- Can output matrices in LaTeX, Troff (eqn) or MathML, this is I think a very cool feature that allows you to copy stuff directly from Genius to a document in LaTeX, troff or MathML.
The syntax of GMT aims to be easy to understand and simple to use. For this reason the developers chose to mimic how mathematics is usually written wherever that was possible. I didn’t have to read any help files to write simple things, but for the most advanced functions you will need to learn how to express them.
For more about what you can do, and how you can do it…
GMT supports the plotting of linear functions, surface, parametric, slope fields and vector fields. You can use the same input language and get the results with the help of OpenGL printed in your screen.
You may then print or export the plot as a .png or .eps file, and also zoom in to get a better view of things.
Programming functionality will help you with any kind of research and complex calculation situations. You will naturally have to read the manual in order to get things going on this one.
Here is an example from the manual. This basically redefines the internal ref function to calculate the row echelon form of a matrix. The function ref is built in and much faster, but this example demonstrates some of the more complex features of GEL.
After writing your program you can press Run and let the calculations begin! If you ever done this kind of researching you will probably know that some things may take forever to calculate even for super fast modern CPUs with multiple cores. For this reason, GMT offers the ability to “Interrupt” the calculations by pressing the according button.
You can also set the Memory Limitations and the Floating point precision, while also setup some output preferences like the number of digits, or errors displayed.
You can basically do a ton of things with GMT, and it is all up to how interested you are into learning how to use this wonderful tool, but even if you are not that much interested, it can serve as a simple calculations or plotting tool (especially the second).