ANNOUNCE: GENIUS 0.5.3 the "Homework, homework, homework" release

From: George <>
Date: Wed, 5 Mar 2003 14:58:31 -0800

To find out what Genius is, skip a few paragraphs down, or go to

Lots of new stuff because I need it for homework. Hmmm, strange that the
other grad students get by without writing their own math package. Maybe I'm
doing something wrong. In any case, we now have very simple minded line
plotting with the function LinePlot (of course you must be running
gnome-genius for this). Also of interest, genius now uses the MPFR library
(comes with gmp, but the redhat build of gmp doesn't enable it, use
--enable-mpfr for that), this speeds up lots of floating point stuff by
orders of magnitude (and is likely more correct then the native genius
implementation which was very simple minded). All kinds of other cool stuff
as well, a bunch of syntax changes too, though I don't think it should effect
you unless you were doing something very weird.

We also have a simple MathML output mode (not as nice as the LaTeX and Troff
modes are though). And in the GUI version you can do
Edit->Copy Answer as LaTeX and such.

On the topic of MPFR. If you use the RPM that I build it "should" work even
if you don't get an updated gmp. I have put up an updated GMP rpm that
enables MPFR. It is really as simple as recompiling gmp with --enable-mpfr.
Genius will work without MPFR just as it did before, but I think in time I
will make it require MPFR to avoid the huge code duplication and the fact
that I have absolutely no interest in debugging something that MPFR does a
LOT better.

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 matlab like support for matrices.
It requires GNOME2 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.5.3:

Note the syntax changes marked with 'SYNTAX:'
* Very basic line graphing of R->R functions with LinePlot function
* Use MPFR for some floating point functions such as powers, logs, sin/cos
  and such. This increases the speed of those operations by about 10 fold
  or more. I will start migrating towards MPFR only support in the future.
* "a^b mod m" is now done sanely and fast just like the PowerMod function
* Rudimentary MathML output support
* Add Copy Answer As Plain/LaTeX/MathML/Troff menu items
* SYNTAX: A null inside a matrix expansion is treated as an empty matrix. So
  [null,1,2] will be expanded as [1,2]
* SYNTAX: Allow rationals and integers as complex numbers though this support is kind of experimental
* Increase some limits on factorizations
* SYNTAX: Add (<expr>)i operator macro which will multiply <expr> by i
* SYNTAX: Negation parsing changed -1^k still parses as (-1)^k but -a^k parses
  as -(a^k) (where a is anything but a number
* Rational powers now return integers if possible, and so the
  SymbolicSquareRoot and SymbolicNthRoot functions are not neccessary
* Nicer printing of complex numbers
* Printing fixes
* Fractions printed nicely in troff and latex mode
* Fix crash on setting built in parameters if there is an exception
* Add MaximalPrimePowerFactors, PrimeFactors and CombineFactorizations,
  RemoveFactor, Gravity (the gravitational constant), EulerConstant,
  FermatFactorization, IsGaussInteger, IsPositiveInteger, MillerRabinTest
* Use MillerRabinTest in IsPrime adding a config parameter for this
* Remove SymbolicSquareRoot, SymbolicNthRoot (sqrt and rational powers
  is the same thing)
* Add some new aliases for a few functions
* Better EulerPhi implementation
* Fix Factors
* SYNTAX: Fix precedence of : to be lower then that of standard arithmetic
* SYNTAX: Factorial now binds more closely then power
* SYNTAX: Allow more matlab like notation of getting whole rows/columns
  (such as foo@(2,:))
* Add an Edit menu with Copy and Paste
* Add "Really want to quit" dialog and allow quitting while calculations are
* Allow reading arbitrarily long compiled file record lines
* Some very minor leaks fixed
* Fix interrupting input while not calculating anything (this was a nasty
  bug that prevented any further thing to be evaluated)
* Don't allow executing anything if something else is executing, thus causing
  a crash.
* A number of minor bugs squashed
* And finally a new small easter egg

(Note that at the site there are also some RPMS for RH8.0, Note that
on RH8 the menuitem is in Extras/Other. There is also a GMP RPM for RH8.0
which enabled MPFR and I recommend upgrading to that.)

Have fun,


George <>
   You have the right not to be killed,
   Murder is a crime!  Unless it was done by a policeman or an aristocrat.
                       -- The Clash
Received on Wed Mar 05 2003 - 17:58:37 CST

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