login  home  contents  what's new  discussion  bug reports     help  links  subscribe  changes  refresh  edit

Edit detail for Wish List revision 1 of 2

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

Better Graphics --unknown, Sat, 03 Dec 2005 06:30:35 -0600 reply
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

Wish list
integration with R -- Ed Borasky/znmeb@cesmail.net --znmeb, Mon, 19 Dec 2005 00:29:56 -0600 reply
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.