Genius
Version: 1.0.3 Genius Mathematics Tool application.
It is a general calculator for use as a desktop calculator, an educational tool in mathematics, and is useful even for research. The language used in Genius Mathematics Tool is designed to be ‘mathematical’ in the sense that it should be ‘what you mean is what you get’. Of course that is not an entirely attainable goal. Genius Mathematics Tool features rationals, arbitrary precision integers and multiple precision floats using the GMP library. It handles complex numbers using cartesian notation. It has good vector and matrix manipulation and can handle basic linear algebra. The programming language allows user defined functions, variables and modification of parameters.
Features:
- Arbitrary precision ints, 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...
- Combinatorics.
- 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.
- 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.
An example expression can look like:
30*70 + 67^3.0 + ln(7) * (88.8/100) + |sin(40)| - 3i
Or perhaps to sum the first 70 terms of the harmonic series one would do:
sum n=1 to 70 do 1/n
To define a function that takes the square of a number and adds one, you could do:
function f(x) = x^2 + 1
To numerically integrate f from -1 to 1:
NumericalIntegral(f, -1, 1)
To factorize a number into primes:
Factorize(123456789)
To solve a linear system Ax=b:
SolveLinearSystem(A,b)
Given y' = x^2 + y, with initial condition y(0) = 0, to find y(1) using Runge-Kutta with 20 increments:
RungeKutta (`(x,y) = x^2 + y, 0, 0, 1, 20)
The original goal of Genius was to build a better BC then BC. That goal has been attained and surpassed long ago with Genius not having much in common with BC anymore. It is now venturing into the territory of Matlab/Octave, Maple and Mathematica, though it is not quite any of these. I do not think it will ever be a replacement for any, but it is already a very good tool for experimentation, and I have used it in research many times.
What does Genius stand for?
I have no idea ... the G could be GNOME or GNU. I think it used to stand for something and I forgot. So now it's just Genius. Originally the window title was "GnomENIUS Calculator" but that just sounded stupid, so that's not it either.
And of course Genius is free software, released under the GNU General Public License.
Homepage
urpmi genius














