[genius] updated txt manual



commit d3efacb0626d769f67b3ed8bfe0883c7b8047fbd
Author: Jiri (George) Lebl <jirka 5z com>
Date:   Wed Oct 16 01:28:06 2013 -0500

    updated txt manual

 help/genius.txt |  812 ++++++++++++++++++++++++++++++-------------------------
 1 files changed, 438 insertions(+), 374 deletions(-)
---
diff --git a/help/genius.txt b/help/genius.txt
index fb98db9..cbb8da6 100644
--- a/help/genius.txt
+++ b/help/genius.txt
@@ -2,7 +2,7 @@ Genius Manual
 
 Jiří Lebl
 
-   University of Wisconsin-Madison
+   Oklahoma State University
 
     <jirka 5z com>
 
@@ -16,8 +16,6 @@ Kai Willadsen
 
    Copyright © 2004 Kai Willadsen
 
-   Manual for the Genius Math Tool.
-
    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
@@ -77,141 +75,134 @@ Kai Willadsen
    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.
+   This manual describes version 1.0.18 of Genius.
      __________________________________________________________
 
    Table of Contents
-   1. Introduction
-   2. Getting Started
+   Introduction
+   Getting Started
+
+        To Start Genius Mathematics Tool
+        When You Start Genius
+
+   Basic Usage
+
+        Using the Work Area
+        To Create a New Program
+        To Open and Run a Program
+
+   Plotting
+
+        Line Plots
+        Parametric Plots
+        Slopefield Plots
+        Vectorfield Plots
+        Surface Plots
+
+   GEL Basics
+
+        Values
+
+              Numbers
+              Booleans
+              Strings
+              Null
+
+        Using Variables
+
+              Setting Variables
+              Built-in Variables
+              Previous Result Variable
+
+        Using Functions
+
+              Defining Functions
+              Variable Argument Lists
+              Passing Functions to Functions
+              Operations on Functions
+
+        Absolute Value / Modulus
+        Separator
+        Comments
+        Modular Evaluation
+        List of GEL Operators
+
+   Programming with GEL
+
+        Conditionals
+        Loops
+
+              While Loops
+              For Loops
+              Foreach Loops
+              Break and Continue
+
+        Sums and Products
+        Comparison Operators
+        Global Variables and Scope of Variables
+        Parameter variables
+        Returning
+        References
+        Lvalues
 
-        2.1. To Start Genius Mathematics Tool
-        2.2. When You Start Genius
+   Advanced Programming with GEL
 
-   3. Basic Usage
+        Error Handling
+        Toplevel Syntax
+        Returning Functions
+        True Local Variables
+        GEL Startup Procedure
+        Loading Programs
 
-        3.1. Using the Work Area
-        3.2. To Create a New Program
-        3.3. To Open and Run a Program
+   Matrices in GEL
 
-   4. Plotting
+        Entering Matrices
+        Conjugate Transpose and Transpose Operator
+        Linear Algebra
 
-        4.1. Line Plots
-        4.2. Parametric Plots
-        4.3. Slopefield Plots
-        4.4. Vectorfield Plots
-        4.5. Surface Plots
+   Polynomials in GEL
 
-   5. GEL Basics
+        Using Polynomials
 
-        5.1. Values
+   Set Theory in GEL
 
-              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. Comments
-        5.7. Modular Evaluation
-        5.8. 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. Commutative Algebra
-        11.18. Miscellaneous
-        11.19. Symbolic Operations
-        11.20. 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
+        Using Sets
+
+   List of GEL functions
+
+        Commands
+        Basic
+        Parameters
+        Constants
+        Numeric
+        Trigonometry
+        Number Theory
+        Matrix Manipulation
+        Linear Algebra
+        Combinatorics
+        Calculus
+        Functions
+        Equation Solving
+        Statistics
+        Polynomials
+        Set Theory
+        Commutative Algebra
+        Miscellaneous
+        Symbolic Operations
+        Plotting
+
+   Example Programs in GEL
+   Settings
+
+        Output
+        Precision
+        Terminal
+        Memory
+
+   About Genius Mathematics Tool
      __________________________________________________________
 
-Chapter 1. Introduction
+Introduction
 
    The Genius Mathematics Tool application is a general calculator
    for use as a desktop calculator, an educational tool in
@@ -239,9 +230,9 @@ Chapter 1. Introduction
    capabilities that require the graphical user interface.
      __________________________________________________________
 
-Chapter 2. Getting Started
+Getting Started
 
-2.1. To Start Genius Mathematics Tool
+To Start Genius Mathematics Tool
 
    You can start Genius Mathematics Tool in the following ways:
 
@@ -270,15 +261,15 @@ Chapter 2. Getting Started
           plotting will not be available.
      __________________________________________________________
 
-2.2. When You Start Genius
+When You Start Genius
 
    When you start the GNOME edition of Genius Mathematics Tool,
-   the window pictured in Figure 2-1 is displayed.
-
-   Figure 2-1. Genius Mathematics Tool Window
+   the window pictured in Figure 1 is displayed.
 
    [genius_window.png]
 
+   Figure 1. Genius Mathematics Tool Window
+
    The Genius Mathematics Tool window contains the following
    elements:
 
@@ -311,7 +302,7 @@ Chapter 2. Getting Started
           The working area is the primary method of interacting
           with the application.
 
-          The working area initially has just the Console tab
+          The working area initially has just the Console tab,
           which is the main way of interacting with the
           calculator. Here you type expressions and the results
           are immediately returned after you hit the Enter key.
@@ -321,20 +312,21 @@ Chapter 2. Getting Started
           for later retrieval.
      __________________________________________________________
 
-Chapter 3. Basic Usage
+Basic Usage
 
-3.1. Using the Work Area
+Using the Work Area
 
    Normally you interact with the calculator in the Console tab of
    the work area. If you are running the text only version then
    the console will be the only thing that is available to you. If
    you want to use Genius Mathematics Tool as a calculator only,
-   just type in your expression here and it will be evaluated.
+   just type in your expression in the console, it will be
+   evaluated, and the returned value will be printed.
 
-   Type your expression into the Console work area and press enter
-   and the expression will be evaluated. Expressions are written
-   in a language called GEL. The most simple GEL expression just
-   looks like mathematics. For example
+   To evaluate an expression, type it into the Console work area
+   and press enter. Expressions are written in a language called
+   GEL. The most simple GEL expression just looks like
+   mathematics. For example
 genius> 30*70 + 67^3.0 + ln(7) * (88.8/100)
 
    or
@@ -367,7 +359,7 @@ genius> load path/to/program.gel
    directory do cd directory as in the unix command shell.
      __________________________________________________________
 
