|
This is the old AXIOM wish list, kept for historical reasons.
- numerical integration
Tim Daly wrote that the numerical algorithms library used to be the NAG
library. If you have the NAG library then all that is needed is to finish the
sman (superman) implementation. sman manages socket connections between
processes. The current implementation uses XDR format streams between the
main axiom process and the NAG libs.
For those who don't have the NAG libraries we plan to work toward packages
like Octave, but it will take a while.
Meanwhile, there is an operation romberg , which will suffice in many cases.
An example is provided at NumericalIntegration.
I believe there's a better, faster, more complete choice than Octave. It is called
Scilab, and it was developed by the French INRIA (Institute Nationale De Recherche en
Informatique et Automation, IIRC), and it is in ongoing development, is very complete
(even has a simulation kit). It is also Open Source. Octave pales in comparison as
somewhat of a "toy."
WebSite://scilabsoft.inria.fr/
David Mentré added:
For reference: on scilab.org web site, FAQ section:
Q6. Is Scilab license GPL-compatible?
Q1. What does the Scilab license mean?
- Scilab license allows you to:
- use freely Scilab for non commercial use
- use freely Scilab for commercial use if you do not use it as a derived software (ie
a modified Scilab) or a composite software (ie Scilab included in another software).
- Scilab license forbids you to:
- use a composite or derived version of Scilab for commercial uses without asking
INRIA authorization.
Ed Borasky 2007-07-15:
I would recommend R as a numerical library over either Octave or Scilab. For one thing, the base R language is a better language in the syntactical and semantic sense than Matlab or any of its knockoffs. And second, if you add in the contributed packages and extensions, R has about everything you'd ever need. And for probability and statistics, there's no open source environment that even comes close.
A side benefit of R is that a number of members of the R community are also committed to "literate programming." The base R distribution includes Tangle and Weave functionality independent of noweb, for example.
- Summation related stuff
I think that a general concept is needed in order to fix #212 and to
integrate advanced summation techniques as the Zeilberger algorithm. Maybe
the RISC people could help here...
- Cooperation with mupad-combinat
A group of combinatorialists have implemented and maintain
WebSite://mupad-combinat.sourceforge.net . It would be great to have all that
available in AXIOM, too. There is an introductory article oriented towards
combinatorialists at WebSite://www.mat.univie.ac.at/~slc/wpapers/s51thiery.html
.
Update: As a result of the WorkshopRisc2006?, a (partial) port of
mupad-combinat is currently being worked on by Ralf Hemmecke,
Nicolas Thiery and Martin Rubey. The authors are exploring
different design options, one of these can be studied in SandBoxCombinat.
Update: this project is heading towards completion. For the current state, check out:
svn co svn://svn.risc.uni-linz.ac.at/hemmecke/combinat/trunk
- gfun
Another package which I'd like to see available in AXIOM, this time the
original is done in Maple: WebSite://algo.inria.fr/libraries For my guessing
package, especially the functions listtodiffeq , listtoalgeq and
listtohypergeom would be great.
Update: Some of these are meanwhile implemented in GuessingFormulasForSequences. A zero test for algebraic differential equations is described by Joris van der Hoeven.
- hyp and hypq
If somebody is interested in dealing with hypergeometric series, this is the
(Mathematica) package to port. Extensive documentation at
WebSite://igd.univ-lyon1.fr/~kratt/hyp_hypq/hyp.html
- Indefinite Types
The idea that one should be able to "declare the type" of a
variable in Axiom is a frequent expectation of new users of Axiom.
For example, if we know that x and y are Integers than surely
the symbolic expression x+y must represent an Integer? But this
is not (quite) what is meant by type in Axiom.
For more discussion of this issue see the page Indefinite Types
- a better
EXPR domain Currently, EXPR PF 5 is forbidden in axiom, since PF 5 is not an
OrderedSet . There have been some requests and discussion about this:
WebSite://lists.gnu.org/archive/html/axiom-mail/2004-01/msg00025.html and parts
of the thread
WebSite://lists.gnu.org/archive/html/axiom-developer/2004-06/msg00087.html If
you are interested, look at finite field expressions!
- semantics of
UP(x, EXPR INT) . There are some problems with domains like UP(x, EXPR INT) . For example,
currently 1/x is a valid member of this domain! Two possible ways out, also
giving well defined semantics to EXPR POLY INT is discussed on the
DesignIssues page.
UEXPR(Symbol, OrderedSet) Introduce a new domain UEXPR(Symbol, OrderedSet) that would be to EXPR
OrderedSet as UP(x, Ring) is to POLY Ring .
- Solving inequalities
In Mathematica there is a command InequalitySolve?[expr, vars]?, which gives
the solution set of an expression containing logical connectives and
polynomial equations and inequalities in the variables vars.
The thing works using something called CylindricalDecomposition?, which you
can read about in
WebSite://www.risc.uni-linz.ac.at/cain/virtual_library/QE/main/main.html
There is one thing I dislike about the Mathematica Implementation: It does
not return a proof, which should be possible, I think.
It seems that this has got something to do with Renaud's RealClosure
package...
Update: Meanwhile Renaud provided his CylindricalAlgebraicDecomposition package,
which solves this item partially.
- Multivariate Resultants
This is something I'd need to finish my guessing package. More information is
available in the thread
WebSite://lists.gnu.org/archive/html/axiom-math/2004-07/msg00002.html .
Update: It seems that Multivariate Resultants are not appropriate to my
problem, so it's pretty low priority now.
- FeynCalc?
Another Mathematica Package we would like to have in Axiom
- reintegration of Aldor as alternative compiler
See Axiom Compiler. This is nearly done, except of Bug #219
- A solver for recurrence relations
Update: To get things started, I implemented an operator that represents recurrences.
Look at RecurrenceRelationOperator. This should be integrated into a proper hierarchy including rational functions, algebraic functions, holonomic functions and differentially algebraic functions, on one hand, linear recurrences with constant coefficients, linear recurrences with polynomial coefficients, "ordinary" recurrences on the other hand.
- Really good graphics/plotting/visualization.
Graphics should be programmable, interactive, suitable for publication. Mathematica
gained much of its popularity because it was early to get the visualization right
(almost, at least).
- Limits
This item relates to Bug #234. The LIMITPS package is outdated. We should implement
the MRV algorithm described in
"On Computing Limits in a Symbolic Manipulation System, Dominik Gruntz. ETH Diss 11432, 1996."
which can be obtained from
WebSite://www.cs.fh-aargau.ch/~gruntz/publications2.html
Somehow sad, since the algorithm in Axiom is quite elaborate, while Gruntz's
algorithm seems to be much shorter. It is in fact implemented in MuPAD?.
Anyway, to make limits more complete than that, one needs Indefinite Rational Summation, there is a ginac-Implementation, read about it at WebSite://www.ark.in-berlin.de/rsum.ps It doesn't have irrational solutions (via polylog terms) implemented but this should be not difficult. See esp. the Pirastu references which were online in Austria at some time.
Rotating a 3d graph is not easy with mouse. I need to keep the the mouse button pressed till I get the current viewing angle.
MuPad ? 3.1 for Windows has very good and intuitive graphics
- While we're on the subject of numerical packages, I do nearly all of my number crunching in R. I'd like to be able to access some kind of symbolic package from R, although I'm not sure yet what sort of interface I'd use. At the moment, the most promising way to add symbolic capabilities to R seems to be using the R facilities for calling C++ code to call the open source Ginac library.
Going the other way, calling a number crunching package from Axiom, seems un-necessary, but given a choice between SciLab?, Octave and R, I'd take R hands-down! As noted above, SciLab? is not truly open source/free as in speech, and Octave isn't well supported. R is both open source and well supported.
|