old-www/HOWTO/Scientific-Computing-with-G.../mathpack.html

401 lines
9.8 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML
><HEAD
><TITLE
>Mathematics Packages</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
REL="HOME"
TITLE="Scientific Computing with Free software on GNU/Linux HOWTO "
HREF="index.html"><LINK
REL="PREVIOUS"
TITLE="Code Development Tools"
HREF="devtools.html"><LINK
REL="NEXT"
TITLE="Numerical Methods and Libraries"
HREF="numlib.html"></HEAD
><BODY
CLASS="sect1"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>Scientific Computing with Free software on GNU/Linux HOWTO</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="devtools.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="numlib.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="sect1"
><H1
CLASS="sect1"
><A
NAME="mathpack"
></A
>4. Mathematics Packages</H1
><P
>&#13; All the links below are free high level languages and Mathematics Packages
for Scientific Computation on Linux. These packages are usually like a
Mathematical Laboratory in which numerical computations can be done and
usually have their own interpreted language. They either link to a
popular (free) plotting package or have their own graphics and plotting
capability. They also provide capability to I/O files and interface
with other programming languages like C, C++, Fortran, etc ... Now a days
some of them have parallel programming capabilities. I have not included
<A
HREF="http://www.mupad.de/"
TARGET="_top"
>MuPAD</A
>, a good symbolic math
package, since is not really free. Check out if their most
<A
HREF="http://www.sciface.com/personal.shtml"
TARGET="_top"
> free license</A
>
suits you.
</P
><P
></P
><UL
><LI
><P
> <A
HREF="http://www.octave.org/"
TARGET="_top"
>Octave</A
>:
An excellent package for numerical computations.
It uses gnuplot for plotting
and has a online help. It is also easily extensible (i.e. new functions,
procedures can be written) either using its own language or by using
dynamically loadable modules written in C, C++, Fortran or other languages.
An extensive manual is available
<A
HREF="http://www.octave.org/doc/octave_toc.html"
TARGET="_top"
>here</A
>.
You can get a GNOME based front end for it
<A
HREF="http://freshmeat.net/projects/goctave/"
TARGET="_top"
>here</A
>.
It is distributed under the GNU Public License.
</P
></LI
><LI
><P
>&#13; <A
HREF="http://www-rocq.inria.fr/scilab/"
TARGET="_top"
>Scilab</A
>:
Another superb package numerical computations having a good user interface
and a very good online click-able help. Its plotting and graphic capabilities
are also very impressive. It also provides for easy interfacing with Fortran
and C. It has its own
<A
HREF="http://www-rocq.inria.fr/scilab/license.txt"
TARGET="_top"
>free license</A
>.
</P
></LI
><LI
><P
> <A
HREF="http://wuarchive.wustl.edu/languages/yorick/doc/index.html"
TARGET="_top"
>&#13; Yorick</A
>:
Yorick is a fast, interpreted language, designed for scientific computing and
numerical analysis. The syntax is similar to C, but the variables need not
be declared. It offers an interactive graphics package based on X windows.
X-Y plots, quadrilateral meshes, filled meshes, cell arrays, and contours are
supported. You can embed compiled routines in Yorick to solve problems for
which the interpreter is too slow. It is also useful as a pre and post
processor for large physical simulation programs. A tutorial like manual
is available
<A
HREF="http://wuarchive.wustl.edu/languages/yorick/doc/manual/yorick.html"
TARGET="_top"
>&#13; here</A
>.
Yorick is open source software,
<A
HREF="http://wuarchive.wustl.edu/languages/yorick/doc/copyright.html"
TARGET="_top"
>&#13; copyright</A
> of the Regents of the University of California.
</P
></LI
><LI
><P
>&#13; <A
HREF="http://algae.sourceforge.net/"
TARGET="_top"
>Algae</A
>:
As the above link describes it, Algae is a interpreted language for
numerical analysis. It was developed as a fast and versatile
tool, capable of handling large problems. Algae consists of the programming
language Algae, and algae, the interpreter.
Its features include speed (generally much faster than octave, RLaB
and Scilab), storage of sparse arrays and a code profiling capability
(to check where your code spends its time). A user manual is available
<A
HREF="http://algae.sourceforge.net/algae.html"
TARGET="_top"
>here</A
>.
It is distributed under the GNU General Public License.
</P
></LI
><LI
><P
> <A
HREF="http://yacas.sourceforge.net/"
TARGET="_top"
>YACAS</A
>:
As the above link describes it, "YACAS is an easy to use, general purpose
Computer Algebra System, a program for symbolic manipulation of
mathematical expressions. It uses its own programming language designed for
symbolic as well as arbitrary-precision numerical computations". Links to
documentation (user manual, tutorial, etc ..) is available
<A
HREF="http://yacas.sourceforge.net/manindex.html"
TARGET="_top"
>here</A
>.
It is distributed under the GNU General Public License.
</P
></LI
><LI
><P
>&#13; <A
HREF="http://rlab.sourceforge.net/"
TARGET="_top"
>RLAB</A
>:
The above link describes it thus, "Rlab is an interactive, interpreted
scientific programming environment. Rlab is a very high level language
intended to provide fast prototyping and program development, as well
as easy data-visualization, and processing". It is distributed under the
GNU General Public License. The author Ian Searle has written an article in
<A
HREF="http://www.linuxjournal.com/"
TARGET="_top"
>The Linux Journal</A
> titled
<A
HREF="http://rlab.sourceforge.net/lj/lj.html"
TARGET="_top"
>An Introduction to Rlab
</A
>
which as he reminds us, is a bit dated, and a
<A
HREF="http://rlab.sourceforge.net/html/rlab-ref.html"
TARGET="_top"
>&#13; Reference Manual</A
> is also available.
</P
></LI
><LI
><P
> <A
HREF="http://maxima.sourceforge.net"
TARGET="_top"
>&#13; Maxima</A
>:
Maxima is a symbolic computation program. The above link describes it
as follows, "Maxima is a descendant of DOE Macsyma, which had its origins
in the late 1960s at MIT. It is the only system based on that effort still
publicly available and with an active user community, thanks to its open
source nature. Macsyma was the first of a new breed of computer algebra
systems, leading the way for programs such as Maple and Mathematica. This
particular variant of Macsyma was maintained by William Schelter from 1982
until he passed away in 2001. In 1998 he obtained permission to release
the source code under GPL".
</P
></LI
><LI
><P
>&#13;<A
HREF="http://www.r-project.org/"
TARGET="_top"
>The R-Project for Statistical Computing</A
>:
R is a language and environment for statistical computing and graphics.
It provides a large collection of tools for statistical analysis of large
arrays of data and also graphical facilities. R is also a complete effective
programming language. For computationally intensive tasks, C, C++ and Fortran
code can be linked and called at run time. A comprehensive set of manuals
dealing with installation, introduction, writing extensions, etc ... is
available <A
HREF="http://cran.r-project.org/manuals.html"
TARGET="_top"
>here</A
>.
It is distributed under the GNU General Public License.
</P
></LI
><LI
><P
>&#13;<A
HREF="http://www.fis.unipr.it/%7Estefanw/gtybalt.html"
TARGET="_top"
>gTybalt</A
>:
gTybalt is a step towards a free computer algebra system. It is object
oriented, allowing symbolic calculations within C++. It is efficient,
in the sense that solutions developed with gTybalt can be compiled with
a C++ compiler and executed independently of gTybalt. The mathematical
formulae are visualized using TeX fonts and can easily be converted to
LaTeX. I did not realize that it has good graphic capabilities till I
checked out the gTybalt
<A
HREF="http://www.fis.unipr.it/%7Estefanw/gtybalt/gtybalt.html"
TARGET="_top"
>manual</A
>.
It is distributed under the GNU General Public License.
</P
></LI
><LI
><P
>&#13; <A
HREF="http://www-swiss.ai.mit.edu/%7Ejaffer/JACAL.html"
TARGET="_top"
>JACAL</A
>:
As the link above describes it, " JACAL is an interactive symbolic mathematics
program. JACAL can manipulate and simplify equations, scalars, vectors,
and matrices of single and multiple valued algebraic expressions containing
numbers, variables, radicals, and algebraic differential, and holonomic
functions".
</P
></LI
><LI
><P
>&#13; <A
HREF="http://www.gnu.org/software/bc/bc.html"
TARGET="_top"
>bc</A
>:
bc is an arbitrary precision numeric processing language. It supports
interactive execution of statements. Click here for a <A
HREF="http://www.gnu.org/manual/bc/index.html"
TARGET="_top"
>Manual</A
> in a variety of formats.
It is GNU software and is distributed under the GNU General Public License.
</P
></LI
></UL
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="devtools.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="numlib.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Code Development Tools</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Numerical Methods and Libraries</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>