Axiom is a general purpose Computer Algebra system. It is
useful for research and development of
mathematical
algorithms. The
Axiom
Language provides a very high level way to express abstract mathematical
concepts that are collected in the
Axiom
Library which defines over 1,000 strongly-typed mathematical domains and
categories.
This web site is called MathAction.
Although it is mainly about Axiom, we also provide some support for other
Computer Algebra systems. The Rosetta
Stone document demonstrates how things are done in different systems.
Currently you can use both Axiom and Reduce on this web site and outputs from
both systems can appear together on the same web page.
COMMENT :
I have not used this system. It has a
very large (3.7MB) downloadable book ( Axiom
book
) which seems very thorough.
|

|
|








|
|
REDUCE is an interactive system for general algebraic computations of
interest to mathematicians, scientists and engineers. It has been produced by
a collaborative effort involving many contributors. Its
capabilities include:
- expansion and
ordering of polynomials and rational functions;
- substitutions and
pattern matching in a wide variety of forms;
- automatic and user
controlled simplification of expressions;
- calculations with
symbolic matrices;
- arbitrary precision
integer and real arithmetic;
- facilities for
defining new functions and extending program syntax;
- analytic
differentiation and integration;
- factorization of
polynomials;
- facilities for the
solution of a variety of algebraic equations;
- facilities for the
output of expressions in a variety of formats;
- facilities for
generating optimized numerical programs from symbolic input;
- calculations with a
wide variety of special functions;
- Dirac matrix
calculations of interest to high energy physicists.
It is often used as an algebraic calculator for problems that are possible
to do by hand. However, REDUCE is designed to
support calculations that are not feasible by hand. Many such calculations
take a significant time to set up and can run for minutes, hours or even days
on the most powerful computers.
The most recent
release of REDUCE (Version 3.8) is dated 15 April 2004. It is available
for most common computing systems, in some cases in more than one version for
the same machine, through a number of distributors. REDUCE is based on a
dialect of Lisp called Standard Lisp, and the differences between
versions are the result of different implementations of this Lisp; in each
case the source code for REDUCE itself remains the same. The complete source
code for REDUCE is available. On-line versions of the manual and other
support documents and tutorials are also normally included with the
distribution.
All information available through this web site is Copyright © Anthony C. Hearn 2004, all Rights
Reserved. Please see the Copyright
Notice for more information.
A printable version of general information about REDUCE is available. For any
further information, please contact info@reduce-algebra.com.
An index has been added
to the REDUCE
bibliography to facilitate access to a given entry. A form for submitting
entries to the bibliography is also available.
|
COMMENT :
Reduce is not free but a 'personal'
version costs about $100. I have not used this system but it has been in use
for about 30 years.
From Wikipedia,
the free encyclopedia.
REDUCE
is a general-purpose computer algebra system geared towards
applications in physics.
The development of the REDUCE
computer algebra system was started in the 1960s by Anthony C. Hearn. Since then, many scientists from
all over the world have contributed to its development under his direction.
REDUCE is written entirely in
its own LISP dialect
called Standard LISP, expressed in an Algol-like syntax
called RLISP. The latter is used as a basis for REDUCE's user-level
language.
Implementations of REDUCE have
existed on a staggering variety of computers, operating
systems, and LISP
bases over the decades. Currently, it is available on most flavors of Unix, Linux, Microsoft
Windows, or Apple Macintosh systems by using an underlying Portable Standard LISP or Codemist Standard LISP implementation.
REDUCE is distributed for a
cost-recovery fee that for a long time has usually included the full source
code for the system, making it a popular research tool in the field of computer
algebra.
PARI/GP is a widely used computer algebra system designed for fast
computations in number theory (factorizations, algebraic number theory,
elliptic curves...), but also contains a large number of other useful functions
to compute with mathematical entities such as matrices, polynomials, power
series, algebraic numbers, etc., and a lot of transcendental functions. PARI is
also available as a C library to allow for faster computations.
Originally developed by Henri Cohen
<http://www.math.u-bordeaux.fr/~cohen> and his co-workers
(Université Bordeaux I, France), PARI is now under the GPL <http://www.fsf.org/licenses/gpl.html>
and maintained by Karim Belabas
<http://www.math.u-psud.fr/~belabas> (Université Paris XI,
France) with the help of many volunteer contributors.
PARI is a C library,
allowing fast computations.
gp is an interactive shell
giving access to PARI functions, much easier to use.
GP is the name of gp'
s scripting language
gp2c the GP-to-C
compiler makes the best of both worlds, compiling GP scripts to the C language,
and loading the resulting functions in gp (gp2c-compiled scripts will typically
run 3 or 4 times faster). gp2c currently only understands a subset of the GP
language.
COMMENT
:
The latest version is
2.30 It is very fast and accurate. I use it for rational and
high-precision floating point arithmetic. I cannot comment on its Number Theory
capabilities, which, by all accounts, are excellent. I wish it had a decent
Windows interface. See wxMaxima comment.
Don't ask me what PARI stands
for, or gp. It's French, y'know.
Derek
O'Connor, 02 September, 2008
Fermat is a computer algebra system for Macintosh and Windows by me,
Robert H. Lewis of Fordham University, that does arithmetic of arbitrarily long
integers and fractions, symbolic calculations, matrices over polynomial rings,
graphics, and other numerical calculations. It is extremely fast and extremely
economical of space. The main version that I care most about is oriented toward
polynomial and matrix algebra over the rationals Q and finite fields
(hence the name "QFermat"). On the Mac side, there are versions that
run under MPW for 68K Macs and stand-alone versions for PPC. There is also a
"float" version for graphics. All versions are available here.
Because it works. Fermat has proven to be extremely good at what it does. If
you tackle real problems with computer algebra you have probably found that
some well known systems are too slow, use too much space, crash too often, or
have weird limitations built into them. If all you do is make up examples for
your undergraduate students, you probably don't need Fermat. If you try to
compute the characteristic polynomial of a 400 X 400 matrix over Q, you
need Fermat or something like it. Time and again, Fermat has bested the well
known expensive systems in both time and space, often by enormous, almost
unbelievable, ratios. Look at this paper
<http://www.fordham.edu/lewis/cacomp.html> that later appeared
in the SIGSAM Bulletin.
Fermat is especially good at polynomial and rational function arithmetic; Smith
normal form; determinant, normal forms, and inverse of matrices with
multivariate polynomial entries over Z, Q, Zp, finite fields, or more
complex fields; sparse matrices; characteristic polynomials; and gcd of
multivariate polynomials over Z, Zp, or finite fields. In
addition, I have striven to make it easy to use. For example, in the Mac
version it is very easy to edit the output of Fermat (on the screen) and make
it the input. This is a great boon in experiments with matrices. Extensive
facilities exist for saving data to files and reading such data. Fermat has the
ability to be interrupted and then later return to the computation, picking up
where it left off. On the Mac side, this is very useful if you are running a
long program on your home computer and your five year old daughter wants to use
KidPix. With Windows95/98/NT/etc, the operating system itself makes some of
this possible -- but not all.
Numerical Systems
BLAS (Basic Linear Algebra
Subroutines)
COMMENT :
Numerical software systems such as Matlab,
O-Matrix, etc., need to use the Blas Kernels to achieve good speed. There is a
Blas kernel dll specifically tuned to each of the standard processors (Intel
P3,P4, Amd etc.). Lapack is based on Blas. Even symbolic systems such as
Mathematica now use a Blas kernel (I believe). Most C and Fortran
compilers allow you to link to Blas kernels (to me, something of a black art).
Here are some benchmark
tests that show the difference between using and not using a Blas kernel --
look at the Matlab 6.5(1) and Matlab 6.5(2) columns. The lack of Blas clearly
shows up in the Scilab and GNU Octave columns -- neither uses Blas kernels. (I
believe the latest versions do use Blas )
NOTE : O-Matrix uses the latest
Intel Math Kernel (MKL 7.0) optimized for the Pentium 4. (Derek O'Connor, Oct
2004)
NOTE : Matlab 7 (Release 14
SP1) now uses the same Intel Math Kernel (MKL 7.0) . (Derek O'Connor, Mar
2005)
NOTE : Octave 2.1.73 and
Scilab 4 now use Atlas Blas kernels. (Derek O'Connor, Aug 2006)
There are two main free
Blas kernels, Atlas and GoTo, at
Atlas : http://www.netlib.org/atlas/ and
Flame : http://www.cs.utexas.edu/users/flame/goto/
Most hardware manufacturers now have their
own kernels, tuned specifically to their processors.
This is from
NETLIB.ORG http://www.netlib.org/atlas/
The BLAS (Basic Linear Algebra Subprograms)
are high quality "building block" routines for performing basic
vector and matrix operations. Level 1 BLAS do vector-vector operations, Level 2
BLAS do matrix-vector operations, and Level 3 BLAS do matrix-matrix operations.
Because the BLAS are efficient, portable, and widely available, they're
commonly used in the development of high quality linear algebra software, LINPACK and LAPACK for example.
A Fortran77 reference implementation of the
BLAS is located in the blas directory
of Netlib.
O-MATRIX is an easy-to-use integrated technical computing environment
and matrix-based scripting language. The high-performance integrated O-Matrix
environment includes hundreds of mathematical, statistical, engineering and
visualization functions with performance that far exceeds other technical
computing environments. The robust and diverse set of analysis functions enable
the rapid development of complex, computationally intensive scientific,
mathematical and engineering solutions.
Since 1992, Harmonic
Software has been helping scientists, engineers, and technical computing
professionals in industries such as aerospace, econometrics, electrical
engineering, financial modeling, and earth sciences obtain better results
faster.
Harmonic Software Academic Price List
The following price list
is for qualified* student, faculty, academic research, and education-affiliated
customers. Commercial customers please see our commercial
price list <http://www.omatrix.com/howorder.html>.
COMMENT
:
I have used this on-and-off for
4 years and found it to be just OK. Its academic price (about $100) is its main
attraction. It was often advertised as faster than Matlab but this turned out
to be misleading : it was using single-precision while Matlab used double
precision. It seems to have serious accuracy problems with the elementary
functions, for relatively small arguments. For example, O-Matrix 5.?
gives sin(10.0d12) = -0.28888529481752512 , but the correct answer is
-0.6112387023768894925.
The latest version, O-Matrix 6,
has improved accuracy. See ErrorSinCos.pdf
Euler is a powerful numerical laboratory
with a programming language. The system can handle real, complex and interval
numbers, vectors and matrices. It can produce 2D/3D plots. Included is a
programming language.
Euler comes with Yacas, a computer algebra system. So one can combine
symbolic and fast numeric programming. For more information about Yacas, view their homepage
<http://yacas.sourceforge.net/yacas.html>, or read the Euler
documentation.
All versions are freeware and open source under the GNU general license.
Euler is not a MatLab clone, but similar to this program.
COMMENT
:
This is an excellent free
alternative to Matlab. It is small (orig. version < 1MB), elegant, and easy
to use. It does good graphics which can be easily exported in various formats
(bitmap, wmf, eps).
Euler is slower than Matlab and
O-Matrix because it does not use BLAS kernels
Derek
O'Connor Dec 12, 2004.
GNU Octave is a high-level language, primarily intended for numerical
computations. It provides a convenient command line interface for solving
linear and nonlinear problems numerically, and for performing other numerical
experiments using a language that is mostly compatible with Matlab. It may also
be used as a batch-oriented language.
Octave has extensive tools for solving common numerical linear algebra
problems, finding the roots of nonlinear equations, integrating ordinary
functions, manipulating polynomials, and integrating ordinary differential and
differential-algebraic equations. It is easily extensible and customizable via
user-defined functions written in Octave's own language, or using dynamically
loaded modules written in C++, C, Fortran, or other languages.
GNU Octave is also freely redistributable software. You may redistribute
it and/or modify it under the terms of the GNU General Public License (GPL <http://www.gnu.org/copyleft/gpl.html>)
as published by the Free Software Foundation
<http://www.gnu.org>.
Octave was written by John W. Eaton
<mailto:jwe@octave.org> and many
others </acknowledgments.html>. Because Octave is free software
<http://www.gnu.org/philosophy/free-sw.html> you are
encouraged to help make Octave more useful by writing and contributing
additional functions for it, and by reporting any problems you may have.
More information about Octave's history is available on this page </history.html>.
COMMENT
:
I have tried to get the latest
version of this for Windows, but they keep muttering "Cygwin,
Cygwin". The only use I have found for previous versions is to
demonstrate how slow it is compared to other systems. This is a good
counter-example to the maxim "The best things in life are free".
(Donald Knuth has pointed out that the words to this song are not free, they
are still under copyright. His TeX system is an excellent
counter-counter-example to the maxim)
Derek
O'Connor Dec 10, 2005
A Free
Scientific Software Package
Scilab is a scientific software package for numerical computations
providing a powerful open computing environment for engineering and scientific
applications. Developed since 1990 by researchers from INRIA and ENPC,
it is now maintained and developed by Scilab Consortium since its creation in
May 2003.
Distributed freely and open source (see the license and the trademark
license) via the Internet since 1994, Scilab is currently being used in
educational and industrial environments around the world.
Scilab includes hundreds of mathematical functions with the possibility to add
interactively programs from various languages (C, Fortran...). It has
sophisticated data structures (including lists, polynomials, rational
functions, linear systems...), an interpreter and a high level programming
language.
Scilab has been designed to be an open system where the user can define new
data types and operations on these data types by using overloading.
A number of toolboxes are available with the system:
- 2-D and 3-D graphics,
animation
- Linear algebra, sparse
matrices
- Polynomials and
rational functions
- Simulation: ODE solver
and DAE solver
- Scicos: a hybrid dynamic systems modeler
and simulator
- Classic and robust
control, LMI optimization
- Differentiable and
non-differentiable optimization
- Signal processing
- Metanet: graphs and
networks
- Parallel Scilab using
PVM
- Statistics
- Interface with Computer
Algebra: Maple package for Scilab code generation, MuPAD 3.0 includes Scilab
- Interface with Tcl/Tk
- And a large number of
contributions for various domains.

Scilab has been built using a number of external libraries.
Scilab works on most Unix systems (including GNU/Linux) and Windows
(9X/NT/2000/XP). It comes with source code, on-line help and English user
manuals. Binary versions are available.
COMMENT
:
This is France's answer to
America's Matlab. Not much of an answer, but it is free. February 8, 2006.
Scilab 4.0 seems to be a great improvement
over previous versions. Now very Matlab-ish and uses Blas kernels. Definitely a
Matlab competitor. May 21, 2006
Derek
O'Connor,
TeX Systems
If you you are
using Windows then the combination of MikTeX and WinEdt works very well.
·
MikTeX
is a complete TeX-LaTeX package for Windows, that includes a DVI previewer (Yap
-- Yet another Previewer) along with all the necessary executables, fonts,
packages, etc. A very useful feature is the automatic updating, downloading,
and installation of missing packages.
·
Winedt
is a Windows shell and editor that is designed to work primarily with
MikTeX. Also, it can be used as a shell for compilers and HTML
editing. This shell is highly configurable and programmable and seems to be
very stable. I have been using it since 1998 and have not found a replacement
that is better.
MiKTeX 2.6
MiKTeX 2.6 has been released on April 30, 2007.
This is the last release which supports legacy Windows platforms (Windows
98/Me).
The availability of MiKTeX 2.6 ends some time in the not so distant
future: as of a fixed date it will not be possible to install packages from the
remote package repository. See this
page, for more information.
Supported platforms
- Windows Vista
- Windows Server 2003
- Windows XP
- Windows 2000
- Windows Me
- Windows 98
Getting updates
Use the update wizard (Start->MiKTeX->MiKTeX Update Wizard) to get
the latest package updates.
Note: it is necessary to run the wizard a second time, if the wizard
updates itself:
- the first run updates
the wizard
- the second run updates
remaining packages
The updates
can be done very neatly within WinEdt below.
WinEdt™ (shareware) is a powerful and versatile ASCII editor and shell
for MS Windows with a strong predisposition towards the creation of [La]TeX
documents...
WinEdt is widely used as a front-end for compilers and typesetting
systems, such as TeX or HTML. WinEdt's highlighting schemes can be customized
for different modes and its spell checking functionality supports multi-lingual
setups, with dictionaries (word-lists) for many languages available for
downloading from WinEdt's Community Site.
Check out WinEdt's Features Overview and Downloads pages for more
information on WinEdt, TeX and links to other programs needed to make WinEdt
and TeX fully operational on Win32 platform.
New: WinEdt
5.5
WinEdt 5.5 is now the official release of WinEdt. It will be
uploaded to CTAN soon. This version integrates seamlessly with MiKTeX 2.5--2.7
and Adobe 5--8. It has a new TeX Live configuration compatible with TeX Live
2007 release. It has also been extensively tested under Windows Vista. To
install WinEdt 5.5 follow the link below and proceed according to the
instructions:
WinEdt 5.5: [Build: 20071003]
COMMENT
:
This is an excellent excellent
GUI for MiKTeX which I have been using for 10 years. Easy installation: if
MiKTeX is installed WinEdt will find all the bits and pieces. All LaTeX's math.
symbols, environments, etc., are in pop-up or pull-down menus. WinEdt+MiKTeX is
probably the best TeX system for Windows.
Derek
O'Connor Oct 5, 2007.
- Project orientated, integrated development
environment for LaTeX-documents
- Definition of unlimited "output
profiles" (i.e. "LaTeX => DVI", "LaTeX =>
PostScript", "LaTeX => PDF")
- Editor:
- Syntax highlighting
- Dynamic word wrapping (you
don't need to scroll horizontally)
- Integrated spell checker,
including realtime spell checking (checks while you are typing)
- Highlighting of parenthesis
- Unlimited undo and redo
- Bookmarks
- "Go to last
change"
- Incremental search
- Find, find and replace
- Fully customizable
- Structure View:
- Clear, document orientated
tree view of the whole document structure
- Displays headers, floating
figures and tables, equations and a lot more
- Supports file inclusion via input and include
- Simple navigation by double
clicking on an item
- Simple referencing by
inserting references with an item's context menu
- Quickly updated by simply
saving one or all files
- LaTeX-support:
- Simple insertion of
LaTeX-constructs by menu or toolbar
- Compilation of the project
in the IDE - simple jumping to errors, warnings and bad boxes.
- Support for forward and
inverse search, together with viewers, which are supporting these
features (i.e. YAP).
- Support for document templates and
wizards
- Full customizable menu and toolbars in modern
and skinable look and feel
- Support for English and German language -
other translations can be created by users
COMMENT
:
This seems to be an excellent
GUI for MiKTeX but I have not used it enough to make any sensible comments at
the moment. This is certainly a WinEdt competitor.
Derek
O'Connor June 06, 2006.
GhostScript and GhostView http://www.cs.wisc.edu/~ghost/
Ghostscript is
an interpreter for the PostScript language and for PDF files.
GhostView is a
PS or PDF previewer for Windows and Linux. It is a GUI for GhostScript
which allows you to view PS or PDF files and to do various conversions. (e.g.,
PS to PDF).
You will need
both programs if wish to view or print PS or PDF files that are output by
MikTex+WinEdt.
The latest
versions are AFPL GhostScript 8.53 and GhostView 4.8
Derek
O'Connor Mar 30, 2006.
PDF Viewer
Foxit Reader Free!
A free
reader/viewer/printer for PDF documents. Unlike Adobe® Reader, our program is
only 1megabyte and runs instantly without installation.
COMMENT
:
This is a nice alternative to
Acrobat Reader which loads very quickly. It seems nearly impossible to
get a useful program less than 1MB these days, which makes Foxit Reader
exceptional. Foxit has lots of other pdf-related stuff at their website.
Derek
O'Connor June 06, 2006.
Notepad++ V4.2.2
COMMENT
:
This is an excellent
replacement for Microsoft's Notepad. It is small (download size
970KB) and loads quickly. It has many features, such as syntax highlighting for
different programming languages.
Derek O'Connor, Oct 5, 2007
WYSIWYG TeX Systems
COMMENT
:
The two systems below are wysiwig TeX-LaTeX
systems (I think). I don't really like them, perhaps because I have not
got the hang of them yet.
TeXmacs is interesting because it can
be used as a front end (GUI) to other programs such as PARIGp and
Maxima. DOC,
Mar 10, 2005
The latest Windows version of
TeXmacs(WinTeXmacs 1.0.5) has a lot more plug-ins that allow you to use it as a
front end to Axiom, Maxima, PariGP, MuPad, Matlab, Scheme, etc. I have got it
to work with most of these but is slow on my 800 MHz Pentium III Xeon. Although
it tries to be Window-ish, it is very peculiar (menus and menu-items should not
be in Times Roman) and does not follow standard Windows style. Whoever wrote
the GUI needs help from Andrej Vodopivec (see wxMaxima above). Nonetheless, the
output is TeX-quality, which is great. DOC, July 30, 2005.
GNU TeXmacs is a free scientific text editor, which was both inspired by
TeX and GNU Emacs . The editor
allows you to write structured documents via a wysiwyg
(what-you-see-is-what-you-get) and user friendly interface. New styles may be
created by the user. The program implements high-quality typesetting algorithms
and TeX fonts, which help you to produce professionally looking documents.
The high typesetting quality still goes through for automatically
generated formulas, which makes TeXmacs suitable as an interface for computer
algebra systems. TeXmacs also supports the Guile
/ Scheme extension language,
so that you may customize the interface and write your own extensions to the
editor.
Converters exist for TeX/LaTeX and they are under development for Html
/ MathML /
Xml . In the future, TeXmacs is planned to evolve towards a complete scientific
office suite, with spreadsheet capacities, a technical drawing editor and a
presentation mode.
GNU TeXmacs is hosted by the Centre de
Ressources Informatiques de Haute Savoie, Archamps, France.
LyX is the first WYSIWYM document processor
LyX is what?!
LyX is an advanced open source document processor that encourages an
approach to writing based on the structure of your documents, not their
appearance. LyX lets you concentrate on writing, leaving details of visual
layout to the software.
LyX runs on many Unix platforms, OS/2, and under Windows/Cygwin (this
port requires an X server). It can also run natively on Mac OS X, thanks to the
Qt/Mac library.
LyX produces high quality, professional output -- using LaTeX, an
industrial strength typesetting engine, in the background; LyX is far more than
a front-end to LaTeX, however. No knowledge of LaTeX is necessary to use LyX,
although it will give a user more power.
LyX is stable and fully featured. It has been used for documents as large
as a thesis, or as small as a business letter. Despite its simple GUI interface
(available in many languages), it supports tables, figures, and hyperlinked
cross-references, and has a best-of-breed math editor.
Back to Derek O'Connor's Homepage
Visits since Jan 2005
