**MATH/SCIENTIFIC**

__EXCALIBUR__

A RPN (Reverse Polish Notation)
calculator. Once you get used to RPN you may never go back to a
regular calculator. Has scientific, business and statistics modes,

and more. This is an excellent app
for exploring RPN - if you discover you prefer RPN as much I do
and want an RPN calculator, they can be purchased at the HP

web site and elsewhere (they
appear to be unavailable at office supply stores such as Staples and
computer vendors such as BestBuy). These RPN calculators can

also be used in the traditional mode.

__GNU
OCTAVE__ (Linux,
OS-X, Windows)

An excellent clone of Matlab but
designed for Linux - the Windows version leaves a lot to be desired .
Octave does an excellent conversion from Matlab codes.

I can confirm that my Matlab codes
work perfectly on Octave, with occasional minor modifications.
Computation times are about the same time as Matlab. There are

two forms of Octave, only one of
which should be used - avoid the QtOctave version (Mint has evidently
dropped all support for QtOctave) . The present (5/16)

Octave default is a command line
app. However its plotting functionality is inferior to Matlab. Be
sure that Gnuplot-x11 is installed rather than gnuplot-qt.

(1) Functions
files for Octave must have a .m suffix, exactly like Matlab.
Amazingly, this is not stated in the Octave documentation.

(2) Matlab
m-files must be written as, copied to, or saved as, a text file
before being transferred to the working Octave directory (see (3))
below). Matlab files that

are directly copied are not
recognized by Octave. The easiest way to do this is to open the
Matlab m-file with the default text editor and then save-as to a text
file in the

Octave directory.Once it is in this
directory further editing to produce a viable Octave function file
may be needed. For coding a new function it is easiest to open an

extant file and insert the new code
after the first or second line (otherwise hidden beginnng characters
screw up the interpreter) and then delete the intial lines.

(3)
Function files can be stored in any directory. However if this
directory is not in the same folder as the Octave program it must be
identified with the command

[addpath("directoryname")]
where both the () parentheses and the quotation marks must be
included (" and ' both work). You need to run addpath every time
you start Octave,

but this is not inconvenient
because Octave remembers previous selections (use one of the up or
down arrow keys). I have always used a separate DATA partition
for such

directories without difficulty in
Octave running on Mint.

(4)
Once Octave is installed additional packages must be installed to
activate many (most?) of the commonly used functionalities. These are
essentially equivalent to

Matlab's Toolboxes, except that
many of them could be expected to be part of the initially installed
Octave rather than add-ons. I install all packages that I think might be

relevant to my needs (for
example Xterm, Gnuplot-X, io packages). Why these are not installed
by default is beyond me.

(5)
I have done successful optimizations using the unconstrained built-in
function *fminunc* rather than Matlab's *fminsearch* - the
input arguments are formatted

identical so that the call to
fminsearch in Matlab is replaced by a call to fminunc in Octave,
keeping everything else the same. Optimization times are about the

same. Alternatively, fminsearch can
be used after installing the optimization packages.

(6)
The function 'ginput' (entering coordinates from a plot) works
fine once the octave-plot package is installed and and gnuplot-x11 is
installed - Gnuplot-qt

creates problems

__SCILAB__

Another mathematical programming
package. I tried this a decade or so ago and it worked but I have had
so much success with Octave that I have not used it since. It has

a Matlab-to-Scilab converter,
although my attempts at such conversions were not successful (perhaps
this has improved).

__
__