axiom-mail
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Axiom-mail] Re: aldor


From: root
Subject: [Axiom-mail] Re: aldor
Date: Fri, 8 Nov 2002 14:49:57 -0500

Dear Prof Bertfried,

Axiom was one of "the big three" (Maple and Mathematica were the other
two) general purpose computer algebra systems.

A small bit of history is needed here to clarify the discussion.
Axiom started at IBM Research as "Scratchpad" in 1971. It has a
language called "Spad". In the 1990s the compiler language was
formalized and a new compiler implemented. One design decision was to
make the new compiler, now called Aldor, a stand-alone program. The
Spad compiler (written in Lisp) and the Aldor compiler (written in C)
are compatible within certain limits dictated by their respective
roles. Aldor code runs inside of the Axiom system.

In the early 90s Axiom was boxed up and sold to the Numerical
Algorithms Group (NAG), a respected scientific software house in
England. They sold Axiom commercially and recently withdrew it from
the market. They have released the source code under a BSD style
license.

The Texexplorer interface was a separate product by one of the
IBM group members. It was added to the Axiom product from NAG.
It is now sold as a product by IBM and was not released as part 
of the Axiom source code per IBM's request. It only ran on the
Windows version of the system as I understand it.

I'm currently the lead person on the Axiom project whose primary
goal is to document, maintain, upgrade and support Axiom for the
next 30 years. (http://savannah.nongnu.org/projects/axiom). A
list of tasks, both present and proposed, is available at:
(http://www.nongnu.org/axiom).

The good Professor Page has volunteered to help with this effort.
Now, back to your comments:

> Bertfried,
> 
> On Friday, November 08, 2002 1:03 PM you wrote:
> > 
> > Dear Prof Page!
> > 
> 
> <grin> It is a very pleasant European honorific title, but
> one to which I am not entitled since I am not currently
> employed as a teacher...
> 
> > thank you once more for your mail about aldor/axiom. I 
> > have downloaded the compiler and tested it for my purpose. 
> 
> I hope that you do not mind that I have copied this reply
> to your message two other people with whom I am currently
> associated in the development of a new open source version
> of AXIOM. They in turn may be aware of some other people
> that share some of your concerns and ambitions.
> 
> As you now know, Aldor is a high level compiler for the
> language that is really a part of AXIOM. AXIOM used to
> be available from NAG with a graphical front end called
> Techexplorer (Techexplorer is now a separate product
> available from IBM but without AXIOM). In this packaging
> Axiom was a competitor to Maple, but for various reasons
> (most of which I am not aware) NAG decided against
> continuing the development.
> 
> The open source version of AXIOM is intended to preserve
> and then continue the enhancement of AXIOM as a fullfledged
> computer algebra system. The intial version of OpenAxiom
> that will be available will have a basic character style
> interface rather like command line Maple.

There is work in progress in cooperation with TeXmacs to make a
tex-like user interface. As TeXmacs works with many other computer
algebra systems I don't anticipate any difficulty making it work
with Axiom. I've sent them parts of the source code so they can
optimize the connection.

> 
> At this point it is not entirely clear to me what the
> long term relationship between Aldor and OpenAxiom will
> be. Perhaps Mike or Tim could comment...

Stephen Watt (www.aldor.org) was the compiler lead on the
Scratchpad project. He is the most qualified to maintain
and extend it. Stephen and I have both stated our goal of
keeping both projects compatible. Aldor code in the system
is in files with the .as suffix, Spad code with the .spad
suffix. This should be transparent to you if you use the
)compile command.

> 
> > However, I have several problems:
> > 
> > -- Indeed I like very much the categorial approach, but
> > its implementation is beyond the ability to use it as a
> > student teaching tool. (OK, but good for research)
> >
> 
> My understanding is that it is the intention of some of
> the people who are currently interested in Axiom to use
> it as a teaching tool for abstract algebra.

There are a large number of people in Europe who have ambitions
to use Axiom as a teaching tool in various courses. The design
of the system and the open source nature of the code will make
it possible to reshape the system to their teaching needs.
Contact Paul Zimmerman <address@hidden> 
for more information on the people interested in a teaching use.

Axiom's great strength has been in research so it is no
surprise that this is where people find it easiest to use.

>  
> > -- We use in Clifford/Bigebra at several very important
> > steps the equation solver of maple. That's tremendously
> > convenient! In aldor itself there is nothing comparable
> > and in the Algebra library (which I am on the way to
> > install) it looks from the documentation as if only very
> > basic solving mechanisms are incorporated. This means
> > that you have to implement your own solver and thats heavy
> > work to do...
> >
> 
> I think you are right, however most of the algorithms for
> more general solution methods (Grobner bases etc.) are well
> known and well documented. I expect that a lot of work will
> be done in this area in a short time once AXIOM becomes
> available.

We are hoping that people will use Axiom to develop their
algorithms and contribute the results back to the project.
This has been true historically. 

>  
> > -- This situation was similar to the state of the art with 
> > GINAC, which I had a look on some time ago.
> > 
> > -- I will see what kind of features are provided by
> > MACSIMA, which went open source too. Colleagues who used
> > MACSYMA reported that it was poor in graphics (no problem
> > for me) but very good in performance.
> > 
> 
> I think that you will find MACSYMA rather like Maple (that's
> both good and bad) - much easier to convert what you have
> already written in Maple, but it lacks the very high level
> object orientation and rigorous type system that is a
> trademark of Axiom. I think that a better, more expressive
> and more "mathematically" or better said, "algebraically"
> compatible language is critical to advanced research
> applications such as yours. I am rather amazed that you
> have accomplished as much as you have with Maple. Some
> times it takes a lot of dedication and hard work to see
> the mathematics in Maple code!

MACSYMA no longer exists as the source code was bought and
has never been heard from again. MAXIMA is a project (originally
done by Bill Schelter) to port the original Department of Energy
code to Common Lisp. (maxima.sourceforge.net)

> 
> >     However, I have learned already now many things from 
> > aldor/AXIOM and the overall sped of an compiled aldor
> > program is amazing and makes me hungry about more :)
> > Perhaps it would be a good idea to see a sort of maple
> > compiler?
> 
> >From Maple 7 on there has been the capability to call
> external programs (written in C or other high level
> language) and to return results to Maple. Maple also
> has the ability to convert Maple procedures to "C"
> code which can then be compiled and called externally.
> Unfortunately this feature is seriously limited in
> the case of algebraically intense applications by the
> limited nature of the native data structures available
> in most other high level languages.
> 
> > I am curious about the maple aldor interface which is
> > announced on the web-page.
> > 
> 
> As far as I know this is only in the research stage. At
> one time a few years ago there was also a project to link
> Maple and Axiom and even very optimistic statements to
> the effect that Axiom would likely be the successor to
> Maple. The problems to solve involve the conversion
> of data structures between these two systems. But it
> should be possible in principle to call an Aldor routine
> from Maple.