-3.2. To Create a New Program
+To Create a New Program
 
    To start writing a new program, choose File->New Program. A new
    tab will appear in the work area. You can write a GEL program
@@ -386,7 +378,7 @@ genius> load path/to/program.gel
    As...
      __________________________________________________________
 
-3.3. To Open and Run a Program
+To Open and Run a Program
 
    To open a file, choose File->Open. A new tab containing the
    file will appear in the work area. You can use this to edit the
@@ -397,7 +389,7 @@ genius> load path/to/program.gel
    This is equivalent to the load command.
      __________________________________________________________
 
-Chapter 4. Plotting
+Plotting
 
    Plotting support is only available in the graphical GNOME
    version. All plotting accessible from the graphical interface
@@ -405,11 +397,11 @@ Chapter 4. Plotting
    window by either clicking on the Plot button on the toolbar or
    selecting Plot from the Calculator menu. You can also access
    the plotting functionality by using the plotting functions of
-   the GEL language. See Chapter 5 to find out how to enter
-   expressions that Genius understands.
+   the GEL language. See the Chapter called GEL Basics to find out
+   how to enter expressions that Genius understands.
      __________________________________________________________
 
-4.1. Line Plots
+Line Plots
 
    To graph real valued functions of one variable open the Create
    Plot window. You can also use the LinePlot function on the
@@ -418,12 +410,12 @@ Chapter 4. Plotting
    Once you click the Plot button, a window opens up with some
    notebooks in it. You want to be in the Function line plot
    notebook tab, and inside you want to be on the Functions /
-   Expressions notebook tab. See Figure 4-1.
-
-   Figure 4-1. Create Plot Window
+   Expressions notebook tab. See Figure 1.
 
    [line_plot.png]
 
+   Figure 1. Create Plot Window
+
    Type expressions with x as the independent variable into the
    textboxes. Alternatively you can give names of functions such
    as cos rather then having to type cos(x). You can graph up to
@@ -435,12 +427,12 @@ Chapter 4. Plotting
    dialog. The y (dependent) range can be set automatically by
    turning on the Fit dependent axis checkbox. The names of the
    variables can also be changed. Pressing the Plot button
-   produces the graph shown in Figure 4-2.
-
-   Figure 4-2. Plot Window
+   produces the graph shown in Figure 2.
 
    [line_plot_graph.png]
 
+   Figure 2. Plot Window
+
    From here you can print out the plot, create encapsulated
    postscript or a PNG version of the plot or change the zoom. If
    the dependent axis was not set correctly you can have Genius
@@ -450,7 +442,7 @@ Chapter 4. Plotting
    the LinePlot function.
      __________________________________________________________
 
-4.2. Parametric Plots
+Parametric Plots
 
    In the create plot window, you can also choose the Parametric
    notebook tab to create two dimensional parametric plots. This
@@ -460,24 +452,24 @@ Chapter 4. Plotting
    variable t is given explicitly, and the function is sampled
    according to the given increment. The x and y range can be set
    automatically by turning on the Fit dependent axis checkbox, or
-   it can be specified explicitly. See Figure 4-3.
-
-   Figure 4-3. Parametric Plot Tab
+   it can be specified explicitly. See Figure 3.
 
    [parametric.png]
 
-   An example of a parametric plot is given in Figure 4-4. Similar
+   Figure 3. Parametric Plot Tab
+
+   An example of a parametric plot is given in Figure 4. Similar
    operations can be done on such graphs as can be done on the
    other line plots. For plotting using the command line see the
    documentation of the LinePlotParametric or LinePlotCParametric
    function.
 
-   Figure 4-4. Parametric Plot
-
    [parametric_graph.png]
+
+   Figure 4. Parametric Plot
      __________________________________________________________
 
-4.3. Slopefield Plots
+Slopefield Plots
 
    In the create plot window, you can also choose the Slope field
    notebook tab to create a two dimensional slope field plot.
@@ -503,7 +495,7 @@ Chapter 4. Plotting
    from the command line or programs.
      __________________________________________________________
 
-4.4. Vectorfield Plots
+Vectorfield Plots
 
    In the create plot window, you can also choose the Vector field
    notebook tab to create a two dimensional vector field plot.
@@ -532,45 +524,46 @@ Chapter 4. Plotting
    command line or programs.
      __________________________________________________________
 
-4.5. Surface Plots
+Surface Plots
 
    Genius can also plot surfaces. Select the Surface plot tab in
    the main notebook of the Create Plot window. Here you can
-   specify a single expression which should use either x and y as
+   specify a single expression that should use either x and y as
    real independent variables or z as a complex variable (where x
    is the real part of z and y is the imaginary part). For example
    to plot the modulus of the cosine function for complex
    parameters, you could enter |cos(z)|. This would be equivalent
-   to |cos(x+1i*y)|. See Figure 4-5. For plotting using the
-   command line see the documentation of the SurfacePlot function.
+   to |cos(x+1i*y)|. See Figure 5. For plotting using the command
+   line see the documentation of the SurfacePlot function.
 
    The z range can be set automatically by turning on the Fit
    dependent axis checkbox.
 
-   Figure 4-5. Surface Plot
-
    [surface_graph.png]
+
+   Figure 5. Surface Plot
      __________________________________________________________
 
-Chapter 5. GEL Basics
+GEL Basics
 
    GEL stands for Genius Extension Language. It is the language
    you use to write programs in Genius. A program in GEL is simply
-   an expression that evaluates to a number. Genius Mathematics
-   Tool can be used as a simple calculator, or as a powerful
-   theoretical research tool. The syntax is meant to have as
-   shallow of a learning curve as possible, especially for use as
-   a calculator.
+   an expression that evaluates to a number, a matrix, or another
+   object in GEL. Genius Mathematics Tool can be used as a simple
+   calculator, or as a powerful theoretical research tool. The
+   syntax is meant to have as shallow of a learning curve as
+   possible, especially for use as a calculator.
      __________________________________________________________
 
-5.1. Values
+Values
 
-   Values in GEL can be numbers, Booleans or strings. Values can
-   be used in calculations, assigned to variables and returned
-   from functions, among other uses.
+   Values in GEL can be numbers, Booleans, or strings. GEL also
+   treats matrices as values. Values can be used in calculations,
+   assigned to variables and returned from functions, among other
+   uses.
      __________________________________________________________
 
-5.1.1. Numbers
+Numbers
 
    Integers are the first type of number in GEL. Integers are
    written in the normal way.
@@ -623,19 +616,19 @@ Chapter 5. GEL Basics
 8.01i
 77*e^(1.3i)
 
-Important
+   Important
 
