July 28, 2011 Release Notes

July 2011 Release
The prior release had a bug that caused it to remember the build location.
This was a change introduced by the underlying lisp. This was fixed.
This release continues treeshaking the compiler.
The modemap.lisp file has been merged and no longer exists.
This release continues to treeshake the interpreter.
The axext_l.lisp file has been removed.
Makefile.pamphlet
add BUILD=full / BUILD=fast switch
Book Volume 5 (Interpreter)
treeshake interpreter
Book Volume 9 (Compiler)
treeshake compiler
Book Volume 10.3 (Domains)
help and unit tests for RewriteRule
axiom.sty
add /refsdollar and /defsdollar for better cross references
src/interp/Makefile
add (si::reset-sys-paths) per Camm
remove axext_l aldor support file
remove modemap.lisp

November 24, 2009 Release Notes

The major changes are:
A new )describe command, boot language removal, and more motion
toward a fully literate system.
The )describe command was added.
The )describe function was added to Volume 5 (Interpreter)
The )describe function was documented in Volume 2 (Users Guide)
The Description field for the Categories, Domains, and Packages
were cleanup up and reformatted in Volumes 10.2 (Categories)
10.3 (Domains) and 10.4 (Packages)
Boot Language removal
All of the boot-converted lisp files were reformatted from their
compiler generated output. These files are being merged into
Volume 5 (Interpreter) and Volume 9 (Compiler) as appropriate.
This work will continue for the next few releases.
All or portions of the following files were merged into
Volume 5 (Interpreter):
astr, cstream.lisp, dq, incl, int-top, i-syscmd, msg, nci,
obey, osyscmd, parini, patches, pile, scan
The src/boot subdirectory is gone, including the files:
Makefile, boot-proclaims, boothdr, bootload, btincl2, btpile2,
btscan2, ccl-bootsys, ccl-depsys.lsp, exports.lisp, npextras, ptyout,
tyextra, typars, typrops, tytree1, sys-pkg, vmlisp, ptrees, wi2
The bootsys image is no longer part of the build process
Patch ports from Fricas and Open-Axiom
The Tuples patch was picked up and applied.
The SXHASH function is the hash default in SetCategory
The function ListOfTerms was renamed to listOfTerms
Input file changes
New input files have been added to show how to compute
results using Axiom or to create regression tests for fixes:
complexfactor, rubey, zimmbron, branchcut, cachedf, finitegraph,
newtonlisp, nonlinhomodiffeq, distexpr, numericgamma, donsimple
solveperf, tuplebug, unit-macro, testprob, unittest2
lexp was removed and moved to the LEXP algebra file
dop and gstbl had minor fixes
New Help files and Function examples were added
There are new help files:
describe, AlgebraicallyClosedField, RationalFunctionSum,
RadicalSolvePackage, PartialFractionPackage, Product,
OrderedFreeMonoid
Website update:
The developer.html page was rewritten. An old Scratchpad group
photo was added to the site.
Work continues on re-hosting the axiom-developer.org domain.
We now own axiom-developer.com and axiom-developer.net which will
be retargetted to the new host as soon as it is available
Interpreter changes:
Axiom will sit in a single package in the near future.
The VMLISP package was partially removed from the system.
Work continues on this path.
The util.ht file is created earlier in the parallel build
so there are fewer compiler messages about documentation.
Research:
A Cohen algebra domain is being developed to enable symbolic
manipulation of expressions with explanations and controlled
simplification.

September 26, 2009 Release Notes

A major project milestone has been achieved with this release.
Axiom is implemented in lisp, removing all code in Boot.
The major effort in this release has been the boot to lisp rewrite.
There are several follow-on phases which are "in-process" but only
partially complete with this release. These include:
source cleanup -
generating warning-free compiles which involves cleaning up the
boot-to-lisp artifacts
generating unit tests
unit tests are being developed for each of the translated files to
ensure that the rewrite does not introduce bugs
file merge
the individual files are being prepared to merge into the interpreter
and compiler volumes.
global variable handling
the system uses many globals which are being either explained or
rewritten to reduce coupling
data structure extraction
the various data structures used by the compiler and interpreter
are being identified and explained
API vs implementation
the functions used externally vs the functions used internally are
being identified
code refactoring
the generated lisp code is being rewritten into human form without
changing the behavior
The target goal is to have the code cleanly merged into the interpreter
and compiler volumes in a logical way that form chapters related to function.
Additional changes in this release include:
Add Steven Segletes to credits. He was the author of the paper that
supplied the coefficients for computing E1. He has contributed a later,
unpublished paper which has more accurate coefficients. This is in-plan
to implement.
Barry Trager contributed an example of computing Shannon Matrices.
This has been added to the input/regression suite.
The .dvi files for the interpreter are no longer being built. The
individual pamphlets will shortly disappear.
Debugsys is no longer built. I am the only user of it and I can build
it when needed.
Bootsys is no longer built. It is no longer needed.
The Makefiles now use the := rather than = assignment limiting re-evals
Parallel Make is now the default since the documentation build is now
independent of the interpreter build

