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

Edit detail for RecurrenceRelationOperator revision 2 of 3

1 2 3
Editor: 127.0.0.1
Time: 2007/11/06 21:06:58 GMT-8
Note: copied from axiom-developer

added:


Here is a simple implemention of a recurrence relation operator. It is far from finished, but might serve as a starting point. I experienced the following difficulties:

  • The operator model in Axiom is quite restrictive: all arguments have to be from the same domain. This leads to problems elsewhere, too. I don't think that the following can be justified mathematically:

axiom
sum(k,k=1.0..2.5)
LatexWiki Image(1)
Type: Fraction Polynomial Float
  • dummy variables are only supported in a very limited fashion: for the recurrence relation operator it would be good to have also "dummy operators"...

Things to do:

  • a proper operation analogous to sum, rootOf or the like needs to be written. The operation evalRec is just for a start
  • evalRec needs to be speeded up
  • evalADE doesn't really work concerning evaluation

The pamphlet is [rec.spad.pamphlet]? and the source is [rec.spad]?.

Here is an example:

axiom
)lib RECOP )library cannot find the file RECOP. dummy := new()$Symbol;
Type: Symbol
axiom
f := operator 'f;
Type: BasicOperator?
axiom
eq := f(dummy) - f(dummy - 1) - f(dummy - 2);
Type: Expression Integer
axiom
r:=evalRec(f, dummy, n, n0, eq, [1,1])$RecurrenceOperator(Integer, Expression Integer) Category, domain or package constructor RecurrenceOperator is not available. [eval(r, n0=k) for k in 0..10]
LatexWiki Image(2)
Type: List Polynomial Integer