-          When entering imaginary numbers, a number must be in front of
-          the i. If you use i by itself, Genius will interpret this as
-          referring to the variable i. If you need to refer to i by
-          itself, use 1i instead.
+   When entering imaginary numbers, a number must be in front of
+   the i. If you use i by itself, Genius will interpret this as
+   referring to the variable i. If you need to refer to i by
+   itself, use 1i instead.
 
-          In order to use mixed fraction notation with imaginary numbers
-          you must have the mixed fraction in parentheses. (i.e., (1
-          2/5)i)
+   In order to use mixed fraction notation with imaginary numbers
+   you must have the mixed fraction in parentheses. (i.e., (1
+   2/5)i)
      __________________________________________________________
 
-5.1.2. Booleans
+Booleans
 
    Genius also supports native Boolean values. The two Boolean
    constants are defined as true and false; these identifiers can
@@ -666,7 +659,7 @@ Important
    before being compared to true.
      __________________________________________________________
 
-5.1.3. Strings
+Strings
 
    Like numbers and Booleans, strings in GEL can be stored as
    values inside variables and passed to functions. You can also
@@ -701,7 +694,7 @@ string(22)
    and <=> (comparison) operators
      __________________________________________________________
 
-5.1.4. Null
+Null
 
    There is a special value called null. No operations can be
    performed on it, and nothing is printed when it is returned.
@@ -720,7 +713,7 @@ x=5;
    or an empty reference.
      __________________________________________________________
 
-5.2. Using Variables
+Using Variables
 
    Syntax:
 VariableName
@@ -733,24 +726,25 @@ genius> e
    variable. This will return the value of the variable. You can
    use a variable anywhere you would normally use a number or
    string. In addition, variables are necessary when defining
-   functions that take arguments (see Section 5.3.1).
+   functions that take arguments (see the Section called Defining
+   Functions).
 
    Tip Using Tab completion
 
 
-       You can use Tab completion to get Genius to complete variable
-       names for you. Try typing the first few letters of the name and
-       pressing Tab.
+   You can use Tab completion to get Genius to complete variable
+   names for you. Try typing the first few letters of the name and
+   pressing Tab.
 
    Important Variable names are case sensitive
 
 
-             The names of variables are case sensitive. That means that
-             variables named hello, HELLO and Hello are all different
-             variables.
+   The names of variables are case sensitive. That means that
+   variables named hello, HELLO and Hello are all different
+   variables.
      __________________________________________________________
 
-5.2.1. Setting Variables
+Setting Variables
 
    Syntax:
 <identifier> = <value>
@@ -760,30 +754,38 @@ genius> e
 x = 3
 x := 3
 
-   To assign to a variable, use the = or := operators. These
-   operators set the value of the variable and return the number
-   you set, so you can do things like
+   To assign a value to a variable, use the = or := operators.
+   These operators set the value of the variable and return the
+   value you set, so you can do things like
 a = b = 5
 
+   This will set b to 5 and then also set a to 5.
+
    The = and := operators can both be used to set variables. The
    difference between them is that the := operator always acts as
    an assignment operator, whereas the = operator may be
    interpreted as testing for equality when used in a context
    where a Boolean expression is expected.
 
-   For issues regarding the scope of variables, see Section 6.5.
+   For more information about the scope of variables, that is when
+   are what variables visible, see the Section called Global
+   Variables and Scope of Variables in the Chapter called
+   Programming with GEL.
      __________________________________________________________
 
-5.2.2. Built-in Variables
+Built-in Variables
 
    GEL has a number of built-in ‘variables’, such as e, pi or
    GoldenRatio. These are widely used constants with a preset
    value, and they cannot be assigned new values. There are a
-   number of other built-in variables. See Section 11.4 for a full
-   list.
+   number of other built-in variables. See the Section called
+   Constants in the Chapter called List of GEL functions for a
+   full list. Note that i is not by default the square root of
+   negative one (the imaginary number), and is undefined. If you
+   wish to write the imaginary number you need to use 1i.
      __________________________________________________________
 
-5.2.3. Previous Result Variable
+Previous Result Variable
 
    The Ans and ans variables can be used to get the result of the
    last expression. For example, if you had performed some
@@ -791,7 +793,7 @@ a = b = 5
 Ans+389
      __________________________________________________________
 
-5.3. Using Functions
+Using Functions
 
    Syntax:
 FunctionName(argument1, argument2, ...)
@@ -809,24 +811,25 @@ gcd(921,317)
 
    There are many built-in functions, such as sin, cos and tan.
    You can use the help built-in command to get a list of
-   available functions, or see Chapter 11 for a full listing.
+   available functions, or see the Chapter called List of GEL
+   functions for a full listing.
 
    Tip Using Tab completion
 
 
-       You can use Tab completion to get Genius to complete function
-       names for you. Try typing the first few letters of the name and
-       pressing Tab.
+   You can use Tab completion to get Genius to complete function
+   names for you. Try typing the first few letters of the name and
+   pressing Tab.
 
-  Important Function names are case sensitive
+   Important Function names are case sensitive
 
 
-            The names of functions are case sensitive. That means that
-            functions named dosomething, DOSOMETHING and DoSomething are
-            all different functions.
+   The names of functions are case sensitive. That means that
+   functions named dosomething, DOSOMETHING and DoSomething are
+   all different functions.
      __________________________________________________________
 
-5.3.1. Defining Functions
+Defining Functions
 
    Syntax:
 function <identifier>(<comma separated arguments>) = <function body>
@@ -839,14 +842,14 @@ function <identifier>(<comma separated arguments>) = <function body>
    A function takes zero or more comma separated arguments, and
    returns the result of the function body. Defining your own
    functions is primarily a matter of convenience; one possible
-   use is to have sets of functions defined in GEL files which
-   Genius can load in order to make available. Example:
+   use is to have sets of functions defined in GEL files that
+   Genius can load in order to make them available. Example:
 function addup(a,b,c) = a+b+c
 
    then addup(1,4,9) yields 14
      __________________________________________________________
 
-5.3.2. Variable Argument Lists
+Variable Argument Lists
 
    If you include ... after the last argument name in the function
    declaration, then Genius will allow any number of arguments to
@@ -859,7 +862,7 @@ function f(a,b...) = b
    Then f(1,2,3) yields [2,3], while f(1) yields a null.
      __________________________________________________________
 
-5.3.3. Passing Functions to Functions
+Passing Functions to Functions
 
    In Genius, it is possible to pass a function as an argument to
    another function. This can be done using either ‘function
@@ -873,9 +876,10 @@ function f(a,b) = a(b)+1;
 function b(x) = x*x;
 f(b,2)
 