July 26, 2009 Release Notes

The syntactic conversion from the prior #1 form to the +-> form
is complete except for the GUESS package. Both forms still work
but the #1 form is discouraged.
All algebra files from src/algebra are now in books.
Work has concentrated on the hyperdoc browser.
* The browser files which get autoloaded into the interpreter were
merged and removed in preparation for being rewritten into book form.
* Glossary files were missing from the build and were added.
Work has started on a new CATS collection of verified algebraic identities,
the tpiezas set. See http://sites.google.com/site/tpiezas
Volume 5: Axiom Interpreter
* set message autoload now defaults to off
Volume 7 Axiom Hyperdoc
* htsearch moved to $AXIOM/bin
Volume 10.1 Axiom Algebra Theory
* add chapter on quaternions
Volume 10.3 Domains
* Any now has regression and help files
* MathMLFormat domain moved from Volume 10.4
* TexFormat has regression and help files
* TexFormat fix for horizontal fractions
* Quaternion was added from src/algebra
Volume 10.4 Packages
* IntegerNumberTheoryFunctions fix divisors regression
* Waldek's QUATCT2 algebra was added, including a help file,
regression tests and command examples.
Makefile
* make help files in parallel
* make xhtml pages in parallel
* make books documentation in parallel
interpreter
* src/interp/i-output.boot fix horizontal fractions
axiom-website
* download.html add mandriva
* download.html add may2009 binaries
input files
* ffdemo.input fix steps 27, 57 due to divisors change
* numbers.input fix random zero failure
* spline.input explain how to compute 2D splines
* tpiezas001.input CATS tests of algebraic identities
* tpiezas002.input CATS tests of algebraic identities

May 30, 2009 Release Notes

