1 2 | ||

Editor: page
Time: 2007/09/12 00:26:03 GMT-7 |
||

Note: |

changed:- This is the AXIOM wishlist, add items and descriptions of stuff that you would like to see done in AXIOM. - 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? - According to the Free Software Foundation, Scilab is not a free software. See WebSite://www.fsf.org/licenses/license-list.html#NonFreeSoftwareLicense. 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 - <A name="GFUN">gfun</A> 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":DesignIssues#variables page. - <A name="UEXPR">'UEXPR(Symbol, OrderedSet)'</A> 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":WebSite://www.feyncalc.org 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. From unknown Sat Dec 3 06:30:35 -0600 2005 From: unknown Date: Sat, 03 Dec 2005 06:30:35 -0600 Subject: Better Graphics Message-ID: <20051203063035-0600@wiki.axiom-developer.org> 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 From znmeb Mon Dec 19 00:29:56 -0600 2005 From: znmeb Date: Mon, 19 Dec 2005 00:29:56 -0600 Subject: Wish list -- integration with R -- Ed Borasky/znmeb@cesmail.net Message-ID: <20051219002956-0600@wiki.axiom-developer.org> 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.

This is the AXIOM wishlist, add items and descriptions of stuff that you would like to see done in AXIOM.

- 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?

- According to the Free Software Foundation, Scilab is not a free software. See WebSite://www.fsf.org/licenses/license-list.html#NonFreeSoftwareLicense.

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`

domainCurrently,

`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.

**integration with R -- Ed Borasky/znmeb@cesmail.net**--znmeb, Mon, 19 Dec 2005 00:29:56 -0600 reply

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.

Better Graphics--unknown, Sat, 03 Dec 2005 06:30:35 -0600 reply