I just wonder if there is difference equations support(package) in maxima
Subject: I just wonder if there is difference equations support(package) in maxima
From: Xiang Liu
Date: Mon, 23 Feb 2009 11:05:07 +0800
Thanks a lot. I think the point is that
We could not define a function twice.
Apart form this, you have told me how to define a function in a decent way.
Thanks!
On Sun, Feb 22, 2009 at 8:20 PM, Barton Willis <willisb at unk.edu> wrote:
> -----maxima-bounces at math.utexas.edu wrote: -----
>
> > Can I define my own function which has different number of parameters?
>
> Yes, this is possible. The documentation is under ":=" (not so easy to
> find):
>
> "When the last or only function argument x_n is a list of one element,
> the function defined by := accepts a variable number of
> arguments. Actual arguments are assigned one-to-one to formal
> arguments x_1, ..., x_(n - 1), and any further actual arguments, if
> present, are assigned to x_n as a list."
>
> Example:
>
> (%i27) diff_rec2(exp,i, [n]) := (
> n : if n = [] then 1 else first(n),
> if integerp(n) and n > -1 then (
> while n > 0 do (
> exp : sublis([i = i + 1], exp) - exp,
> n : n - 1),
> exp)
> else funmake('diff_rec2, [exp,i,n]))$
>
> (%i29) diff_rec2(f(x),x,1);
> (%o29) f(x+1)-f(x)
>
> (%i30) diff_rec2(f(x),x,2);
> (%o30) f(x+2)-2*f(x+1)+f(x)
>
> Maybe the function should check that the length of n is 0 or 1:
>
> (%i31) diff_rec2(f(x),x,2,a,b,c);
> (%o31) f(x+2)-2*f(x+1)+f(x)
>
> Barton
>
>