Axiom now supports latex chunk syntax in pamphlets, thus
Axiom pamphlets can now be pure latex.
Axiom can now read pamphlet files and extract latex chunks directly.
All input files were converted to the new format.
This change has several long term implications. Once all of the
pamphlet files are pure latex we no longer need the NOWEAVE function.
Once Axiom can read all of its input formats, that is, )read and )compile
work directly on their pamphlet forms we will no longer need NOTANGLE.
At that point, we no longer need noweb.
This release sees the introduction of new domains and packages
as well as more documentation. The original Jenks books has been
modified to include new documentation, more help files were added,
and the )d op function documentation was expanded.
More effort has been applied to collecting interpreter and compiler
code into literate form in book volume 5.
A new effort to collect the compiler code into book volume 9 started.
The compiler was modified (by Waldek) to allow +-> in place of #1 syntax.
This conversion is nearly complete, with only a few packages remaining
to be converted. Lisp code to regression check the algebra changes was
written so the generated algebra is parsed and highlighted.
A method for running Axiom on Windows was developed and documented
on the home page of the website.
Unit testing of interpreter and compiler changes was added to the
regression testing. This will expand in future versions as changes
are made so ensure that things continue to function.
Volume 0: Axiom Jenks and Sutor
Richard Jenks bio was added
Section 9: Examples of Domains and Packages expanded
ApplicationProgramInterface (API)
Dequeue (DEQUEUE)
EuclideanGroebnerBasisPackage
GeneralDistributedMultivariatePolynomial
GroebnerPackage
HomogeneousDistributedMultivariatePolynomial
NottinghamGroup
Permutation
RealSolvePackage
TwoDimensionalViewport
Cross references were fixed
More spelling typo fixes
Volume 4: Axiom Developers Guide
A section was added explaining how to find anonymous function signatures
Volume 5: Axiom Interpreter
Michael Becker was added to the credit list
)set debug is now a new top level command to collect all of
the developer-level commands to enable/disable internal messages
and tracing functions.
\defunsec macro was added to handle section titles with docstrings
More interpreter code was moved from other files into this book
All regression test numbering was fixed to conform to the new,
stronger regression test. Thus --S requires the "of NN" phrase
or a FAILED message will be raised.
The compiler root was moved to volume 9: Axiom Compiler
Volume 7: Axiom Hyperdoc
Fixup verbatim breakage
Volume 7.1: Axiom Hyperdoc Pages
Update What's New for March 2009
Volume 9: Axiom Compiler
The compiler code is being collected from other parts of the
system into this book. In particular,
The root functions for the compiler were added
The top level loop code of the compiler was added
The next layer of compiler code was added
Volume 10.2: Axiom Algebra Categories
There was a general change to allow +-> syntax in algebra and
this was made to all existing categories
MatrixCategory now has regression test cases, a help page,
and )d op function examples
Document binomial category
Volume 10.3: Axiom Algebra Domains
There was a general change to allow +-> syntax in algebra and
this was made to all existing domains
SparseMultivariateTaylorSeries now has regression test cases, a help page,
and )d op function examples
Permutation now has regression test cases, a help page,
and )d op function examples
The regression tests now conform to the new, stronger
regression test requirements
Volume 10.4: Axiom Algebra Packages
There was a general change to allow +-> syntax in algebra and
this was made to some existing packages. There is more to be done.
Bezier package was added, including regression test cases, a help page,
and )d op function examples
CombiniatorialFunction now has regression test cases, a help page,
and )d op function examples
ElementaryFunction now has regression test cases, a help page,
and )d op function examples
IntegerCombinatoricFunctions now has regression test cases, a help page,
and )d op function examples
LazardSetSolvingPackage now has regression test cases, a help page,
and )d op function examples
The regression tests now conform to the new, stronger
regression test requirements
Volume 12: Axiom Crystal
Add Gelernter's observations on Layout and Linking
Bug fixes
7191: set *system-directory* dynamically (20090413.03.tpd.patch)
7192: )edit now works because SPADEDIT added (20090414.02.tpd.patch)
7197: fix hyperdoc/graphics failure (20090530.01.tpd.patch)
Makefile changes
Top Level Makfile
The BOOKS environment shell variable was added to ENV
Makefile.slackware chunk exists
Makefile reports regression failures after builds
lsp/Makefile
Build tangle into the lisp image
src/Makefile
Copy bookvol9, the compiler, to src/interp at build time
src/algebra/Makefile
Add Bezier package
Add LazardSetSolvingPackage.help
Add MatrixCategory.input, .help
Add help, regress for ElementaryFunction
Add input, help, examples for SparseMultivariateTaylorSeries
Fix LazardSetSolvingPackage typo
Move egrep to grep -E since egrep might not be installed
Move help to bookvol5
src/doc/Makefile
Move help to bookvol5
src/input/Makefile
Add FRAC regression test
Add unittest* files for regression testing non-algebra changes
Change input files to latex tangle
Fix regress format to conform to the new, improved regression testing
src/interp/Makefile
Build bookvol9, the compiler from book sources
The old gclweb code was rewritten into tangle.lisp, gclweb was removed
Move help to bookvol5
More interpreter code was moved to bookvol5, the interpreter
Debugsys has been updated to stop loading deleted files
Several files were merged, rewritten, and removed:
apply.boot, bootlex.lisp, comp.lisp, compiler.boot, cstream.boot,
def.lisp, i-util.boot, incl.boot, int-top.boot, metalex.lisp,
nci.lisp, parse.boot, parsing.lisp, postpar.boot, preparse.lisp,
server.boot, setq.lisp, sockio.lisp, spad.lisp, spaderror.lisp,
util.lisp, vmlisp.lisp
faq
faq 50: Cannot find libXpm.a
readme
Add Michael Becker to credit list
books/
tangle.lisp lisp version of tangle command
ps/v71mar2009.ps hypertex march 2009 release notes pic
ps/v71releasenotes.ps hypertex what's new page pic
src/interp
Rewrite apply.boot to apply.lisp
Regression tests, regress.lisp, now checks for the "of NN" phrase
src/algebra
Add Bezier package to exposed.lsp
src/axiom-website
Add March 2009 column
Add slackware column
Axiom on Windows as html instructions
Add March release notes
Add binaries
src/doc/
Add chunk environment to axiom.sty
Old book sources were removed
The spadhelp file was removed and added to the interpreter book
src/input/
All of the .input files were modified to use latex tangle
src/scripts/tex/
axiom.sty contains new latex macros
zips
Old GCL versions were removed
gcl-2.6.8pre.tgz removed
gcl-2.6.7.tgz removed

