Genius (software)
Encyclopedia
Genius is a free
Free software
Free software, software libre or libre software is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with restrictions that only ensure that further recipients can also do...

 open source
Open source
The term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...

 numerical computing
Numerical analysis
Numerical analysis is the study of algorithms that use numerical approximation for the problems of mathematical analysis ....

 environment and programming language
Programming language
A programming language is an artificial language designed to communicate instructions to a machine, particularly a computer. Programming languages can be used to create programs that control the behavior of a machine and/or to express algorithms precisely....

, similar in some aspects to MATLAB
MATLAB
MATLAB is a numerical computing environment and fourth-generation programming language. Developed by MathWorks, MATLAB allows matrix manipulations, plotting of functions and data, implementation of algorithms, creation of user interfaces, and interfacing with programs written in other languages,...

, GNU Octave
GNU Octave
GNU Octave is a high-level language, primarily intended for numerical computations. It provides a convenient command-line interface for solving linear and nonlinear problems numerically, and for performing other numerical experiments using a language that is mostly compatible with MATLAB...

, Mathematica
Mathematica
Mathematica is a computational software program used in scientific, engineering, and mathematical fields and other areas of technical computing...

 and Maple
Maple (software)
Maple is a general-purpose commercial computer algebra system. It was first developed in 1980 by the Symbolic Computation Group at the University of Waterloo in Waterloo, Ontario, Canada....

. Genius is aimed at mathematical experimentation
rather than computation intensive tasks. It is also very useful as just a calculator. The programming language is called GEL and aims to have a
mathematical friendly syntax. The software comes with a command line and a GUI
Gui
Gui or guee is a generic term to refer to grilled dishes in Korean cuisine. These most commonly have meat or fish as their primary ingredient, but may in some cases also comprise grilled vegetables or other vegetarian ingredients. The term derives from the verb, "gupda" in Korean, which literally...

 interface. The graphical version supports both 2D and 3D
plotting.

History

Genius was the original calculator for the GNOME
GNOME
GNOME is a desktop environment and graphical user interface that runs on top of a computer operating system. It is composed entirely of free and open source software...

 project started in 1997, but was split into a separate project soon after the 0.13 release of GNOME in 1998. Because of this ancestry, it was also known as Genius Calculator or GNOME Genius. There was an attempt to merge Genius and the Dr. Geo interactive geometry software
Interactive geometry software
Interactive geometry software are computer programs which allow one to create and then manipulate geometric constructions, primarily in plane geometry. In most IGS, one starts construction by putting a few points and using them to define new objects such as lines, circles or other points...

, but this never materialized. Version 1.0 was released in 2007 almost 10 years after the initial release.

Example GEL source code

Here is a sample definition of a function calculating the factorial recursively

function f(x) = (
if x <= 1 then
1
else
(f(x-1)*x)
)

GEL contains primitives for writing the product iteratively and hence we can get the following iterative
version

function f(x) = prod k=1 to x do k
The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK