Mathomatic is a free, portable, general-purpose computer algebra system (CAS) and calculator software that can symbolically solve, simplify, combine, and compare algebraic equations, perform complex number and polynomial arithmetic, etc. It does some symbolic calculus (derivative, extrema, Taylor series, and polynomial integration and Laplace transforms) and handles all elementary algebra. Trigonometric functions can be entered and manipulated using complex exponentials. Named functions such as f(x) and log(x), plotting, arbitrary-precision arithmetic, and matrices are not implemented. Mathomatic does not permit extremely large expressions, which can take too much memory and time.
The software is a console mode program with a color command line interface that runs in a terminal emulator under any operating system. The console interface is very simple and virtually requires no learning to get started.
There is no programming capability, it works like an algebraic calculator. Expressions and equations are entered in standard infix notation. Operations are performed on them by entering simple English commands.
Because all arithmetic is double precision floating point and round-off error is not tracked, Mathomatic is not suitable for applications requiring high precision. It is useful for quick calculations of up to 14 decimal digits accuracy.
Mathomatic can be used as a floating point or integer arithmetic code generating tool; simplifying and converting equations into optimized assignment statements in the Python, C, and Java programming languages.
1-> x = (a + 1) * (b + 2)
#1: x = (a + 1)*(b + 2)
1-> b ; solve for b
#1: b = ------- - 2
(a + 1)
1-> code java ; output Java language code
b = ((x/(a + 1.0)) - 2.0);
1-> variables java ; define the variables for Java
Development of Mathomatic was started in 1986 by George Gesslein II. It was originally written in Microsoft C for MS-DOS and released as shareware with a graphing program. It was later ported to the GNU C Compiler under Linux and became free software. The graphing program was discontinued.
Mathomatic is available for Microsoft Windows under the Cygwin environment, for Mac OS X, and for the Nintendo DS under DSLinux and stand-alone. Debian Linux, Gentoo Linux, and all of the BSD UNIX distributions include Mathomatic as an automatically installable package and the ports are all maintained by separate individuals.
Mathomatic can be ported to any computer with at least 1 megabyte of free RAM. The Mathomatic standard distribution memory requirement defaults to a maximum of 100 megabytes, depending on the size of the equation spaces and how many expressions have been entered. Equation spaces are fixed size arrays that are allocated as needed, the size of which is set during compilation or startup. Each algebraic expression or equation entered at the main prompt is stored in an equation space.