March 24, 2009 Release Notes

There were two major changes in this release.
First is the completion of the first phase of Book Volume 10.4: Axiom
Packages, which collects all of the packages into one document. The
side effect is to remove almost all of the remaining algebra files
leaving src/algebra nearly empty.
Second is the start of Book Volume 5: Axiom Interpreter which will
consolidate all of the interpreter functions and document them in
book form. A side effect of this consolidation will be the ultimate
removal of all boot code, with the further side effect of removing
bootsys from the build step and boot translation time.
While consolidating the interpreter code a parallel effort will be
ongoing to build Book Volume 9: Axiom Compiler. The idea is to split
the compiler code from the interpreter code so the compiler can be
documented and upgraded.
Book Volume 0: Axiom Jenks book
Add )include documentation
The original book did not document the )include command. This is
now documented.
Add UnivariateSkewPolynomial
This domain was added to the domain examples
Book Volume 4: Axiom Developers Guide
Hyperdoc
A Hyperdoc tutorial on making new pages was written
A tutorial on spadhelp was added
Book Volume 5: Axiom Interpreter
Command Handling
The top level commands that start with open parenthesis are all
kept in the $setOptions data structure. This structure was documented.
Each command has a handler routine which was integrated with the
structure in the proper place.
New latex macros
The \defun and \defmacro macros were added to ensure that
there is a uniform handling of subsections and cross references
for all functions and macros.
The \defdollar macro was added to handle $foo variables in
both index and cross reference.
The \cmdhead macro was added to provide uniform handling of
each of the top level commands in the $setOptions data structure
Unit testing
To ensure that changes did not break behavior two new regression
test routines were added, unittest1 and setcmd. These test the
top level command behavior.
Trace functions added
The trace.boot code was added.
Book Volume 7: Axiom Hyperdoc
Documentation
Add Scott Morrison's original hypertex plan notes
Book Volume 10.1: Axiom Algebra Theory
Documentation
Add tutorial chapter on Singular Value Decomposition
Book Volume 10.3 Axiom Domains
Algebra fixes
Johannes Grabmeier fixed the outputFixed behavior in Float.
A regression test chunk was added to the Float domain.
UnivariateSkewPolynomial was documented. A regression test,
help file, and examples were added.
Heap was documented. A regression test, help file, and
examples were added.
Dequeue was documented. A regression test, help file, and
examples were added.
Queue was documented. A regression test, help file, and
examples were added.
ArrayStack was documented. A regression test, help file, and
examples were added.
Stack was documented. A regression test, help file, and
examples were added.
NottinghamGroup was added, including regression and help files.
Originally written by Martin Rubey.
Regression tests
The )sys rm now uses the -f flag to force deletion on all
regression test files
Book Volume 10.4 Axiom Packages
New Algebra
All packages were moved into this volume. Almost all of the
remaining algebra files were deleted.
ApplicationProgramInterface (API) was added. It exposes the
Axiom internal functions at the algebra level.
UnivariateSkewPolynomial now has help, input, and examples
Documentation
The nag man pages were added to the related domain documentation
Export lists were added for all packages.
Regression tests
The )sys rm now uses the -f flag to force deletion on all regression
test files.
Boot to Lisp rewrite
Deleted boot files
setvars.boot is gone. The code has been rewritten and added to
book volume 5. The code was rewritten and/or reformatted. All
compile-time warnings were eliminated.
setvart.boot is gone. The code has been rewritten and added to
book volume 5. The code was rewritten and/or reformatted. All
compile-time warnings were eliminated.
trace.boot is gone. The code has been rewritten and added to
book volume 5. The code was rewritten and/or reformatted. All
compile-time warnings were eliminated.
Regression test
cleanup
)set break resume
A subtle bug in regression testing caused by early exit of a
test left some of the regression tests reporting success when
there should have been failure. This was fixed by adding a
)set break resume command to allow Axiom to continue the testing
in the presence of an internal fault.
new
setcmd.input was added to regression test changes to the )set
top level command
unittest1.input was added to regresstion test other top level
commands
dop.input was added to unit test )d op example output
frame.input was added to unit test frame handling
removed
bags.input was distributed among the algebra regression test
files and bags.input was removed.
Bug fixes
Bug 7183. The library handling code was repaired. Functions which do
not exist were removed (e.g. input-libraries). The element values of
the data structure are now pathnames.
Bug 7182. )set mes auto did not indicate the current value.
Bug 7180: )set compiler input add foo triggers a call to open-library
which was a CCL function and no longer implemented. The elements of
the data structure were changed.
Bug 7179. Suprious sensitivity to )abb in documentation caused
breakage because this was assumed to be an )abbreviation command.
Bug 7178. Missing function inspect in ArrayStack
Bug 7177. Missing function map! in ArrayStack
Bug 7176. Missing function parts in ArrayStack
Bug 7175. Missing function map in ArrayStack
Bug 7174. Missing function map! in Stack
Bug 7173. Missing function parts in Stack
Bug 7172. map was missing from Stack(Integer)
Bug 7170: )d op output failure due to X in algebra comments. The X
symbol is now a marker for )d op examples and the use of X in comments
is ambiguous.
Bug 7141: )cd relative does not work
Interpreter (src/interp)
Documentation
document mmCost calculation
Help files
Documentation
The help file list is now dynamically generated from the algebra
books.
readme
Quote
Add Doron Zeilberger quote about builders of CA systems.
Website
Download
Add fedora10 as a supported platform
Add vector as a supported platform
Lisp
New patch
read-char-no-hang was changed by Camm to ignore newlines but
Axiom's browser needs them to be recognized. A patch was added
to back out Camm's change.

January 22, 2009 Release Notes

One major theme of this release was restructuring the system
to move all domains to literate form in book volume 10.3
A second major theme was the first Axiom youtube tutorial video.
Book Volume 0: Axiom Reference
Remove obsolete references to SmallFloat
Book Volume 1: Axiom Tutorial
Remove obsolete references to SmallFloat
Book Volume 4: Axiom Developers Guide
Add section on generating graphviz graphs
Book Volume 7.1: Axiom Hyperdoc
Give a complete path to htadd
Book Volume 10.3 Axiom Domains
All domains have been removed from the algebra subdirectory
and are now in literate form in book volume 10.3. Some
domains include a help file, a regression test suite, and
--X function examples for the )display command. Future work
will extend this set.
Each domain has a fully indexed list of functions exported.
This allows hyperlinked access to functions.
Each domain includes a graph segment that shows the list of
categories, domains, and packages that provide immediate
support in the prior build layer.
Each domain includes a dotabb chunk which contains the
source code necessary to recreate the graph.
Domains which were associated with other domains in the same
original spad file have hyperlinks to connect them.
Book Volume 11: Axiom Browser
Lighten Bayou theme background image
Axiom Website (src/axiom-website)
The axiom website is now under git control.
The source tree is in src/axiom-website in the distribution.
The build order graph exists. It contains a graph of all the
constraints for each level. A line in the graph connects each
category, domain, and package to every category, domain, and
package in the prior layer that is required for the build.
Multilayer constraints are not shown (although the data is
in src/algebra/Makefile chunks) because the graph would be
too complex.
http://axiom-developer.org/axiom-website/hp.svg
The Computer Algebra Test Suite (CATS) has a new test suite
for ordinary differential equations (kamke*)
http://axiom-developer.org/axiom-website/CATS
The Ubuntu download now advises XTerm*metaSendsEscape: true
due to misconfiguration of the meta key in emacs.
http://axiom-developer.org/axiom-website/documentation.html
A new binary for vector linux was added
http://axiom-developer.org/axiom-website/download.html
A new binary for doyen thumbdrive was added
(work by Jose Alfredo Portes)
http://axiom-developer.org/axiom-website/download.html
The screenshots were recreated so the sources would be available.
for matrixinmatrix.jpg, heatequation.jpg, axiomfirefox.jpg
http://axiom-developer.org/axiom-website/screenshots.html
The Axiom Information Sources video page was added, including
a link to the youtube video, a local copy, and the supporting PDF.
http://axiom-developer.org/axiom-website/videos.html
A broken link to Book Volume 0: Axiom Reference was fixed.
Algebra (src/algebra)
All domains were removed from spad files and moved to
Book Volume 10.3 Axiom Domains
The Makefile now contains the information necessary to
construct the build order graph as literate chunks.
The layers were restructured. Files were moved to ensure
that each file was at its lowest possible layer.
The Guess package was added. However, due to nonstandard
package files the guess function does not yet work properly.
These packages are being rewritten.
The Guess package has circular references. A new clique
mechanism was added to the Makefile to handle this.
Automatic regression test files associated with the algebra
sources were reviewed for conforming to regression standards.
integer.spad was reverted to remove an algebra change that
causes a regression (cherry picked from Fricas in 2007)
Interpreter (src/interp)
Tim Lahey added to )credits
Karl Hegbloom added to )credits
htcheck.boot moves util.ht to the mnt/doc directory
setq.lisp no longer had redundant release data information
nrunfast.boot Float has exp : Float -> Float now works
This change was cherry-picked from Fricas.
Testing (src/input)
All regression test files were reviewed and cleaned to
conform to a standard setup.
A parallel build race condition was fixed in the Makefile
xpbwpoly.input was removed as it is now associated with
its source domain and automatically generated.
hyperbolicrules.input was added
Tim Lahey submitted a fix for bugs in schaum17.input
A cherry-picked patch from Fricas in 2007 was removed
because it causes an algebra regression. The regression
test file was corrected.
fixed.input was converted to a regression test file
Build process
The lsp/Makefile was updated for GCL pre3 patches
An ubuntu64 chunk was added as a system target
src/Makefile outputs util.ht before compiles (bug 7146)
books/Makefile uses bash SHELL to fix echo behavior.
The standard sh echo behaves badly.
books/Makefile now has amssymb in preamble for toc.tex
GCL (zips)
Axiom now includes GCL pre3, the latest snapshot of GCL.
This can be chosen as an option for building in the top
level Makefile.pamphlet
The lsp/Makefile was updated for GCL pre3 patches
faq
FAQ 49: How do I get the lastest GCL?
readme
Tim Lahey added
Karl Hegbloom added
The date information for releases was removed as it is
available elsewhere
A John Gorka quote was added:
"What matters the most is what you do for free" -- John Gorka
Wikipedia
http://en.wikipedia.org/wiki/Axiom_computer_algebra_system
Add information about Documentation
Add link to youtube video
http://www.youtube.com/watch?v=CV8y3UrpadY
New screenshots were added
Youtube
Axiom Information Sources video was created and uploaded
http://www.youtube.com/watch?v=CV8y3UrpadY
To date there have been 498 views
Launchpad
Gain administrative access to launchpad.net for Axiom (Page)
https://launchpad.net/axiom

September 23, 2008 Release Notes

Axiom website
The effort here is to improve the support for offline literate
documentation. The primary changes are the inclusion of graphs
and additional book volumes.
*
Contains the new algebra volumes and subvolumes.
*
Contains a "clickable" graph that indexes into the algebra.
Graphviz, PDF, and HTML integration
The effort here is to unify these three technologies in a way
that simplifies the user interface and improves documentation
* Graphviz is used if available but not required
* Algebra graphs are automatically generated at build time
from algebra source files
* Graphviz graphs now properly hyperlink into PDF files allowing
any node in a graph to link to any document page
Book volume 0 (Jenks and Sutor)
*
* replace \over with \frac
Book volume 7.1 (Hyperdoc pages)
The effort here is to create a literate document that contains
all of the "live" pages used in hyperdoc. The PDF is being
constructed so that a user can effectively "browse" the static
hyperdoc pages, which are included, without a running Axiom.
*
* The source for all of the pages is now contained in this book.
* Hyperdoc now fetches the pages directly from the book.
* The hyper page directory and all files are gone.
* Some of the static page images are now inside the PDF
* Pages have href links allowing "in-pdf" navigation of pages
Book volume 10 (Algebra)
The effort here is to create a way to describe and deeply
document the algebra. This volume was split to better handle
the structure of Axiom's information.
* Split into 5 volumes
- 10 Implementation
- 10.1 Theory
- 10.2 Categories
- 10.3 Domains
- 10.4 Packages
Book volume 10.2 (Algebra Categories)
The effort here is to create fully indexed, cross-referenced,
graphical documentation for Axiom categories in a standalone
form. This is a "live" literate document which contains the
actual source code used to build the system.
*
* Contains 60 categories so far
* Has partial graphs for each category
* Has list of exported functions
* Has information about source of functions
* Has index cross reference by function and category
* Has PDF href links so that URLs work:
* Has forward/backward links between categories
* Automatically generates "clickable" graphs:
* Graph clicking automatically opens to the proper source code
New algebra examples (Daly, Tsikas)
The effort here is to create "real time" documentation that
gives the end user an example of how to construct the proper
arguments and call a function. This puts examples into the
system so users don't need to consult other documents.
* )d op someop shows examples of function usage
* about 100 new function examples were added
* new comment syntax added to allow automatic API testing
Input Files
There is a new effort to automatically extract the algebra
examples in order to regression test the user API to the
algebra. In addition there is ongoing test work.
* New input files (Hemmecke, Stumbo, Cyganski, Daly)
bini, biquat, ifthenelse, liu, overload, sqrt3, typetower
* Changed input files (Hemmecke, Stumbo, Cyganski, Daly)
bern, function, linalg, regset, test, tutchap2
Build changes
* graphics does not depend on compress, done at build time
* firefox html pages are now built before tests are run
Algebra changes
* FLAGG (FiniteLinearAggregate) -- removed a duplicate function
Interpreter changes (Page)
* add cost function to bottomUp output

