Genius is one of the oldest GNOME projects, it has been the original GNOME calculator before I got wild ideas about it doing absolutely everything. It is programmable has a powerful language and handles many fun features including matlab like support for matrices. It requires GNOME2 (at least glib2 if you don't want a GUI) and a recent enough gmp library. However you can still use the command line version if you prefer non-gui interface.
There is still a lot of work required to make this all nice, mostly it needs to have the function library improved and verified to be correct and documentation needs to be written (the complete help system is not yet in place). Feel free to help out
Here are the news in 0.7.0:
* Replaced plotting with the plotting widget from GtkExtra-2 (private copy included, no new dependency), this has several new implications:
- Plots can be printed or exported to PS or EPS
- 3D surface plots are supported
* SYNTAX: Native boolean type, true/false are the constants and added IntegerFromBoolean and IsBoolean functions. Should still be source compatible
* Fixed saving files warnings about existing files and fixed bad warning on loading files
* StandardDeviation now works
* sin,cos,sinh,cosh now work correctly with complex arguments
* Some memory profiling. Allocate internal structures in long continuous blocks and further fixup the engine to be nicer with separator nodes which can now take a lot of arguments and really whack the result of all but the last expressions at once.
* Work around a mpfr problem when it could return a negative value for rand()
* Translation updates (Estevao Samuel Procopio, Vincent van Adrighem, Adam Weinberger, Miloslav Trmac, Laurent Dhima, David Lodge, Gustavo Maciel Dias Vieira, Raphael Higino, Gareth Owen)