Laplace - A symbolic algebra program

   Copyright (C) 1995 by A Vision of Paradise

Welcome
*******

   Welcome to Laplace V0.4 (Evaluation version). This manual describes
the installation and usage of the [1mLaplace[0m program.

About
=====

   Laplace is (or at least should be) an universal tool for
mathematical calculations.  It lacks such a GUI with hundreds of
windows like those other progs I've found on AMIGA.  Instead it works
like a shell, you enter a command and get the result displayed, which
is much more flexible.

   I started programming Laplace, because I was looking for a program
for handling matrices, what I needed for my studies. First all programs
I found were only able to handle floatpoints, but especially in matrix
calculations this leads quite fast to large errors. So I made a simple
prog that handled fractions instead of floatpoints. After that I needed
something to handle parameters in matrices, and so I started totally
rewrote Laplace. This is the result.

   Currently I know only one program on AMIGA that is able to do things
like this: MAPLE V. Well, it is millions of lightyear better that
Laplace, but feature has it's price: DM1500!!!!! You cannot compare
Laplace and MAPLE, neither in power nor price...

Copyright
=========

   ©1996 by A Vision of Paradise

   This is only an evaluation version of Laplace. I plan to make it
SHAREWARE, when it reaches a reasonable state. For know Laplace is
FREEWARE.

   You may distribute Laplace only as the original archive. You may
uuencode or??? it, but you must not change the contents.

   You are not allowed to sell it or take more than $4, DM5.- etc for
copying it.

   Use it on your own risk. If you plan to build a nuclear plant, I take
absolutely NO responsibility for uncontrolled chain reaction caused by
false calculations!!!

   Laplace uses [1mMUI V3.3[0m by Stefan Stuntz (see also
Readme.mui/Readme.mui).
Laplace was compiled with [1mDICE V2.01[0m by Matthew Dillon.
Laplace was debugged with [1mEnforcer V37[0m by Michael Sinz.
Texts were edited with [1mGoldED V3.1.3[0m by Dietmar Eilert.

Registration
============

   Since Laplace is currently FREEWARE, there's no need to register.
But you may send comments, bug report, flames etc. of course.  Address

Address
=======

   This master piece of programming arts was done by

    [1mP!\K of /|_ __   . /\  |\__: /|____  /\__:__/\  .
    [0m [1m       /   |  \  :/  \ |   |/      \/    |    \ :
    [0m [1m     _/    |   \_|  \ \|  _/   |\   \___   ___/ |
    [0m [1m     \     |     |   \ \  \    |/   /         \ |
    [0m [1m      \ _________|____\  _/\ ______/\  __|__  / :
    [0m [1m       \|        :     \/   \|       \/  ·  \/  .
    [0m

    [3ms-mail:[0m
Benjamin Stegemann
Rohrbacher Str. 66
69115 Heidelberg
Germany

    [3me-mail:[0m
bstegema@ix.urz.uni-heidelberg.de
bstegema@urz-mail.urz.uni-heidelberg.de

    [3mWWW:[0m
http://www.rzuser.uni-heidelberg.de/~bstegema

   Actual versions of Laplace can be found in the Aminet directory
misc/math.

   If you are interested in other programs I've done so far, look at
these:

   * [3mShuffleRun[0m - Funny arcarde game for two or more players,
     including tournament mode.
   * [3mTankHunter[0m - Two-player tank blasting...
   * [3mWriter[0m - Creates totally stupid texts, based on any ASCII input.
     Even greatest literature will be shamelessly blown up!!
   * [3mTreeGrow[0m - Create fractal tree images.
   These progs are not available on aminet, sorry, but it's quite old
stuff..
Oh, almost forgot it, they are published on Fish disks, wait a moment,
I will see which ones..
Jo, back again, it's 814 (TreeGrow), 815 (ShuffleRun) and 818
(TankHunter).  Writer is (or was) available on BBS.
If you are really interested, send me a mail.

Greets
======

   Thanks must go to:

   * [1mStefan Stuntz[0m for is fantastic MUI.
   * [1mMatthew Dillon[0m for DICE.
   * [1mDietmar Eilert[0m for GoldED.
   * [1mMartin Huttenloher[0m for MagicWB.
   * [1mMattias p. Eriksson[0m for additional icons from is MagicRabbit
     collection.
   * [1mKai Iske[0m for MagicCX.
   * [1mStefan Sommerfeld and Michael Knoke[0m for MCP.
   * [1mMichael Sinz[0m for Enforcer.

   And all other folks around this crazy planet, who support the
AMIGA!!!!

    [1mP!\K of /|_ __   . /\  |\__: /|____  /\__:__/\  .
    [0m [1m       /   |  \  :/  \ |   |/      \/    |    \ :
    [0m [1m     _/    |   \_|  \ \|  _/   |\   \___   ___/ |
    [0m [1m     \     |     |   \ \  \    |/   /         \ |
    [0m [1m      \ _________|____\  _/\ ______/\  __|__  / :
    [0m [1m       \|        :     \/   \|       \/  ·  \/  .[0m

Requirements
============

   OS3.0 (V38) or better.

   MUI3.3  may be found in aminet: [1mdev/gui/muiXXusr.lha[0m (see also
Readme.mui/Readme.mui).

       [1mavop.library[0m supplied in this archive.

   and a FAAAAAST AMIGA...

Installation
============

   Since Laplace is still under development, I didn't write an
installer script ;-)

   But, don't be afraid, installing is really easy!! Just drag the
whole Laplace directory to any place you like, no libs, fonts, catalogs
to install. Even an assign isn't needed anymore.

   You may add the assign [1mLaplace:[0m to the Laplace directory, then this
assign will be uses as [1mPROGDIR:[0m, but this is currently not very
useful at all (except for me, as I need this to find all files when
debuging...).

Tooltypes
=========

   You may enter some tooltypes to the icon of laplace. To do this,
select the icon on the workbench and choose [1mIcons/Information[0m from
the workbench menu. Then modify the list of tooltypes using the (quite
bad) edit functions.

   Tooltypes are supplies using this format :
     KEYWORD=value
   Unknown keyword will be ignored, syntax is caseinsensitive.

   Supported tooltypes are :

[1mAREXXONLY[0m
     (boolean) Set to [1mYES[0m or [1mNO[0m. If set to yes, Laplace won't open a
     window on startup, but starts iconified; only an application icon
     will be shown on the workbench. The first window is opened when
     doubleclicking on the application icon or uniconifying Laplace on
     another way. This is useful, if you want don't want to use Laplace
     directly, but only through it's ARexx port.

   ..not much eh..

Working with Laplace
====================

   Laplace works much like a shell, you enter an Expressions press
return and Laplace gives you the result (after some time;-). See
Editing or Menus for more details.

   Laplace's processing is based on objects. You can Definitions new
objects and reference them later.

   When a new window is opened, Laplace will do several things to setup
the environment:

   1) load options from Presets.

   2) load F-keys from Presets.

   3) execute the command Functions.guide/include(Init.lh). See also
Libraries_Init.

   You may modify all these files, to adjust the environment to your
needs.

   To load and save sessions, see Project.

Editing expressions
===================

   Well, I think the basic edit functions are now available.

   Clipboard is supported, but currently only whole lines can be
[3mcutted[0m, [3mcopied[0m and [3mpasted[0m.

       [3mInsert line[0m inserts a line before the current line; to insert
a line at the end, just press  [1m<return>[0m in the last line.  [3mDouble
clicking[0m on a line, works just line pressing return.

   Here are the keys that you can use for editing :
[1mbackspace[0m
[1mdel[0m
[1mleft[0m
[1mright[0m
[1mup[0m
[1mdown[0m
     guess what..

[1mshift left[0m
[1mshift right[0m
     advance one word

[1malt left[0m
     goto beginning of line

[1malt right[0m
     goto end of line

[1malt up[0m
     goto first line

[1malt down[0m
     goto last line

[1mctrl up[0m
     move one item up in history

[1mctrl down[0m
     move one item down in history

[1mctrl-shift up[0m
     move to first item in history

[1mctrl-shift down[0m
     move to last item in history

[1mesc[0m
     undo changes in current line. This work only, as long as you don't
     leave the line.

[1mreturn[0m
     evaluate the current line and advance to the next line.

[1mshift return[0m
     evaluate the current line and insert a new line after it.

[1malt return[0m
     split the current line at the cursor position and insert a new
     line after it.

[1mshift backspace[0m
     erase current line from cursor position to the beginning of the
     line.

[1mshift del[0m
     erase current line from cursor position to the end of the line.

[1malt backspace[0m
     clear the current line.

[1malt del[0m
     clear the result of the current line.

[1mctrl tab[0m
     pop up a list of all available objectes of the current context.
     Select an entry and it will be inserted at the current cursor
     position.

[1malt tab[0m
     pop up a list of all available functions

[1mFn[0m
[1mshift Fn[0m
     insert the string linked to a F-key

Menus
=====

[1mProject[0m
    [1mAbout MUI[0m
          about Readme.mui/MUI, what else

    [1mAbout[0m
          ;-)

    [1mNew window[0m
          Open a new, blank window

    [1mClear[0m
          Clears the current window

    [1mLoad..[0m
          Open a Project file

    [1mSave[0m
          Save a Project file. Use the current path or select a new

    [1mSave as..[0m
          Save a Project file. Select a new path

    [1mMUI Prefs[0m
          Open MUI preferences window

    [1mQuit[0m
          NOOOOOOOO :-O

[1mEdit[0m
    [1mCut[0m
    [1mCopy[0m
    [1mPaste[0m
    [1mInsert line[0m
    [1mRemove line[0m
          see Editing

[1mWindows[0m
    [1mDebug[0m
          Opens the debug window with a list of all debug strings.

[1mOptions[0m
     Options are specific for a project, they are usually saved in the
     project file.

    [1mAlways use float[0m
              [1mx[0m - Use always floatpoints even if fractions could be
          used.

    [1mSimplify[0m
              [1mx[0m - Enable simplification. If Disabled calculation is a
          bit faster, but the result look quite ugly.

    [1mPrecision...[0m
              [1mx[0m - Laplace tries to convert floatpoints into fractions
          whenever possible.  But the floatpoint routines are not too
          exact, so there might be an small difference to the correct
          value (e.g. 1.2000000000000001 when it should be 1.2).  If
          the difference is smaller than the specified precision,
          Laplace assumes the value as a fraction and converts it (in
          this case to 6/5). This is not applied to value near zero, so
          1e-30 won't be converted to 0.

    [1mExp. display..[0m
              [1mx[0m - Select number of digits to be displayed before
          switching to exponential display.

    [1mDisplay precision..[0m
              [1mx[0m - Select number of digits to be displayed beyond
          decimal point.

    [1mF-Keys..[0m
          Define strings linked to the F-keys. The specified text will
          be inserted into the current line, if you you hit an F-key.
          The are some special code that can be inserted into the
          string. They are introduced with a [1m%[0m. If a [1m%[0m should be
          inserted, you have to enter [1m%%[0m. Possible codes are :
         [1m%l[0m
               move the cursor one step to the left.

         [1m%(l n)[0m
               move the cursor n steps to the left.

         [1m%r[0m
               move the cursor one step to the right.

         [1m%(r n)[0m
               move the cursor n steps to the right.

         [1m%(run command)[0m
               execute the given shell command.

    [1mLoad F-Keys..[0m
    [1mSave F-Keys..[0m
          Opens a requester to Presets a set of F-keys. You may load
          F-keys from other project files.

    [1mLoad options..[0m
    [1mSave options..[0m
          Opens a requester to Presets the state of the upper options
          marked with a [1mx[0m.  You may load options from other project
          files.

[1mHelp[0m
    [1mIndex[0m
          Loads this file, displaying the main page.

    [1mFunctions[0m
          Loads this file, displaying Functions.guide/this page.

    [1mSearch...[0m
          Opens a window, where you can specify a keyword to search
          for. If the keyword is found the file will be opened on the
          correct page. Note that text window runs asyncron, which
          means that you can leave the window opened while working.
          You don't even have to close the window to continue the
          search. Just bring the 'Searching...' window to front, select
          'Continue' and the next page containing the keyword will be
          loaded into the textwindow.

Projects
========

   Laplace saves project files as plain ASCII files, you may edit them
with any standart texteditor. Projects are usually placed in the
[1mProjects[0m directory.

   All options (see Menus) and the F-key definitions are save in the
project file, the same format as in Presets is used.

Presets
=======

   Options are saved as plain ASCII files, and are usually stored in the
[1mPresets[0m directory. The can be edited by any standart texteditor.

   The line format is quite simple: a line starts with an [1m#[0m followed
by a keyword, a [1m=[0m and the value for this option. You must not insert
any spaces, except otherwise stated below. E.g.
     #USEFLOAT=TRUE
     #ERRBND=12

Options
-------

   Options (marked with a [1mx[0m in Menus) are saved in files ending with
[1m.opts[0m. The keywords are :
[1m#USEFLOAT[0m
     set to [1mTRUE[0m or [1mFALSE[0m

[1m#SIMPLIFY[0m
     set to [1mTRUE[0m or [1mFALSE[0m

[1m#ERRBND[0m
     an integer value between [1m1[0m and [1m32[0m

[1m#EXPDSP[0m
     an integer value between [1m1[0m and [1m12[0m

[1m#PREC[0m
     an integer value between [1m0[0m and [1m15[0m

F-keys
------

   The F-key definitions are saved in files ending with [1m.fkey[0m. The
keyword is followed by the string for the key, the whole rest of the
line is used, including all spaces.
[1m#F1 ... #F10[0m
     normal F-keys 1..10

[1m#F11 ... #F20[0m
     shifted F-keys 1..10

Expressions
===========

   Expressions are entered in a usual manner, e.g.
     1+2/3*(4-2) [1m<return>[0m

   Guess what's the result... More formally, an correct expression is :
        * Types or
        * Definitions or
        * Functions.guide/functions or
        * ExpressionList or
        * expression operator expression
   Valid operators are :
     +, -, *, / or ^

   You may enter several expression at once, seperated by commas, e.g.
     1+2,2/4,12+10 [1m<return>[0m
   The results will be displayed seperated by lines.

Expression List
---------------

   An expression list is an list of expression seperated by commas
embedded in [1m{}[0m brackets or supplied to the Functions.guide/do()
command.

   All expressions will be evaluated, but only the last result will be
used.  The result of the list will be this last result. This makes only
sense with functions like Functions.guide/debug(). E.g.
         sin({debug("Hello world!"), pi/2}) [1m<return>[0m

Types and objects
=================

   Laplace supports currently five types of objects : [1mReal[0m,
[1mVector[0m, [1mMatrix[0m, [1mEquation[0m and [1mSets[0m.

       [1mReal :[0m
These are just numbers as well all know them (or do we know them all?!).

   Numbers can be entered in exponential style, which is
[1m{+/-/<nothing>}ddddd[.ddddd][e{+/-/<nothing>}dddd][0m. Ufff, but
it's quite easy;-) to enter e.g. [1m6.626 * 10^(-34)[0m write
[1m6.626e-34[0m. The (whole) number after [1me[0m is just the exponent.
Don't use brackets, if the exponent is negative!

   As long as you enter only whole numbers, Laplace tries to use
fractions, so enter [1m1/2[0m instead of [1m0.5[0m (in this simple case Laplace
converts [1m0.5[0m to [1m1/2[0m itself, but this may not always word). This way
you can enter things like [1m1/7[0m exactly, and you won't get result which
are almost exact zero, when it should be exact ;-)

       [1mVector :[0m
A vector is a tupel of reals. To create a vector [1m(2,4,1)[0m enter
[1mvector(2,4,1)[0m or as a short form [1m[2,4,1][0m. A vector may of
course contain references to other ([1mreal[0m) objects.

   You can add and multiply (scalar) two vectors, or multiply a
[1mreal[0m or [1mmatrix[0m with a vector (in this order, not [1mvector *
real[0m!).

       [1mMatrix :[0m
A matrix is something like a 2-dimensional vector.. (if you don't know
what's this, you probably won't need them ;-) A matrix is created by
e.g.  [1mmatrix([1,a,3],[5,7,b],[c,3,4])[0m or as a short form
[1m[[1,a,3],[5,7,b],[c,3,4]][0m where [..] is a column of the matrix.
All columns must be of the same height of course.

   You can add and multiply two matrices, or multiply a [1mreal[0m and a
matrix (in this order, not [1mmatrix * real[0m!).

       [1mEquation :[0m
To create a equation use the Functions.guide/eq command.

   You can of cource calculate with equations. The operations will be
applied on both side of the equation. You can add or multiply two
equations. If you add or multiply a [1mreal[0m, [1mvector[0m or [1mmatrix[0m to an
equation, the equation has to be on the left side, e.g.
     a=eq(2*x+4,0) [1m<return>[0m
     a=a-4 [1m<return>[0m
     a=a/2 [1m<return>[0m

   You can also apply functions line [1msin()[0m, [1mexp()[0m... on equations,
e.g.
     a=eq(ln(x),12*e) [1m<return>[0m
     a=exp(a) [1m<return>[0m

       [1mSet :[0m
To create a set use the Functions.guide/set command.

   A set is a set (?!?) of objects of the same type. Currently there
are some statistic functions that can be applied to sets.

   If you calculate with sets, all operations (exept those affecting
the set directly) are applied to all elements of the set, e.g.
     s=set(1,2,3) [1m<return>[0m
     s+2 [1m<return>[0m
   This will return the set {3,4,5}

Definitions
===========

   If you want to use an result later or just define a variable, write
[1mname = expression[0m. This creates an objects that can be referenced by
it's name in later(!) lines. If you reference to an object, Laplace
searches from the actual line back, so you may define an object several
times, but only the latest version is used. E.g.
     [1] a=1/2 [1m<return>[0m
     [2] 2*a [1m<return>[0m
         gets 'a' from [1]
     [3] a=a+1 [1m<return>[0m
         'a' on the right side references to the definition in [1]
         and creates a new object called 'a' to be referenced below
     [4] a [1m<return>[0m
         gets 'a' from [3]

   If you move back to [2], you still get the same result, because the
new [1ma[0m is defined below and cannot be reference from [2].

   There are some special conventions for object names. Valid
characters are [1mA..Z Ö Ä Ü a..z ö ä ü 0..9  § $ '[0m. You may not
use a number as the first character.

   There are two special characters which may be used : [1m~[0m (tilde) and
[1m_[0m (underscore). [1m_[0m as the first character will create a line above
the name, which is often used in mathematics. Inside the name [1m_[0m will
create an index, character after [1m_[0m will be used as the index at the
bottom of the name. [1m~[0m work similar, but creates an index at the top.
You can use both indexes. E.g. [1m_a[0m, [1ma_1[0m, [1ma~1[0m or everything at once
[1m_a~2_1[0m.

   Starting with version 0.3 Laplace support the usage of greek
symbols. If the name or an index matches the name of a greek letter,
then this letter is used to display the variable. Number may follow the
letter name. E.g. [1malpha1_beta[0m. A name in lower case represents a
small greek letter; if the first character of the name is uppercase,
then you get an big greek letter. All supported names are :

       [1malpha, beta, gamma, delta, epsilon, zeta, eta, theta, jota,
kappa, lambda, my, ny, xi, omikron, pi, rho, sigma, tau, ypsilon, phi,
chi, psi, omega, Alpha, Beta, Gamma, Delta, Epsilon, Zeta, Eta, Theta,
Jota, Kappa, Lambda, My, Ny, Xi, Omikron, Pi, Rho, Sigma, Tau, Ypsilon,
Phi, Chi, Psi, Omega[0m

   There are three difference kinds of definitions : [1mvariables[0m,
[1mparameters[0m and [1mconstants[0m.

   When you reference a [1mvariable[0m, it's contents will be inserted.
Variable are defined using [1mname = expression[0m. E.g.
     a=3 [1m<return>[0m
     a+1 [1m<return>[0m -> 4

   A reference to a [1mparameter[0m will not be evaluated, it will remain
in the result.  Use [1mname := expression[0m to create a parameter. If you
want to get the final result use the Functions.guide/eval() function.
E.g.
     a:=3 [1m<return>[0m
     2*(a+2) [1m<return>[0m -> 2*a+4
     eval(2*(a+2)) [1m<return>[0m -> 10

       [1mConstants[0m have no value, so they won't be evaluate, even with
the Functions.guide/eval() function. They are defined using the
Functions.guide/const() function. E.g.
     const(a) [1m<return>[0m
     2*(a+2) [1m<return>[0m -> 2*a+4
     eval(2*(a+2)) [1m<return>[0m -> 2*a+4

   You can also define [1mfunctions[0m. Just enter a argument list embedded
in bracket after the object name, e.g.
     f(x):=x^3 [1m<return>[0m

   The arguments will be handled like constants in the function
expression. If you want to use other object type than reals, you have
to specify the type in the parameter list, the format is line in
Functions.guide/const().

   When referencing a function you have to specify the arguments to be
inserted into the function's expression, e.g.
     f(3) [1m<return>[0m -> 27
     const(a) [1m<return>[0m
     f(a+1) [1m<return>[0m -> (a+1)^3

Libraries
=========

   Laplace offers the ability to process external files. These files
are plain ASCII files and may be edited with every texteditor. These
files will be processed, just as if each line would be entered, blank
lines and lines with leading [1m;[0m will be ignored. The results won't be
displayed, so this is only useful for constant and function
definitions. Library files have a trailing [1m.lh[0m and are located in the
[1mInclude[0m directory.  Use the Functions.guide/include() command to gain
access to a library.

   Some basic files are included :
   * Libraries_Init

   * Libraries_Math

   * Libraries_Physic

   If you want a library to be available on startup add a line
[1msource([1mlibname.lh[0m)[0m to the file [1mInclude/Init.lh[0m, which is
always processed on startup.

Init.lh
-------

   This file will always be processed on startup. Any definitions or
commands that should always be done can be placed here.

math.lh
-------

   some useful mathematical definitions

[1mpi:=3.141592653589793[0m
     ;-)
[1me:=2.718281828459045[0m
     :->
[1merr(x):=exp(-x^2)[0m
     error function
physic.lh
---------

   some useful physical definitions

[1mG:=6.67e-11[0m
     gravity constant
[1mg:=9.81[0m
     earth acceleration
[1mN_A:=6.0225e23[0m
     avogadro number
[1mR:=8.31[0m
     gas constant
[1mk:=eval(R/N_A)[0m
     well, R/N_A
[1mm_p:=1.6725e-27[0m
     a proton's mass in kg
[1mm_n:=1.6747e-27[0m
     a neutron's mass in kg
[1mm_e:=0.911e-30[0m
     an electron's mass in kg
[1mu:=1.66042e-27[0m
     nuclear mass unit in kg (1/12 of C12 atom nucleus)
[1mh:=6.626e-34[0m
     planck constant
[1m_h:=eval(h/(2*pi))[0m
     h/(2*pi)
[1mm_sun:=1.99e30[0m
     the sun's mass in kg
[1mr_sun:=6.96e8[0m
     the sun's radius in m
[1mm_earth:=5.98e24[0m
     the earth's mass in kg
[1mr_earth:=6.37e6[0m
     the earth's radius in m
[1md_earth:=1.49e11[0m
     the earth orbits's radius in m
[1mm_moon:=7.34e22[0m
     the moon's mass in kg
[1mr_moon:=1.74e6[0m
     the moon's radius in m
[1md_moon:=3.84e8[0m
     the moon orbits's radius in m
To do
*****

   As I said before, this is only an evaluation version, so there are
quiet a lot of things left to do, before I release Laplace as SHAREWARE.
If you have any [3msuggestions[0m, you are invited to send me a note!!

   Here is a list of some major things:

   * editing is not very comfortable now, improve it (history, block
     editing..)
   * use CGFonts for output (is there anyone out there knowing how to
     work with the bullet.library?)
   * support complex numbers
   * function plotting, perhaps internal or external using ARexx (seems
     that Graph2D needs a better ARexx port..)
   * export expressions as TeX,...
   * calculate integrals (do you REALLY believe, I manage this...)
   * the greek font is rendered by IntelliFont and doesn't look very
     pretty (does any have a designed one??)
   * a whole bunch of small improvementes...

Known bugs
**********

   If you find a bug, not documented feature etc. don't hesitate, TELL
ME.

   Here are those nasty things I know, but didn't manage to remove 'em
(for now):

   * my MUI-CustomClass 'eats' all keyboard input, disabling the tab-key
     and button shortcuts.. Currently there is only a workaround for
     the tab-key, but things are still quite ugly...
   * you get sometimes problems with object names ending with an 'e',
     try [1mm_e+pi[0m (no spaces!!). [1mm_e + pi[0m (with spaces!!) works...
   * I'm using the mathieeedoub*.library for floatpoint processing.
     Seems that it's not too precise; [1m0.4 * 5.0[0m is [1m2 ± 1e-16[0m!!
     When trying to convert floats into fraction, Laplace ignore
     differences smaller than 1e-15...
   * Taylor approximation crashes, if you try to evaluate at an [1ma[0m,
     where the function is not defined, e.g. [1mtaylor( (ln(x))(x), 0, 2
     )[0m.

Index
*****



 About                                  About
 Address                                Address
 Constants                              Definitions
 Copyright                              Copyright
 Definitions                            Definitions
 Editing                                Editing
 Equation                               Types
 Expression list                        ExpressionList
 Expressions                            Expressions
 F-keys                                 Menus
 Functions                              Definitions
 General usage                          GeneralUsage
 Greets                                 Greets
 Grek letters                           Definitions
 Init.lh                                Libraries_Init
 Installation                           Installation
 Known bugs                             KnownBugs
 Libraries                              Libraries
 math.lh                                Libraries_Math
 Matrix                                 Types
 Menus                                  Menus
 Objects                                Types
 Parameters                             Definitions
 physic.lh                              Libraries_Physic
 Presets                                Presets
 Project                                Project
 Real                                   Types
 Registration                           Registration
 Requirements                           Requirements
 Set                                    Types
 To do                                  ToDo
 Tooltypes                              Tooltypes
 Types                                  Types
 Usage                                  GeneralUsage
 Variables                              Definitions
 Vector                                 Types