Aldor, in stand-alone mode, can call foreign programs. There is an
effort underway to make Axiom's algebra available in this stand-alone
form. (Contact www.aldor.org for further information). Of course,
given that Lisp exists I can't imagine why anyone would write in
C. All the device drivers I need already exist :-)

> 
> Kind Regards,
> Bill Page.

Ultimately, the difference between the Maple, Mathematica, and MAXIMA
computer algebra systems and the Axiom system lies in the design.
Maple, Mathematica, and MAXIMA are all "engineering" systems. They do
whatever it takes to make the answer work. (Thus subtracting two equal
matrices will give an "integer" 0 result). Axiom is a theory-based
system. (Thus subtracting two matrices will give a zero matrix). I
believe that for correctness and scalability you need to have a
guiding theory. These systems are much too complex to check the
details so you have to trust the results. Without theory there is no
guidance about correctness. There has been much talk recently, by the
way, about proving Axiom's algorithms correct.  Let me know if you are
interested in such work and I can put you in touch with the people.

As for teaching purposes Axiom has a much higher learning curve
than the other systems. There is also an effort underway to try
to match Axiom with a "zero-learning curve" front end which should
make it much easier to use for students. Again, let me know if you are
interested in such work and I can put you in touch with the people.

Feel free to send me any questions you have. You might want to
visit the Axiom home page and sign up for the Axiom mailing list
(In spite of the shameless plug).

Tim Daly
address@hidden





reply via email to

[Prev in Thread] Current Thread [Next in Thread]