integrate returns undefined



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