-   To pass functions which are not defined, you can use an
-   anonymous function (see Section 5.3.1). That is, you want to
-   pass a function without giving it a name. Syntax:
+   To pass functions that are not defined, you can use an
+   anonymous function (see the Section called Defining Functions).
+   That is, you want to pass a function without giving it a name.
+   Syntax:
 function(<comma separated arguments>) = <function body>
 `(<comma separated arguments>) = <function body>
 
@@ -886,7 +890,7 @@ f(`(x) = x*x,2)
    This will return 5.
      __________________________________________________________
 
-5.3.4. Operations on Functions
+Operations on Functions
 
    Some functions allow arithmetic operations, and some single
    argument functions such as exp or ln, to operate on the
@@ -908,23 +912,23 @@ LinePlot(sin^2)
 
    Warning
 
-           Not all functions can be used in this way. For example, when
-           you use a binary operation the functions must take the same
-           number of arguments.
+   Not all functions can be used in this way. For example, when
+   you use a binary operation the functions must take the same
+   number of arguments.
      __________________________________________________________
 
-5.4. Absolute Value / Modulus
+Absolute Value / Modulus
 
    You can make an absolute value of something by putting the |'s
    around it. For example:
-|a-b|
+   |a-b|
 
    In case the expression is a complex number the result will be
    the modulus (distance from the origin). For example: |3 *
    e^(1i*pi)| returns 3.
      __________________________________________________________
 
-5.5. Separator
+Separator
 
    In GEL if you want to type more than one command you have to
    use the ; operator, which is a way to separate expressions,
@@ -949,7 +953,7 @@ LinePlot(sin^2)
    there is one more operator involved.
      __________________________________________________________
 
-5.6. Comments
+Comments
 
    GEL is similar to other scripting languages in that # denotes a
    comments, that is text that is not meant to be evaluated.
@@ -961,11 +965,11 @@ LinePlot(sin^2)
 x=123;
      __________________________________________________________
 
-5.7. Modular Evaluation
+Modular Evaluation
 
    Genius implements modular arithmetic. To use it you just add
    "mod <integer>" after the expression. Example:
-2^(5!) * 3^(6!) mod 5
+   2^(5!) * 3^(6!) mod 5
 
    It could be possible to do modular arithmetic by computing with
    integers and then modding in the end with the % operator, which
@@ -1016,7 +1020,7 @@ genius> 2*2 mod 7
    mod.
      __________________________________________________________
 
-5.8. List of GEL Operators
+List of GEL Operators
 
    Everything in gel is really just an expression. Expressions are
    stringed together with different operators. As we have seen,
@@ -1115,8 +1119,9 @@ a.%b
 a mod b
 
           Modular evaluation operator. The expression a is
-          evaluated modulo b. See Section 5.7. Some functions and
-          operators behave differently modulo an integer.
+          evaluated modulo b. See the Section called Modular
+          Evaluation. Some functions and operators behave
+          differently modulo an integer.
 
 a!
 
@@ -1206,12 +1211,14 @@ not a
 &a
 
           Variable referencing (to pass a reference to a
-          variable). See Section 6.8.
+          variable). See the Section called References in the
+          Chapter called Programming with GEL.
 
 *a
 
           Variable dereferencing (to access a referenced
-          variable). See Section 6.8.
+          variable). See the Section called References in the
+          Chapter called Programming with GEL.
 
 a'
 
@@ -1306,34 +1313,34 @@ increment a by b
 
    Note
 
-        The @() operator makes the : operator most useful. With this
-        you can specify regions of a matrix. So that a@(2:4,6) is the
-        rows 2,3,4 of the column 6. Or a@(,1:2) will get you the first
-        two columns of a matrix. You can also assign to the @()
-        operator, as long as the right value is a matrix that matches
-        the region in size, or if it is any other type of value.
+   The @() operator makes the : operator most useful. With this
+   you can specify regions of a matrix. So that a@(2:4,6) is the
+   rows 2,3,4 of the column 6. Or a@(,1:2) will get you the first
+   two columns of a matrix. You can also assign to the @()
+   operator, as long as the right value is a matrix that matches
+   the region in size, or if it is any other type of value.
 
    Note
 
-        The comparison operators (except for the <=> operator which
-        behaves normally), are not strictly binary operators, they can
-        in fact be grouped in the normal mathematical way, e.g.:
-        (1<x<=y<5) is a legal boolean expression and means just what it
-        should, that is (1<x and x≤y and y<5)
+   The comparison operators (except for the <=> operator, which
+   behaves normally), are not strictly binary operators, they can
+   in fact be grouped in the normal mathematical way, e.g.:
+   (1<x<=y<5) is a legal boolean expression and means just what it
+   should, that is (1<x and x≤y and y<5)
 
    Note
 
-        The unitary minus operates in a different fashion depending on
-        where it appears. If it appears before a number it binds very
-        closely, if it appears in front of an expression it binds less
-        than the power and factorial operators. So for example -1^k is
-        really (-1)^k, but -foo(1)^k is really -(foo(1)^k). So be
-        careful how you use it and if in doubt, add parentheses.
+   The unitary minus operates in a different fashion depending on
+   where it appears. If it appears before a number it binds very
+   closely, if it appears in front of an expression it binds less
+   than the power and factorial operators. So for example -1^k is
+   really (-1)^k, but -foo(1)^k is really -(foo(1)^k). So be
+   careful how you use it and if in doubt, add parentheses.
      __________________________________________________________
 
-Chapter 6. Programming with GEL
+Programming with GEL
 
-6.1. Conditionals
+Conditionals
 
    Syntax:
 if <expression1> then <expression2> [else <expression3>]
@@ -1355,9 +1362,9 @@ if a=5 then a=a-1
 if a==5 then a:=a-1
      __________________________________________________________
 
-6.2. Loops
+Loops
 
-6.2.1. While Loops
+While Loops
 
    Syntax:
 while <expression1> do <expression2>
@@ -1372,7 +1379,7 @@ do <expression2> until <expression1>
    is translated into == just as for the if statement.
      __________________________________________________________
 
-6.2.2. For Loops
+For Loops
 
    Syntax:
 for <identifier> = <from> to <to> do <body>
@@ -1409,10 +1416,10 @@ for x = 0 to 1 by 1/10 do print(x)
    execution of your code may differ on older versions.
      __________________________________________________________
 
-6.2.3. Foreach Loops
+Foreach Loops
 
    Syntax:
-for <identifier> in <matrix> do <body>
+   for <identifier> in <matrix> do <body>
 
    For each element in the matrix, going row by row from left to
    right we execute the body with the identifier set to the
@@ -1421,14 +1428,14 @@ for <identifier> in <matrix> do <body>
 for n in [1,2:3,4] do print(n)
 
    If you wish to run through the rows and columns of a matrix,
