On 4/22/07, Daniel Lakeland <dlakelan at street-artists.org> wrote:
> What facilities exist in maxima for defining functions which are
> piecewise, or windowed? What sorts of operations can I do on such
> functions?
It's not too hard to represent such functions, but Maxima knows
very little about them, and telling Maxima the relevant identities
is somewhat laborious.
I've tried handling functions defined piecewise by representing
them with conditional expressions (e.g. if x < 0 then f(x) else g(x))
or suitable combinations of step functions
(e.g. %u(x) * g(x) + (1 - %u(x)) * f(x)). At this point I can't say one
approach is definitely superior.
I guess I would suggest trying to work with conditional expressions,
and define tellsimpafter rules for integrals and stuff like that.
load(boolsimp) makes Maxima somewhat happier with partially-
evaluated conditional expressions.
I'd be glad to help if you can tell me more about the details.
Actually one of my major interests in Maxima development is
support for decision analysis.
best,
Robert