Genius Manual

Jiří Lebl

University of Illinois, Urbana-Champaign

Kai Willadsen

University of Queensland, Australia

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License (GFDL), Version 1.1 or any later version published by the Free Software Foundation with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. You can find a copy of the GFDL at this link or in the file COPYING-DOCS distributed with this manual.

This manual is part of a collection of GNOME manuals distributed under the GFDL. If you want to distribute this manual separately from the collection, you can do so by adding a copy of the license to the manual, as described in section 6 of the license.

Many of the names used by companies to distinguish their products and services are claimed as trademarks. Where those names appear in any GNOME documentation, and the members of the GNOME Documentation Project are made aware of those trademarks, then the names are in capital letters or initial capital letters.

DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT ARE PROVIDED UNDER THE TERMS OF THE GNU FREE DOCUMENTATION LICENSE WITH THE FURTHER UNDERSTANDING THAT:

  1. DOCUMENT IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS FREE OF DEFECTS MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY, ACCURACY, AND PERFORMANCE OF THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS WITH YOU. SHOULD ANY DOCUMENT OR MODIFIED VERSION PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL WRITER, AUTHOR OR ANY CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER; AND

  2. UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER IN TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL THE AUTHOR, INITIAL WRITER, ANY CONTRIBUTOR, OR ANY DISTRIBUTOR OF THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER DAMAGES OR LOSSES ARISING OUT OF OR RELATING TO USE OF THE DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES.

Feedback

To report a bug or make a suggestion regarding the Genius Mathematics Tool application or this manual, follow the directions in the GNOME Feedback Page.


Table of Contents
1. Introduction
2. Getting Started
2.1. To Start Genius Mathematics Tool
2.2. When You Start Genius
3. Basic Usage
3.1. Using the Work Area
3.2. To Create a New Program
3.3. To Open and Run a Program
4. Plotting
4.1. Line Plots
4.2. Parametric Plots
4.3. Slopefield Plots
4.4. Vectorfield Plots
4.5. Surface Plots
5. GEL Basics
5.1. Values
5.1.1. Numbers
5.1.2. Booleans
5.1.3. Strings
5.1.4. Null
5.2. Using Variables
5.2.1. Setting Variables
5.2.2. Built-in Variables
5.2.3. Previous Result Variable
5.3. Using Functions
5.3.1. Defining Functions
5.3.2. Variable Argument Lists
5.3.3. Passing Functions to Functions
5.3.4. Operations on Functions
5.4. Absolute Value / Modulus
5.5. Separator
5.6. Modular Evaluation
5.7. List of GEL Operators
6. Programming with GEL
6.1. Conditionals
6.2. Loops
6.2.1. While Loops
6.2.2. For Loops
6.2.3. Foreach Loops
6.2.4. Break and Continue
6.3. Sums and Products
6.4. Comparison Operators
6.5. Global Variables and Scope of Variables
6.6. Parameter variables
6.7. Returning
6.8. References
6.9. Lvalues
7. Advanced Programming with GEL
7.1. Error Handling
7.2. Toplevel Syntax
7.3. Returning Functions
7.4. True Local Variables
7.5. GEL Startup Procedure
7.6. Loading Programs
8. Matrices in GEL
8.1. Entering Matrices
8.2. Conjugate Transpose and Transpose Operator
8.3. Linear Algebra
9. Polynomials in GEL
9.1. Using Polynomials
10. Set Theory in GEL
10.1. Using Sets
11. List of GEL functions
11.1. Commands
11.2. Basic
11.3. Parameters
11.4. Constants
11.5. Numeric
11.6. Trigonometry
11.7. Number Theory
11.8. Matrix Manipulation
11.9. Linear Algebra
11.10. Combinatorics
11.11. Calculus
11.12. Functions
11.13. Equation Solving
11.14. Statistics
11.15. Polynomials
11.16. Set Theory
11.17. Miscellaneous
11.18. Symbolic Operations
11.19. Plotting
12. Example Programs in GEL
13. Settings
13.1. Output
13.2. Precision
13.3. Terminal
13.4. Memory
14. About Genius Mathematics Tool
List of Figures
2-1. Genius Mathematics Tool Window
4-1. Create Plot Window
4-2. Plot Window
4-3. Parametric Plot Tab
4-4. Parametric Plot
4-5. Surface Plot