On Tue, Feb 07, 2012 at 04:00:23PM -0500, Stavros Macrakis wrote:
> You could certainly do something like
>
> is ( equal( lhs(eq1)-rhs(eq1) , lhs(eq2)-rhs(eq2) ) )
>
> as you suggest, but that does NOT test that the truth-values of the
> equations are the same.
>
> After all, 2*x=0 and x=0 are equivalent equations, but 2*x is not equal to
> x. Logically, what you want is something like
>
> is ( equal( zerop(lhs(eq1)-rhs(eq1)) , zerop(
> lhs(eq2)-rhs(eq2) ) ) )
>
> but Maxima doesn't support any such zerop function.
>
> You could define zerop(q) := signum(q)^2 , which is perfectly correct, but
> the <is> system won't be able to do anything useful with that.
>
> -s
I am quite suprised that this functionality does not exist. I would have
thought that equality equivilence would be a commonly used feature in a
CAS system.
I will raise a feature request and see what the developers say.
Cheers
--
Best Regards
Edd Barrett
http://www.theunixzoo.co.uk