-   you can use the RowsOf and ColumnsOf functions which return a
+   you can use the RowsOf and ColumnsOf functions, which return a
    vector of the rows or columns of the matrix. So,
 for n in RowsOf ([1,2:3,4]) do print(n)
 
    will print out [1,2] and then [3,4].
      __________________________________________________________
 
-6.2.4. Break and Continue
+Break and Continue
 
    You can also use the break and continue commands in loops. The
    continue continue command will restart the current loop at its
@@ -1440,7 +1447,7 @@ while(<expression1>) do (
 )
      __________________________________________________________
 
-6.3. Sums and Products
+Sums and Products
 
    Syntax:
 sum <identifier> = <from> to <to> do <body>
@@ -1459,10 +1466,10 @@ prod <identifier> in <matrix> do <body>
    sum returns 0 and prod returns 1 as is the standard convention.
 
    For floating point numbers the same roundoff error protection
-   is done as in the for loop. See Section 6.2.2.
+   is done as in the for loop. See the Section called For Loops.
      __________________________________________________________
 
-6.4. Comparison Operators
+Comparison Operators
 
    The following standard comparison operators are supported in
    GEL and have the obvious meaning: ==, >=, <=, !=, <>, <, >.
@@ -1481,11 +1488,11 @@ if a==b then c
    := when you want to compare or assign respectively if you want
    your code to be easy to read and to avoid mistakes.
 
-   All the comparison operators (except for the <=> operator which
-   behaves normally), are not strictly binary operators, they can
-   in fact be grouped in the normal mathematical way, e.g.:
-   (1<x<=y<5) is a legal boolean expression and means just what it
-   should, that is (1<x and x≤y and y<5)
+   All the comparison operators (except for the <=> operator,
+   which behaves normally), are not strictly binary operators,
+   they can in fact be grouped in the normal mathematical way,
+   e.g.: (1<x<=y<5) is a legal boolean expression and means just
+   what it should, that is (1<x and x≤y and y<5)
 
    To build up logical expressions use the words not, and, or,
    xor. The operators or and and are special beasts as they
@@ -1494,7 +1501,7 @@ if a==b then c
    a=1 will not set a=1 since the first argument was true.
      __________________________________________________________
 
-6.5. Global Variables and Scope of Variables
+Global Variables and Scope of Variables
 
    GEL is a dynamically scoped language. We will explain what this
    means below. That is, normal variables and functions are
@@ -1578,14 +1585,14 @@ set("a",3)
    this variable will now be visible from all higher numbered
    contexts.
 
-   There are also true local variables, which are not seen from
+   There are also true local variables that are not seen from
    anywhere but the current context. Also when returning functions
    by value it may reference variables not visible from higher
    context and this may be a problem. See the sections True Local
    Variables and Returning Functions.
      __________________________________________________________
 
-6.6. Parameter variables
+Parameter variables
 
    As we said before, there exist special variables called
    parameters that exist in all scopes. To declare a parameter
@@ -1603,7 +1610,7 @@ parameter foo = 1
    genius.
      __________________________________________________________
 
-6.7. Returning
+Returning
 
    Normally a function is one or several expressions separated by
    a semicolon, and the value of the last expression is returned.
@@ -1624,7 +1631,7 @@ function f(x) = (
 )
      __________________________________________________________
 
-6.8. References
+References
 
    It may be necessary for some functions to return more than one
    value. This may be accomplished by returning a vector of
@@ -1659,7 +1666,7 @@ t=&f;
    gives us 4.
      __________________________________________________________
 
-6.9. Lvalues
+Lvalues
 
    An lvalue is the left hand side of an assignment. In other
    words, an lvalue is what you assign something to. Valid lvalues
@@ -1690,9 +1697,9 @@ a@(4:8,3) := [1,2,3,4,5]'
    comparison.
      __________________________________________________________
 
-Chapter 7. Advanced Programming with GEL
+Advanced Programming with GEL
 
-7.1. Error Handling
+Error Handling
 
    If you detect an error in your function, you can bail out of
    it. For normal errors, such as wrong types of arguments, you
@@ -1711,7 +1718,7 @@ function f(M) = (
 )
      __________________________________________________________
 
-7.2. Toplevel Syntax
+Toplevel Syntax
 
    The synatax is slightly different if you enter statements on
    the top level versus when they are inside parentheses or inside
@@ -1744,7 +1751,7 @@ if Something() then (
 )
      __________________________________________________________
 
-7.3. Returning Functions
+Returning Functions
 
    It is possible to return functions as value. This way you can
    build functions that construct special purpose functions
@@ -1838,7 +1845,7 @@ g(10)
    of 5 was added to the private dictionary.
      __________________________________________________________
 
-7.4. True Local Variables
+True Local Variables
 
    When passing functions into other functions, the normal scoping
    of variables might be undesired. For example:
@@ -1890,7 +1897,7 @@ function f(g,x) = (
    function does not see implementation details and get confused.
      __________________________________________________________
 
-7.5. GEL Startup Procedure
+GEL Startup Procedure
 
    First the program looks for the installed library file (the
    compiled version lib.cgel) in the installed directory, then it
@@ -1902,7 +1909,7 @@ function f(g,x) = (
    lib.cgel
      __________________________________________________________
 
-7.6. Loading Programs
+Loading Programs
 
    Sometimes you have a larger program that you wrote into a file
    and want to read in that file. In these situations, you have
@@ -1928,13 +1935,13 @@ cd directory_with_gel_programs
 ls *.gel
      __________________________________________________________
 
-Chapter 8. Matrices in GEL
+Matrices in GEL
 
    Genius has support for vectors and matrices and a sizable
    library of matrix manipulation and linear algebra functions.
      __________________________________________________________
 
-8.1. Entering Matrices
+Entering Matrices
 
    To enter matrixes, you can use one of the following two
    syntaxes. You can either enter the matrix on one line,
@@ -1980,17 +1987,17 @@ b = [ a,  10
  6, 0, 0]
 
    When matrices are evaluated, they are evaluated and traversed
-   row-wise. This is just like the M@(j) operator which traverses
+   row-wise. This is just like the M@(j) operator, which traverses
    the matrix row-wise.
 
    Note
 
-        Be careful about using returns for expressions inside the [ ]
-        brackets, as they have a slightly different meaning there. You
-        will start a new row.
+   Be careful about using returns for expressions inside the [ ]
+   brackets, as they have a slightly different meaning there. You
+   will start a new row.
      __________________________________________________________
 
-8.2. Conjugate Transpose and Transpose Operator
+Conjugate Transpose and Transpose Operator
 
    You can conjugate transpose a matrix by using the ' operator.
    That is the entry in the ith column and the jth row will be the
@@ -2010,7 +2017,7 @@ b = [ a,  10
    with real matrices and vectors.
      __________________________________________________________
 
-8.3. Linear Algebra
+Linear Algebra
 
    Genius implements many useful linear algebra and matrix
    manipulation routines. See the Linear Algebra and Matrix
@@ -2046,14 +2053,14 @@ b = [ a,  10
    will be very fast.
      __________________________________________________________
 
-Chapter 9. Polynomials in GEL
+Polynomials in GEL
 
    Currently Genius can handle polynomials of one variable written
    out as vectors, and do some basic operations with these. It is
    planned to expand this support further.
      __________________________________________________________
 
-9.1. Using Polynomials
+Using Polynomials
 
    Currently polynomials in one variable are just horizontal
    vectors with value only nodes. The power of the term is the
@@ -2085,18 +2092,19 @@ f(2)
    function such as FindRootBisection, FindRootFalsePosition,
    FindRootMullersMethod, or FindRootSecant.
 
-   See Section 11.15 in the function list for the rest of
-   functions acting on polynomials.
+   See the Section called Polynomials in the Chapter called List
+   of GEL functions in the function list for the rest of functions
+   acting on polynomials.
      __________________________________________________________
 
-Chapter 10. Set Theory in GEL
+Set Theory in GEL
 
    Genius has some basic set theoretic functionality built in.
    Currently a set is just a vector (or a matrix). Every distinct
    object is treated as a different element.
      __________________________________________________________
 
-10.1. Using Sets
+Using Sets
 
    Just like vectors, objects in sets can include numbers,
    strings, null, matrices and vectors. It is planned in the
@@ -2130,13 +2138,13 @@ genius> IsIn (1, [0,1,2])
    IsSubset(null,X) is always true.
      __________________________________________________________
 
-Chapter 11. List of GEL functions
+List of GEL functions
 
    To get help on a specific function from the console type:
 help FunctionName
      __________________________________________________________
 
-11.1. Commands
+Commands
 
    help
 
@@ -2179,7 +2187,7 @@ plugin plugin_name
           the system in the proper directory.
      __________________________________________________________
 
-11.2. Basic
+Basic
 
    AskButtons
 
@@ -2202,7 +2210,7 @@ AskString (query)
 
 AskString (query, default)
 
-          Asks a question and lets the user enter a string which
+          Asks a question and lets the user enter a string, which
           it then returns. If the user cancels or closes the
           window, then null is returned. The execution of the
           program is blocked until the user responds. If default
@@ -2525,7 +2533,7 @@ warranty
           Gives the warranty information.
      __________________________________________________________
 
-11.3. Parameters
+Parameters
 
    ChopTolerance
 
@@ -2785,7 +2793,7 @@ VectorfieldTicks = [vertical,horizontal]
           vectorfield plot. (See VectorfieldPlot).
      __________________________________________________________
 
-11.4. Constants
+Constants
 
    CatalanConstant
 
@@ -2849,7 +2857,7 @@ pi
           information.
      __________________________________________________________
 
-11.5. Numeric
+Numeric
 
    AbsoluteValue
 
@@ -3167,7 +3175,7 @@ trunc (x)
           Truncate number to an integer (return the integer part).
      __________________________________________________________
 
-11.6. Trigonometry
+Trigonometry
 
    acos
 
@@ -3377,7 +3385,7 @@ tanh (x)
           See Planetmath for more information.
      __________________________________________________________
 
-11.7. Number Theory
+Number Theory
 
    AreRelativelyPrime
 
@@ -3559,7 +3567,7 @@ IsMersennePrimeExponent (p)
 
           Tests if a positive integer p is a Mersenne prime
           exponent. That is if 2^p-1 is a prime. It does this by
-          looking it up in a table of known values which is
+          looking it up in a table of known values, which is
           relatively short. See also MersennePrimeExponents and
           LucasLehmer.
 
@@ -3764,7 +3772,7 @@ NextPrime (n)
           primes are considered prime and so to get the previous
           prime you can use -NextPrime(-n).
 
-          This function uses the GMP's mpz_nextprime which in turn
+          This function uses the GMPs mpz_nextprime, which in turn
           uses the probabilistic Miller-Rabin test (See also
           MillerRabinTest). The probability of false positive is
           not tunable, but is low enough for all practical
@@ -3882,7 +3890,7 @@ lcm (a,args...)
           See Planetmath or Mathworld for more information.
      __________________________________________________________
 
-11.8. Matrix Manipulation
+Matrix Manipulation
 
    ApplyOverMatrix
 
@@ -4188,10 +4196,10 @@ RowSumSquares (m)
 RowsOf (M)
 
           Gets the rows of a matrix as a vertical vector. Each
-          element of the vector is a horizontal vector which is
-          the corresponding row of M. This function is useful if
-          you wish to loop over the rows of a matrix. For example,
-          as for r in RowsOf(M) do something(r).
+          element of the vector is a horizontal vector that is the
+          corresponding row of M. This function is useful if you
+          wish to loop over the rows of a matrix. For example, as
+          for r in RowsOf(M) do something(r).
 
    SetMatrixSize
 
@@ -4285,7 +4293,7 @@ zeros (rows,columns...)
           columns are zero.
      __________________________________________________________
 
-11.9. Linear Algebra
+Linear Algebra
 
    AuxiliaryUnitMatrix
 
@@ -4352,9 +4360,10 @@ ColumnSpace (M)
 
 CommutationMatrix (m, n)
 
-          Return the commutation matrix K(m,n) which is the unique
-          m*n by m*n matrix such that K(m,n) * MakeVector(A) =
-          MakeVector(A.') for all m by n matrices A.
+          Return the commutation matrix K(m,n), which is the
+          unique m*n by m*n matrix such that K(m,n) *
+          MakeVector(A) = MakeVector(A.') for all m by n matrices
+          A.
 
    CompanionMatrix
 
@@ -4627,7 +4636,7 @@ LUDecomposition (A, L, U)
 
           Get the LU decomposition of A, that is find a lower
           triangular matrix and upper triangular matrix whose
-          product is A Store the result in the L and U which
+          product is A Store the result in the L and U, which
           should be references. It returns true if successful. For
           example suppose that A is a square matrix, then after
           running:
@@ -4641,7 +4650,7 @@ genius> LUDecomposition(A,&L,&U)
           and/or Cholesky reduction. (ISBN 0-201-11577-8
           pp.99-103) The upper triangular matrix features a
           diagonal of values 1 (one). This is not Doolittle's
-          Method which features the 1's diagonal on the lower
+          Method, which features the 1's diagonal on the lower
           matrix.
 
           Not all matrices have LU decompositions, for example
@@ -4708,7 +4717,7 @@ OrthogonalComplement (M)
 
 PivotColumns (M)
 
-          Return pivot columns of a matrix, that is columns which
+          Return pivot columns of a matrix, that is columns that
           have a leading 1 in row reduced form. Also returns the
           row where they occur.
 
@@ -4984,7 +4993,7 @@ rref (M)
           See Wikipedia or Planetmath for more information.
      __________________________________________________________
 
-11.10. Combinatorics
+Combinatorics
 
    Catalan
 
@@ -5143,8 +5152,8 @@ do (
 Pascal (i)
 
           Get the Pascal's triangle as a matrix. This will return
-          an i+1 by i+1 lower diagonal matrix which is the
-          Pascal's triangle after i iterations.
+          an i+1 by i+1 lower diagonal matrix that is the Pascal's
+          triangle after i iterations.
 
           See Planetmath for more information.
 
@@ -5223,7 +5232,7 @@ nPr (n,r)
           See Mathworld or Wikipedia for more information.
      __________________________________________________________
 
-11.11. Calculus
+Calculus
 
    CompositeSimpsonsRule
 
@@ -5256,8 +5265,8 @@ Derivative (f,x0)
 
 EvenPeriodicExtension (f,L)
 
-          Return a function which is even periodic extension of f
-          with half period L. That is a function defined on the
+          Return a function that is the even periodic extension of
+          f with half period L. That is a function defined on the
           interval [0,L] extended to be even on [-L,L] and then
           extended to be periodic with period 2*L.
 
@@ -5267,7 +5276,7 @@ EvenPeriodicExtension (f,L)
 
 FourierSeriesFunction (a,b,L)
 
-          Return a function which is a Fourier series with the
+          Return a function that is a Fourier series with the
           coefficients given by the vectors a (sines) and b
           (cosines). Note that a@(1) is the constant coefficient!
           That is, a@(n) refers to the term cos(x*(n-1)*pi/L),
@@ -5364,7 +5373,7 @@ NumericalFourierSeriesCoefficients (f,L,N)
 
 NumericalFourierSeriesFunction (f,L,N)
 
-          Return a function which is the Fourier series of f with
+          Return a function that is the Fourier series of f with
           half-period L (that is defined on [-L,L] and extended
           periodically) with coefficients up to Nth harmonic
           computed numerically. This is the trigonometric real
@@ -5394,11 +5403,11 @@ NumericalFourierCosineSeriesCoefficients (f,L,N)
 
 NumericalFourierCosineSeriesFunction (f,L,N)
 
-          Return a function which is the cosine Fourier series of
-          f with half-period L. That is, we take f defined on
-          [0,L] take the even periodic extension and compute the
-          Fourier series, which only has cosine terms. The series
-          is computed up to the Nth harmonic. The coefficients are
+          Return a function that is the cosine Fourier series of f
+          with half-period L. That is, we take f defined on [0,L]
+          take the even periodic extension and compute the Fourier
+          series, which only has cosine terms. The series is
+          computed up to the Nth harmonic. The coefficients are
           computed by numerical integration using
           NumericalIntegral.
 
@@ -5422,7 +5431,7 @@ NumericalFourierSineSeriesCoefficients (f,L,N)
 
 NumericalFourierSineSeriesFunction (f,L,N)
 
-          Return a function which is the sine Fourier series of f
+          Return a function that is the sine Fourier series of f
           with half-period L. That is, we take f defined on [0,L]
           take the odd periodic extension and compute the Fourier
           series, which only has sine terms. The series is
@@ -5463,8 +5472,8 @@ NumericalRightDerivative (f,x0)
 
 OddPeriodicExtension (f,L)
 
-          Return a function which is odd periodic extension of f
-          with half period L. That is a function defined on the
+          Return a function that is the odd periodic extension of
+          f with half period L. That is a function defined on the
           interval [0,L] extended to be odd on [-L,L] and then
           extended to be periodic with period 2*L.
 
@@ -5486,7 +5495,7 @@ OneSidedThreePointFormula (f,x0,h)
 
 PeriodicExtension (f,a,b)
 
-          Return a function which is the periodic extension of f
+          Return a function that is the periodic extension of f
           defined on the interval [a,b] and has period b-a.
 
           See also OddPeriodicExtension and EvenPeriodicExtension.
@@ -5511,7 +5520,7 @@ TwoSidedThreePointFormula (f,x0,h)
           Compute two-sided derivative using three-point formula.
      __________________________________________________________
 
-11.12. Functions
+Functions
 
    Argument
 
@@ -5614,7 +5623,7 @@ GammaFunction (x)
           The Gamma function. Currently only implemented for real
           values.
 
-          See Planetmath for more information.
+          See Planetmath or Wikipedia for more information.
 
    KroneckerDelta
 
@@ -5622,6 +5631,30 @@ KroneckerDelta (v)
 
           Returns 1 if and only if all elements are equal.
 
+   LambertW
+
+LambertW (x)
+
+          The principal branch of Lambert W function computed for
+          only real values greater than or equal to -1/e. That is,
+          LambertW is the inverse of the expression x*e^x. Even
+          for real x this expression is not one to one and
+          therefore has two branches over [-1/e,0). See LambertWm1
+          for the other real branch.
+
+          See Wikipedia for more information.
+
+   LambertWm1
+
+LambertWm1 (x)
+
+          The minus-one branch of Lambert W function computed for
+          only real values greater than or equal to -1/e and less
+          than 0. That is, LambertWm1 is the second branch of the
+          inverse of x*e^x. See LambertW for the principal branch.
+
+          See Wikipedia for more information.
+
    MinimizeFunction
 
 MinimizeFunction (func,x,incr)
@@ -5694,7 +5727,7 @@ RiemannZeta (x)
           The Riemann zeta function. Currently only implemented
           for real values.
 
-          See Planetmath for more information.
+          See Planetmath or Wikipedia for more information.
 
    UnitStep
 
@@ -5735,7 +5768,7 @@ sinc (x)
           See Wikipedia for more information.
      __________________________________________________________
 
-11.13. Equation Solving
+Equation Solving
 
    CubicFormula
 
@@ -5836,6 +5869,24 @@ FindRootSecant (f,a,b,TOL,N)
           indicating success, value is the last value computed,
           and iteration is the number of iterations done.
 
+   NewtonsMethod
+
+NewtonsMethod (f,df,guess,epsilon,maxn)
+
+          Find zeros using Newton's method. f is the function and
+          df is the derivative of f. guess is the initial guess.
+          The function returns after two successive values are
+          within epsilon of each other, or after maxn tries, in
+          which case the function returns null indicating failure.
+
+          See also NewtonsMethodPoly and SymbolicDerivative.
+
+          Example to find the square root of 10:
+
+genius> NewtonsMethod(`(x)=x^2-10,`(x)=2*x,3,10^-10,100)
+
+          See Wikipedia for more information.
+
    PolynomialRoots
 
 PolynomialRoots (p)
@@ -5909,7 +5960,7 @@ RungeKuttaFull (f,x0,y0,x1,n)
           See Mathworld, or Wikipedia for more information.
      __________________________________________________________
 
-11.14. Statistics
+Statistics
 
    Average
 
@@ -6004,7 +6055,7 @@ StandardDeviation (m)
           Calculate the standard deviation of a whole matrix.
      __________________________________________________________
 
-11.15. Polynomials
+Polynomials
 
    AddPoly
 
@@ -6039,9 +6090,20 @@ MultiplyPoly (p1,p2)
 
 NewtonsMethodPoly (poly,guess,epsilon,maxn)
 
-          Run newton's method on a polynomial to attempt to find a
-          root, returns after two successive values are within
-          epsilon or after maxn tries (then returns null).
+          Find a root of a polynomial using Newton's method. poly
+          is the polynomial as a vector and guess is the initial
+          guess. The function returns after two successive values
+          are within epsilon of each other, or after maxn tries,
+          in which case the function returns null indicating
+          failure.
+
+          See also NewtonsMethod.
+
+          Example to find the square root of 10:
+
+genius> NewtonsMethodPoly([-10,0,1],3,10^-10,100)
+
+          See Wikipedia for more information.
 
    Poly2ndDerivative
 
@@ -6080,7 +6142,7 @@ TrimPoly (p)
           Trim zeros from a polynomial (as vector).
      __________________________________________________________
 
-11.16. Set Theory
+Set Theory
 
    Intersection
 
@@ -6125,7 +6187,7 @@ Union (X,Y)
           vectors pretending to be sets).
      __________________________________________________________
 
-11.17. Commutative Algebra
+Commutative Algebra
 
    MacaulayBound
 
@@ -6150,7 +6212,7 @@ MacaulayRep (c,d)
           integer c.
      __________________________________________________________
 
-11.18. Miscellaneous
+Miscellaneous
 
    ASCIIToString
 
@@ -6180,7 +6242,7 @@ StringToAlphabet (str,alphabet)
           letters.
      __________________________________________________________
 
-11.19. Symbolic Operations
+Symbolic Operations
 
    SymbolicDerivative
 
@@ -6227,7 +6289,7 @@ SymbolicTaylorApproximationFunction (f,x0,n)
           around x0 to the nth degree. (See SymbolicDerivative)
      __________________________________________________________
 
-11.20. Plotting
+Plotting
 
    ExportPlot
 
@@ -6456,7 +6518,7 @@ SurfacePlot (func,[x1,x2,y1,y2,z1,z2])
 
 SurfacePlot (func,[x1,x2,y1,y2])
 
-          Plot a surface function which takes either two arguments
+          Plot a surface function that takes either two arguments
           or a complex number. First comes the function then
           optionally limits as x1, x2, y1, y2, z1, z2. If limits
           are not specified, then the currently set limits apply
@@ -6592,7 +6654,7 @@ VectorfieldPlot (funcx, funcy, x1, x2, y1, y2)
 genius> VectorfieldPlot(`(x,y)=x^2-y, `(x,y)=y^2-x, -1, 1, -1, 1)
      __________________________________________________________
 
-Chapter 12. Example Programs in GEL
+Example Programs in GEL
 
    Here is a function that calculates factorials:
 function f(x) = if x <= 1 then 1 else (f(x-1)*x)
@@ -6667,28 +6729,30 @@ function MyOwnREF(m) = (
 )
      __________________________________________________________
 
-Chapter 13. Settings
+Settings
 
    To configure Genius Mathematics Tool, choose
    Settings->Preferences. There are several basic parameters
    provided by the calculator in addition to the ones provided by
    the standard library. These control how the calculator behaves.
 
- Note Changing Settings with GEL
+   Note Changing Settings with GEL
 
 
-         Many of the settings in Genius are simply global variables, and
-         can be evaluated and assigned to in the same way as normal
-         variables. See Section 5.2 about evaluating and assigning to
-         variables, and Section 11.3 for a list of settings that can be
-         modified in this way.
+   Many of the settings in Genius are simply global variables, and
+   can be evaluated and assigned to in the same way as normal
+   variables. See the Section called Using Variables in the
+   Chapter called GEL Basics about evaluating and assigning to
+   variables, and the Section called Parameters in the Chapter
+   called List of GEL functions for a list of settings that can be
+   modified in this way.
 
-         As an example, you can set the maximum number of digits in a
-         result to 12 by typing:
-      MaxDigits = 12
+   As an example, you can set the maximum number of digits in a
+   result to 12 by typing:
+MaxDigits = 12
      __________________________________________________________
 
-13.1. Output
+Output
 
    Maximum digits to output
           The maximum digits in a result (MaxDigits)
@@ -6751,8 +6815,8 @@ Chapter 13. Settings
 
    In addition to these preferences, there are some preferences
    that can only be changed by setting them in the workspace
-   console. For others that may affect the output see Section
-   11.3.
+   console. For others that may affect the output see the Section
+   called Parameters in the Chapter called List of GEL functions.
 
    IntegerOutputBase
           The base that will be used to output integers
@@ -6766,7 +6830,7 @@ Chapter 13. Settings
           for typsetting in LaTeX, MathML (XML), or in Troff.
      __________________________________________________________
 
-13.2. Precision
+Precision
 
    Floating point precision
           The floating point precision in bits (FloatPrecision).
@@ -6785,7 +6849,7 @@ Chapter 13. Settings
           box, restart genius and then uncheck it again.
      __________________________________________________________
 
-13.3. Terminal
+Terminal
 
    Terminal refers to the console in the work area.
 
@@ -6805,14 +6869,14 @@ Chapter 13. Settings
           remotely.
      __________________________________________________________
 
-13.4. Memory
+Memory
 
    Maximum number of nodes to allocate
           Internally all data is put onto small nodes in memory.
           This gives a limit on the maximum number of nodes to
-          allocate for computations. This avoids the problem of
-          running out of memory if you do something by mistake
-          which uses too much memory, such as a recursion without
+          allocate for computations. This limit avoids the problem
+          of running out of memory if you do something by mistake
+          that uses too much memory, such as a recursion without
           end. This could slow your computer and make it hard to
           even interrupt the program.
 
@@ -6828,7 +6892,7 @@ Chapter 13. Settings
           amount of memory that genius uses.
      __________________________________________________________
 
-Chapter 14. About Genius Mathematics Tool
+About Genius Mathematics Tool
 
    Genius Mathematics Tool was written by Jiří (George) Lebl
    (<jirka 5z com>). The history of Genius Mathematics Tool goes


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]