ANNOUNCE: GENIUS 1.0.3 the "Long live experimental mathematics" release

From: Jiri Lebl <>
Date: Tue, 10 Jun 2008 10:13:32 -0500

Genius is a general purpose calculator with many advanced capabilities.
To find out more go to:

These days I'm actually writing a new paper that directly references Genius,
and supplemental material will include some GEL code. I was going to post
this new Genius version once the paper hits arxiv, but that will still be
a few weeks it seems.

Major changes are basically a bunch of optimizations I did while trying to
make the testing code run faster. There are some fixes to bugs I found along
the way and some improvements to the GUI that I guess are useful. For
example, you can now save the scrollback of the console to a text file.

In any case, 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 support for matrices, rational numbers, and nice 2D and 3D
plotting. The GUI version requires GNOME2 (at least glib2 if you don't want
a GUI) a recent enough GMP library and the MPFR library. You can still use
the command line version if you prefer non-gui interface.

Here are the news in 1.0.3:

Syntax and semantical changes are marked with CHANGE:

* Add "Save Console Output" menu item to save console contents
* Add "Monitor a Variable" menu item to continuously monitor a single
* Wrap nonmatrix output in "Show Full Answer"
* Add IsMersennePrimeExponent, MersennePrimeExponents, IsDefined, undefine
* CHANGE: zeros, ones, rand, randint, I, SetMatrixSize now accept 0 for size
   and return null as an empty matrix. wait, IndexComplement
   accept 0 and act accordingly as well.
* CHANGE: It's Fibonacci in correct spelling, short name is still fib
* Calling internal functions is now slightly faster
* QuadraticFormula built in and more numerically stable
* Gaussian elimination is now faster, and more stable when nonrational
   matrices are involved
* NullSpace slightly faster when the nullspace is empty
* Other minor optimizations
* Fix SolveLinearSystem (must return null on nonunique solutions)
* Fix crash related to returning custom functions from functions
* Fix some memory leaks
* Documentation updates
* Translations (Hendrik Richter, L. Lommer, P. Kovar, Andre Klapper, Yannig
   Marchegay, Pawan Chitrakar, Jorge Gonzalez, Jonh Wendell, et moi)

Genius is in Ubuntu, Debian, Fedora, GARNOME and probably other distribution
repositories, so check those. Usually you wan to install two packages:
genius and gnome-genius. Of course it will be a little bit before this
version hits those servers ...

Have fun,


PS: After the optimizations to Genius were not delivering, I finally broke
down and wrote part of my tests in plain C doing gauss using integer
arithmetic (and also over a finite field) rather than the rational arithmetic
of genius, which is somewhat slower. With many optimizations and
simplifications I finally computed what I wanted to know (there is exactly
one, up to equivalence, degree 17 monomial proper mapping of the 2 ball and
the 10 ball). It only took a few days with the plain C code, rather than the
months it would take with Genius. Most of the speedup are algorithmic
improvements however, not speedup from compiled vs. interpreted code. Last
fall, degree 17 seemed to be on the order of centuries. I gotta brag. Even
if the final result did not really use Genius.

George <>
    In the fight between you and the world, back the world.
                        -- Franz Kafka
Received on Tue Jun 10 2008 - 10:13:30 CDT

This archive was generated by hypermail 2.2.0 : Sun Apr 17 2011 - 21:00:02 CDT