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:
fricas (1) -> sum(k,
Type: Union(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: fricas )lib RECOP Type: Symbolfricas f := operator 'f; Type: BasicOperator?fricas eq := f(dummy) - f(dummy - 1) - f(dummy - 2); Type: Expression(Integer)fricas r:=evalRec(f, |