Like all Computer Algebra Systems, Axiom has both online documentation, and various other web pages devoted to its description.
HyperDoc
If you are using Axiom under linux, or under Windows with the Xming X-server, you will have access to the HyperDoc help browser. Although this can look a little old-fashioned (in terms of its widgets), it is extraordinarily powerful, and very useful. It contains:
- the complete text of the book “Axiom: The Scientific Computation System” by Richard Jenks and Robert Sutor (Springer, 1992), in a convenient hypertext format
- masses of examples
- a useful search facility
- a browse system, where you can browse Axiom by commands, or libraries. For example, you can find all the commands which apply to finite fields, what they do, and how they can be used.
HyperDoc is started automatically when you start Axiom. Although HyperDoc can be used as a stand-alone help browser, it connects with Axiom using a socket, so it can run Axiom commands.
Here are a couple of screenshots; one with graphics, one with algebra (click on each image to show a full-sized version):
|
![]() |
Other help from within Axiom
If you only have a console based Axiom, then there is limited help available from within Axiom itself. However, there are a few commands you can use to provide some information. Suppose, for example, you wish to list all operations containing the string “diff“. Then you enter
)wh op diff
which is an abbreviation for
)what operations diff
and receive the output
Operations whose names satisfy the above pattern(s):
diff difference differentialVariables
differentiate exteriorDifferential mergeDifference
setDifference symmetricDifference totalDifferential
To get more information about an operation such as
differentiate, issue the command
)display op differentiate
To list domains, categories or packages, you can write
)wh do diff )wh ca diff )wh pa diff
The command
)wh th diff
which is an abbreviation for
)what things diff
lists everything which contains the substring “diff“.
Now suppose we want to find out about the operation “difference“:
)d op difference
which is an abbreviation for
)display operation difference
and which produces
There are 2 exposed functions called difference : [1] (D,D1) -> D from D if D has SETAGG D1 and D1 has SETCAT [2] (D,D) -> D from D if D has SETAGG D1 and D1 has SETCAT
If you want to find out what “difference” actually does, without using HyperDoc, and from within Axiom itself, you can’t.
However, a very handy command is show, which when applied to a domain lists all operations defined on that domain. Here for exmaple, we find out about Cliiford alegbras, whose type has abbreviation CLIF:
)sh CLIF
with output
CliffordAlgebra(n: PositiveInteger,K: Field,Q: QuadraticForm(n,K)) is a constructor Abbreviation for CliffordAlgebra is CLIF This constructor is exposed in this frame. Issue )edit /usr/local/axiom/mnt/linux/../../src/algebra/CLIF.spad to see source code for CLIF ------------------------------- Operations ------------------------------- ?*? : (%,K) -> % ?*? : (K,%) -> % ?*? : (%,%) -> % ?*? : (Integer,%) -> % ?*? : (PositiveInteger,%) -> % ?**? : (%,PositiveInteger) -> % ?+? : (%,%) -> % ?-? : (%,%) -> % -? : % -> % ?/? : (%,K) -> % ?=? : (%,%) -> Boolean 1 : () -> % 0 : () -> % ?^? : (%,PositiveInteger) -> % coerce : K -> % coerce : Integer -> % coerce : % -> OutputForm dimension : () -> CardinalNumber e : PositiveInteger -> % hash : % -> SingleInteger latex : % -> String one? : % -> Boolean recip : % -> Union(%,"failed") sample : () -> % zero? : % -> Boolean ?~=? : (%,%) -> Boolean ?*? : (NonNegativeInteger,%) -> % ?**? : (%,NonNegativeInteger) -> % ?^? : (%,NonNegativeInteger) -> % characteristic : () -> NonNegativeInteger coefficient : (%,List PositiveInteger) -> K monomial : (K,List PositiveInteger) -> % subtractIfCan : (%,%) -> Union(%,"failed")
It seems that we can add, subtract, multiply and divide elements in a Clifford algebra, as well as raising an element to an integer power. As well as other operations.
Local help outside Axiom
If you have a complete Axiom system, or have compiled it from scratch and also compiled the documentation, you’ll find some useful files in the
mnt/linux/doc
directory, of which the most important and useful are:
Rosetta.dvi- This is the “Rosetta Stone” and provides a “collection of synonyms for various operations in the computer algebra systems Axiom, Derive, GAP, Gmp, DoCon,
Macsyma, Magnus, Maxima, Maple, Mathematica, MuPAD, Octave, Pari, Reduce, Scilab, Sumit and Yacas.” Without being comprehensive, it is nonetheless an incredibly useful document, especially if you’re coming to a new CAS after experience with another. book.dvi- This is the Jenks/Sutor book, with additions – 1136 pages! Not for printing!
bookvol1.dvi- This is a Tutorial volume, and a very good starting place for learning about Axiom. It exists also in printed form, available from lulu.com.
Online help
There is also some very good material online. First off is an xhtml version of the Jenks/Sutor book, at http://axiom-wiki.newsynthesis.org/uploads/contents.xhtml
Complete pdf files of all Axiom user documentation are available at
http://www.axiom-developer.org/axiom-website/documentation.html
This page also contains a link to the beginnings of a new browser-based interface to the HyperDoc material.
For tutorials, the best one in English is by Martin Dunstan, from as long ago as 1996, at
http://www.dcs.st-and.ac.uk/~mnd/documentation/axiom_tutorial.
There are some excellent tutorials in French, by Daniel Augot at
http://www-rocq.inria.fr/codes/Daniel.Augot/axiom_intro.pdf
and by Christophe Conil and Quentin Carpent at
http://la.riverotte.free.fr/axiom.
Now – get out there and learn about Axiom!
