On Sept. 11, '08, Raymond Toy wrote:
>
> FWIW, here is what is happening. integrate eventually decides that the
> antiderivative should be computed and the limits substituted. Maxima
> tries to be careful with the limits by calling sin-cos-intsubs1. This
> splits the integrand into numerator and denominator. The limits are
> substituted into the numerator and evaluates to zero because we have
> expressions like sin(2*%pi*n), which is zero from the declaration on n.
>
> Since the numerator is 0, we check the denominator. Maxima can't tell
> if the denominator is 0 or not, so it asks. You respond with zero, so
> we know that we have the form 0/0. Hence it returns undefined.
>
> Now suppose we respond with pos instead of zero. Well, the denominator
> is no longer 0, so the answer is then 0.
>
> Anyway, that's why maxima returns undefined or 0 for this integrand. I
> can't think of any way to fix this.
>
> Ray
>
Thank you for explaining how "indefinite" gets produced.
There is no reason Maxima should know that I am concerned
about a special relationship between parameters in the
integral, and presenting Maxima with that kind of
expectation is unreasonable unless there was a
Maxima function that explored all possible parameter
relations, and gave the value of the integral
corresponding to each separate relation.
The analogy to Mathematica's Reduce[ ] function which is
a harder working substitute for Mma's Solve[..] function,
and which produces a different solution of a set of
equations depending on the parameter values and
relations is probably what I have been thinking
could be developed for Maxima's integrate(..)
function, with some output:
m != n && n != 0 && m != 0 && <integral value> | |
m = n && n != 0 && m != 0 && <another integral value> | |
etc.
Ted Woollett