July 23, 2008 Release Notes

The July 2008 release marks the second large-scale change toward a
literate Axiom distribution. The original change was to make every
file into a pamphlet document. This second change draws Axiom into
tighter collections, called books (for obvious reasons).
There is a new "books" directory which contains 14 books, most of
which are new:
bookvol0: The reconstructed Jenks and Sutor book
bookvol1: The published tutorial volume
bookvol2: Users Guide
bookvol3: Programmers Guide
bookvol4: Developers Guide
bookvol5: Interpreter
bookvol6: Command
bookvol7: Hyperdoc
bookvol7.1 Hyperdoc Pages
bookvol8: Graphics
bookvol9: Compiler
bookvol10: Algebra
bookvol11: Browser
bookvol12: Crystal
All of these books now exist. Portions of the current system have
been moved completely into book form (Graphics and Hyperdoc) so
the old files have been removed from the src tree. Both Graphics
and Hyperdoc are now built directly from their book. Work will
follow on other parts of the system.
These books are online at:
There is an interesting side-effect of using literate technology.
Once you combine C and .h files into a single document so that each
file is a separate chunk it becomes obvious that there is no need for
local include files. The lines that read:
#include "foo.h"
become
<>
and get expanded inline. Once you do this it also becomes obvious
that many include files get included multiple times (a clear waste
of disk I/O and preparser time). Further it becomes clear that there
is no need for creating tiny .o files since all of the source can
be combined into one C file using chunks.
These approaches were used to reduce the compile-time overhead
for both the graphics and the hyperdoc functions.
In addition to consolidating the source files for Graphics into
bookvol8 there were several other changes.
* the functions for graphics, that is, viewman, view2d, view3d
and viewalone are now built as single C files.
* the graphics code was reorganized into chapters of related code
* there is the beginnings of documentation
* there is the beginnings of a test suite based on the
CRC Handbook of Curves and Surfaces
* the book is hyperlinked (Bill Page, Frederic Lehobey, Anatoly Raportirenko)
* redundant code was eliminated
* the code is fully indexed
* the src/graph subdirectory is gone
In addition to consolidating the source files for Hyperdoc into
bookvol7 there were several other changes.
* the functions for hyperdoc, that is, spadbuf, ex2ht, htadd, hthits
and hypertex are now built as single C files
* the hyperdoc code was reorganized into chapters of related code
* there is the beginnngs of documentation
* redundant code was eliminated
* scroll wheel handling was added (Gregory Vanuxem)
* the book is hyperlinked (Bill Page, Frederic Lehobey, Anatoly Raportirenko)
* the code is fully indexed
* )hd now works to start or restart Hyperdoc (Jose Alfredo Portes)
* the src/hyper subdirectory is gone
In addition to consolidating the hyperdoc pages into bookvol7.1
there were several other changes:
* the pages are hyperlinked
* new latex macros were written to simplify page handling
* images of hyperdoc pages were added
* forward and backward hyperlinks between pages images works
making it possible to "browse" the hyperdoc pages using only
the single PDF file (Bill Page, Frederic Lehobey, Anatoly Raportirenko)
* the pages are fully indexed
* the src/hyper/pages subdirectory is gone
A combined table of contents PDF is now automatically generated
which covers all of the volumes. This makes it easier to find the
topic of interest.
In addition there were several other changes.
* Some fixes were made for different platforms
In particular, Fedora9 breaks the build and needs work
* The configure script was replaced by instructions
The standard (export AXIOM) works everywhere so the configure
script is useless for guessing.
* the FAQ was updated about git
Since the May 2008 release the primary Gold source code platform
is github. The FAQ was updated to reflect this.
* the FAQ was updated about X11
X11 has moved yet again so more notes are needed
* move axbook to books
The hyperlinked version of Jenks is now built from the books dir
* add Ralf Hemmecke's documentation to ax.boot
* add Monoid multiply to DirectProduct (Ralf Hemmecke)
* add Monoid multiply regression test

