|
|
last edited 5 years ago by test1 |
1 2 | ||
Editor: test1
Time: 2019/07/02 19:50:08 GMT+0 |
||
Note: |
changed: -This is the AXIOM wishlist, add items and descriptions of stuff that you would -like to see done in AXIOM. This is the old AXIOM wish list, kept for historical reasons.
This is the old AXIOM wish list, kept for historical reasons.
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?
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.
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...
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
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.
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
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
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!
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
.
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.
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.
Another Mathematica Package we would like to have in Axiom
See Axiom Compiler. This is nearly done, except of Bug #219
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.
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).
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.
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.