posible bug - clashing variable names in integrals
Subject: posible bug - clashing variable names in integrals
From: Leo Butler
Date: Sat, 3 Oct 2009 16:24:20 +0100 (BST)
On Sat, 3 Oct 2009, Nathaniel Virgo wrote:
< Ok, sorry, yes, I think I understand this now. So it's not a bug per se
< that 'is' returns 'false' in that situation.
<
< It is, however, still annoying that it doesn't treat integrate(f(x),x,a,b)
< in exactly the same way as integrate(f(y),y,a,b). It should do because x
< and y are bound variables in those expressions, so their name should not
< make any difference in any situation. This difference in the way it treats
< these two expressions is likely to be a problem for a lot of the things I
< wanted to use Maxima for.
Again, in integrate, there is no such thing as a bound variable, because
Maxima integrates an expression. What you are calling a bound variable
may already appear elsewhere in your expression (as in the example I
gave).
Incidentally, for the same reason, I believe that the behaviours that
Barton described with sum and lambda are incorrect.
Would 'changevar' be of any help for you? e.g.
(%i85) A: integrate(f(x),x,a,b);
(%o85) 'integrate(f(x),x,a,b)
(%i86) B: integrate(f(y),y,a,b);
(%o86) 'integrate(f(y),y,a,b)
(%i87) B: changevar(B,part(B,2)-part(A,2),part(A,2),part(B,2));
(%o87) 'integrate(f(x),x,a,b)
(%i88) is(equal(A,B));
Maybe 'equal' sh/could be extended by adding an option that allows the user
to say that variables of integration/summation, etc. should be
treated as bound variables.
Leo
--
The University of Edinburgh is a charitable body, registered in
Scotland, with registration number SC005336.