May 27, 2008 Release Notes

COMPUTER ALGEBRA TEST SUITE
A large part of the effort for these two months has involved detailed
test cases of Axiom's integration routines against Schaum's Handbook
of Mathematical Formulas. Of the 619 integrals, the detailed results are:
419 Schaums and Axiom agree
137 No closed form solution
60 Cannot simplify
2 Typos found in Schaums
1 Axiom bug
The Axiom bug was in src/algebra/intef.spad.pamphlet. There was a
fix applied to this code for a previously identified bug but the
previous fix was incorrect.
In addition, there were
src/input/danzwill2.input.pamphlet added for the MIT Integration tests
src/inputmapleok.input.pamphlet to fix typos
src/input/kamke1.input.pamphlet had ode97 removed due to running time
src/input/kamke2.input.pamphlet ode104, ode105 removed for running time
DOCUMENTATION
Max Tegmark's 'toe' diagram, src/doc/toe.gif
PORTING
GCLOPTS-CUSTRELOC disable-locbfd for MACOSXPPC

March 25, 2008 Release Notes

Axiom is now available at github, a git-based code repository.
This site will have the Gold version of Axiom, that is, only
code that changes at each two-month release. To get a clone type:
git-clone git://github.com/daly/axiom.git
USER VISIBLE CHANGES
One primary focus of this release has been extending the Firefox
toward being a full Axiom user interface (as opposed to a simple
hyperdoc replacement). The Firefox console page has new, AJAX
based, dropdown menus which are planned to be dynamically updated
to display available functions for the last computed type. This
should make it much easier to find the applicable functions by
category and type. They are currently static in this release.
* Firefox Pages
o Dropdown menus were added to the Axiom console page
o More hyperdoc pages were translated to Firefox/html
o Bitmaps and graphics are now properly handled in pages
o A minor mathml fix was applied (for invisible times)
* Refcard
o An Axiom reference card of Axiom commands was created (src/doc/refcard)
* Examples
o It is often difficult to figure the exact arguments required to call
any given function in Axiom. The )display operation command used to
only show the available modemaps. This command has now been changed.
)display operation foo
now shows examples of function calls for foo.
* Help
o The plot routines have new help files and documentation
PORTING
o Axiom was ported to MAC-OSX
o The binary download page now has binaries for
Ubuntu, OpenSUsE, Redhat9, Redhat72, Debian, MACOSX at
o Binaries for the this release will be available shortly.
INTERNALS
* Compiler changes
o hashtables were used to speed up compiles
* Algebra changes
o There are new special functions, Ei,En,Ei1,Ei2,Ei3,Ei4,Ei5,Ei6
o The prime and BasicSieve functions are faster
o The Brent/Pollard algorithm was documented
o Bad gcd reductions are checked (heugcd regression test file added)
o The plot routines have new help files and documentation
* Makefile changes
o Bi-capital SVN copies are no longer made
* Interpreter changes
o Book Volume 5 has new documentation on the display function
o The display function code has been translated and moved to book volume 5
o PI has a higher internal precision
o Mappings are now properly hashed for Aldor
CATS (Computer Algebra Test Suite)
o The differential equations regression tests are being checked against
Mathematica, Maple, and Maxima. This has happended for the kamke2.input
regression test file and will happen for the other regression tests.
o Complex Gamma, logGamma, and log(Gamma) have additional tests and
documentation.