Genius is an open source and freely distributed software project designed from the ground up to act as a mathematics utility for the GEL extension language. It is very similar to the Mathematica, BC, Maple or Matlab programs.
Supports arbitrary precision integers
The application supports arbitrary precision integers and multiple precision floats, allows you to solve numerical equations and polynomial roots, as well as to deal with rational numbers that are stored as denominator and quotient.
Handles complex numbers too
Genius is also capable of handling complex numbers that are stored in Cartesian coordinates, solves math-like expressions, matrix calculations and linear algebra problems that contain many related functions.
Supports most common trigonometric and elementary functions
In addition to the above, Genius supports number theory, most common trigonometric and elementary functions, combinatorics, symbolic calculations, calculus, statistics, as well as modular arithmetic, including matrices and inversions.
Supports various plot types
Among other features, we can mention support for 2D function line plots, including standard 2D graphs, parametric plots, 3D function surface plots, slope field and vector field plots, which can be exported to PNG of EPS file formats
A complete programming language
Because a large part of the Genius standard library is written in the GEL extension languages, it provides users with a complete programming language that features automatic typing. It can output matrices in LaTeX, MathML or Troff (eqn), which means that you can basically copy anything from Genius to a document in the aforementioned formats.
Built-in Integrated Development Environment
Besides the command-line part, the Genius project has a built-in IDE (Integrated Development Environment) graphical tool where the user can edit and test his or her programs with minimum effort.
Supported platforms and availability
The application is written entirely in the C programming languages. It is distributed along with the GNOME project and supports a wide range of GNU/Linux distributions. Both 32-bit and 64-bit hardware platforms are supported at this time.