ANNOUNCE: GENIUS 0.5.4 the "I HAVE A DEGREE!" release

From: George <>
Date: Wed, 28 May 2003 17:41:55 -0700

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

Much stuff improved for the last sets of homework I needed to do, plus some
other random stuff I did over the last few days. Mostly we have now much
better (much faster) prime testing and factoring functionality. There is
also a sort of IDE interface now in the GUI version. Perhaps the biggest
news is that genius is now written by someone who has a Mathematics degree
(me), thus making it a bit more "credible" :) Well, it's just a masters, but
I'll be working on the PhD in the next few years, so if you don't trust math
software not written by someone with a doctorate, you still have to wait.

Again you should really get a GMP with MPFR enabled as it includes much
better floating point routines then the native genius ones. The 5z site has
an RPM for you redhat people (since redhat doesn't seem to ship gmp with

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.4:

Note the syntax changes marked with 'SYNTAX:'
* The GUI now allows editting program files and running them directly from
  the gui.
* SYNTAX: If "log" is used in mod environment it acts as DiscreteLog
* IsEven and IsOdd are now internal and fast
* Use MPFR (if available) for log10 and log2, and add lg as an alias to
* SYNTAX: Use GMP for the MillerRabinTest and implement StrongPseudoprimeTest,
  IsPrime, and MillerRabinTestSure internally, remove IsPrimeLoopMax and
  PrimeProbabilityEpsilon, MillerRabinTest takes the number of reps to do
  and not the epsilon and there is IsPrimeMillerRabinReps parameter, also
  remove IsPrimeProbability
* SYNTAX: Snarf the Pollard-Rho implementation from GMP examples and use it
  for Factorize. Whack FactorizeLoopMax
* Use MPFR for EulerConstant if available
* Added MillerRabinTestSure, StringToASCII, ASCIIToString, AlphabetToString,
  StringToAlphabet, LeastAbsoluteResidue, AreRelativelyPrime, DiscreteLog,
  CRT (ChineseRemainder), IsPrimitiveMod, ConvertToBase, ConvertFromBase,
  GetCurrentModulo, MidpointRule, NumericalIntegral, SolveLinearSystem,
  MakeSet, Union, Intersection, IndexCalculus, IndexCalculusPrecalculation,
  FindPrimitiveElementMod, FindRandomPrimitiveElementMod and Compose
* Fixed IsStrongPseudoprime
* Fixed the integer power functions and use MPFR for the float one if
* Document some functions
* elements, rows, columns accept null and treat it like 0x0 matrix
* SYNTAX: Allow return after comma to break a long vector input
* Mod matrices after all primitives (fixes for example "-[1] mod 2")
* when function is undocumented, print at least a prototype on help
* SYNTAX: 'mod' and 'call' now binds tighet then logical olperators to
  make "if a == b mod n and a == c mod n then ..."
* SYNTAX: I, zeros, ones, rand, randint don't mod their arguments when in
  mod mode
* SYNTAX: null is accepted for the "for in" type loops to mean empty
* Add "Set Theory" category to help
* Fix some crashes and plug many leaks

(Note that at the site there are also some RPMS for RH9, which may
work for RH8. The menuitem is now in the Office/Other menu. There is also a
GMP RPM for RH8 and RH9 which enables MPFR and I recommend upgrading to that.)

Have fun,


George <>
   If all economists were laid end to end, they would not reach a conclusion.
                       -- George Bernard Shaw
Received on Wed May 28 2003 - 20:42:32 CDT

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