---------- Forwarded message ---------- From: TimDaly <[EMAIL PROTECTED]> Date: Feb 19, 9:09 pm Subject: Symbolic computation issues To: sci.math.symbolic On Feb 19, 7:14 pm, "K. Jennings" <[EMAIL PROTECTED]> 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 _______________________________________________ Axiom-developer mailing list Axiom-developer@nongnu.org http://lists.nongnu.org/mailman/listinfo/axiom-developer