axiom-developer
[Top][All Lists]
Advanced

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

[Axiom-developer] Fwd: Symbolic computation issues


From: TimDaly
Subject: [Axiom-developer] Fwd: Symbolic computation issues
Date: Tue, 19 Feb 2008 18:21:20 -0800 (PST)
User-agent: G2/1.0



---------- Forwarded message ----------
From: TimDaly <address@hidden>
Date: Feb 19, 9:09 pm
Subject: Symbolic computation issues
To: sci.math.symbolic


On Feb 19, 7:14 pm, "K. Jennings" <address@hidden> wrote:



> On Tue, 19 Feb 2008 22:41:43 +0000, rjf wrote:
> > K. Jennings wrote:
> >>        Are all the fundamental issues having to do with symbolic
> >> computation already solved?

> > no, there are many issues remaining to be solved, but their solutions
> > may not be easy to find. And some of the allegedly solved problems are
> > not necessarily solved in a practical sense.  I think a more serious
> > problem is that the issues that ARE being addressed by researchers tend
> > to be ones that are easy to solve and whose solutions are irrelevant to
> > computer algebra systems, in practice.

> >   I am asking because all systems (commercial
> >> ones in particular) seem to be for the most part doing GUI and eye
> >> candy development.

> > I think the same comments could be made if you substituted "automotive
> > engineering" for "symbolic computation".  When sales drives development,
> > you get eye candy.

>         But in the symbolic computation world there are alternatives that
> are not sales-driven. I am not surprised that Maple and Mathematica have
> become huge eye candy boxes around a symbolic computation kernel, but,
> what about, say, Axiom and Maxima? Are they following the same route?

Interesting question. Axiom is clearly not driven by sales. It has
a "30 year horizon" philosophy based on the belief that Computational
Mathematics will continue to be a fundamental and growing science.
But it does raise the question "why the eye candy?".

The short (and short-term) answer is that Axiom needs to have more
documentation in order to be more useful. Axiom has a steep learning
curve for those who are not well versed in strongly typed systems.
Axiom also is very large and has a steep learning curve for
developers,
both computational and mathematical.

If we consider the ordinary user audience, which is probably
mathematicians, it becomes important to strengthen the user-facing
documentation. Users of the system (that is, those who do not develop
code) need to be able to find helpful information quickly and easily.

The focus of effort for this group has involved several pieces of
work.

First, an Axiom Tutorial book (ISBN 1-4116-6597-X) was written and
can be purchased or freely downloaded from
<http://axiom.axiom-developer.org/bookvol1.pdf>. The Axiom
distribution
also includes a free copy of the Jenks and Sutor book.

Second, the hyperdoc browser is being rewritten to use Firefox instead
of a special program (hyperdoc). This makes it easier for the average
user to navigate and makes it possible for the average user to create
their own web pages.

Third, the )help command has been expanded to include explanations
and examples of many domains and packages.

Fourth, the )display operation command is being expanded to include
examples of all of the operations it presents.

Fifth, example files and source files are being re-engineered to be
viewed in the Firefox browser, making it possible to see the research
associated with the algebra algorithms.

In some sense, this all represents "eye candy" but it seems to me
that it serves the needs of the beginning or casual user well.

In the middle term, for the mathematical algorithm developer
Axiom has been modified to keep all of the algebra source code in
literate programming format. Thus, each algebra file is really an
extended latex document (using noweb, from Norman Ramsey) following
Knuth's literate programming idea.

The fundamental problem that most computer algebra systems face is
that the research associated with the algorithms is enshrined in a
library somewhere and is not generally accessible. In addition, the
research rarely shows the algorithmic details; and even if it does
the algorithm implementation will eventually diverge from the
published paper over time.

By making the algebra files literate the middle-term goal is to unite
the research and the implemented algorithm. This has several benefits.
The user can see what the algorithm really does, the student can learn
the details of an implementation, and the mathematician can modify the
algorithm and its associated documentation at the same time.

At the moment this might appear to be "eye candy" but it is vital to
the long term strategy.

In the long term (the 30 year horizon), the goal is to have a fully
literate, fully documented system. Thus, not only is the algebra in
literate program format but the system internals are also in the same
format. Ideally the whole of Axiom will be a readable, literate
treatment of the computer algebra field, like "Lisp In Small Pieces"
or Knuth's "TeX, The Program", both of which combine the actual
source code with a readable document.

Efforts have been ongoing to create a "Literate Journal" or "Live
Journal" that would accept research papers in computational math
written in a literate form. These papers could be "drag-and-drop"ed
to include not only the full text of the research paper but also
the full implementation of the algorithm. Thus, when you attend
ISSAC you can eventually expect to be able to run the algorithm
being presented while you are in the audience of the talk.

There is also an effort to "raise the standard" for published
papers in the computational mathematics area. Some efforts are
underway to try to use the categorical nature of Axiom to
construct proofs of the algorithms. Additionally there have
been some discussions of methods and metrics for bounding the
space and time complexity of algorithms. All of these are very
long term ideas but the machinery is being built to support these
ideas now.

Computational Mathematicians will be able to read details of the
implementation of the mathematics, the interpreter, the compiler,
or any other part of the system in book form. The goal is to make
the system "live", that is, be useful, maintainable, and easy to
modify when all of the current developers have died.

So while there are many outstanding problems in computational
mathematics that it would be really exciting to pursue, it seems
to be fundamentally important to structure Axiom so others can
pursue and distribute their research. In the short term this
looks like "eye candy" but it seems necessary as a basis for
the long term goals.

Tim Daly




reply via email to

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