Mathomatic Version 10.8 User's Manual

Introduction

This manual contains information on Mathomatic equations.

Mathomatic is an interpreter that can:

Mathomatic was originally written in Microsoft C for MS-DOS. The C source code is highly portable and will compile and run under any operating system.


System Requirements

UNIX/Linux version of Mathomatic:


Startup

SYNTAX
am [-c] [-h] [input_files]

The Mathomatic program is named "am". ANSI color mode is enabled by default. ANSI color mode can be toggled by the "-c" option. ANSI color mode outputs ANSI escape sequences to make each level of parentheses a different color, to improve readability.

HTML color mode is enabled by the "-h" option. This makes Mathomatic output suitable for inclusion in a web page.

After any options, file names may be specified on the command line that will be read in with the "read" command.


Equations

Mathomatic equations are entered into equation spaces. The number of available equation spaces is displayed every time Mathomatic starts up (usually 20).

The Mathomatic prompt contains the number of the current equation space (origin 1).

To enter an equation into the first available equation space, simply type the equation at the prompt. Equations consist of a Left Hand Side (LHS) and a Right Hand Side (RHS). The equation sides are separated by one, and only one, equals sign (=). An equation side consists of a mathematical expression which is one or more variables or constants separated by operators. Parentheses are used to override operator precedence.

Shown below is a valid equation with its parts labeled:

                equation
        -----------------------
        | variables   constant|
        |--------------     | |
        ||     |      |     | |
         a  =  b  -  (c  +  2)
        | |   |   |      |    |
        | |   |   --------    |
        | |   |   operators   |
        ---   -----------------
        LHS          RHS

In the above equation, the variable (a) is called the dependent variable because its value depends on the variables (b) and (c). (b) and (c) are called independent variables. In Mathomatic, any variable can be made the dependent variable by simply typing the variable name in at the prompt. This will solve the equation for that variable and, if successful, make that variable the LHS.

Here is the above equation entered into Mathomatic and solved for (b):

1-> a=b-(c+2)

#1: a = b - c - 2

1-> b

#1: b = 2 + c + a

1-> 

Constants

Constants are decimal, IEEE double precision (14 digit) floating point numbers. They may be entered in normal or scientific notation. They are displayed in normal or scientific notation, whichever is shortest.

Examples of equivalent constants in normal and scientific notation follow:

Normal Notation    | Scientific Notation
-------------------+---------------------------------
10                 | 1e1 (1.0 times 101)
.1                 | 1e-1 (1.0 times 10-1)
6000000000         | 6e9 (6.0 times 109)

Mathomatic results are almost always accurate to 14 digits. It is possible to get a result that is accurate to less digits, due to floating point inexactness, but you would have to really try.

Variables

Variables consist of a letter of the alphabet, possibly followed by a subscript from 0 to 62, possibly followed by up to 7 primes ('). Two letter variables are now supported. To input a two letter variable, separate the two letters with an underscore (_).

The following variables are predefined:

e# - The universal constant e.
p# or pi - The universal constant pi.
i# - The imaginary number (square root of -1).
sign, sign1, sign2, sign3, ... - may be +1 or -1.

By default, uppercase letters in variables are automatically converted to lowercase, so (A1'') is the same variable as (a1''). To allow upper and lowercase variables, use the "set case" command.

To automatically enter a unique (sign) variable, precede any expression with "+/-".

Operators

Operators have precedence decreasing as indicated:

- negate                            (unary prefix operator)
! factorial                         (unary postfix operator)
^ power                             (binary operator)
* multiply     / divide             (binary operators)
+ add          - subtract           (binary operators)
= equate                            (signifies equivalence)

Operators in the same precedence level are evaluated left to right.

The negate operator "-" may precede an expression, variable, or constant. The negate operator has the highest precedence of all operators.

Standard absolute value notation is allowed. "|x|" is converted to "(x^2)^.5".

The following example shows why operator precedence is important. Given the equation:

a = 64/-2^4 + 6*(3+1)

Mathomatic will first parenthesize the highest precedence operator (power) and then the lower precedence operators (times and divide). Addition and subtraction are the lowest precedence, so no need to parenthesize them. The result will be:

a = (64/(-2^4)) + (6*(3+1))

Mathomatic will evaluate this by combining constants from left to right on the same level of parentheses, deepest level first. So the calculations are performed in the following order:

a = (64/16) + (6*4)   Combine deepest level parentheses first.

a = 4 + 24            Divided 64 by 16 and then multiplied 6 by 4.

a = 28                Added 24 to 4.

If the calculations were performed in a different order, the result would be different.

Complex Numbers

Mathomatic can perform complex number addition, subtraction, multiplication, and division. It can also do roots and powers of complex numbers. Complex numbers are in the form:

a + b*i#

where "a" is the "real part" and "b" is the "imaginary part". "a" and "b" may be constants, variables, or expressions. "i#" represents the square root of -1.

An example of complex number division follows:

1-> a=b/c
#1: a = b/c
1-> calculate
Enter b: 1+2*i#
Enter c: 3+4*i#
 a = 0.44+(0.08*i#)
1-> 

The imaginary number "i#" may appear anywhere within an equation, as many times as you want. Mathomatic will handle it properly.


Commands

Mathomatic has about 30 different commands that may be typed at its prompt. Please consult the Mathomatic Command Reference, for detailed information on commands. It is available in the file "am.htm".


Copyright © 2000 George Gesslein II


Up to the Mathomatic Home Page