bug in is()?



No, is(equal(A,B)) compares for equality of *value*, while is(A=B) compares
for equality of *form*.

Some examples:

(%i25) apply('matrix,makelist([is(i[1]=i[2]),is(equal(i[1],i[2])),
i[1],i[2]],
             i,
             [[1,1.0],
              [.5,1/2],
              [(x-1)/x,1-1/x],
              [(x-1)*(x+1),x^2-1],
              [x,rat(x)],
              [1+x,taylor(1+x,x,0,3)],
              [1+x,taylor(1+x,x,1,3)]]));

(%o25) matrix([false,true,1,1.0],
              [false,true,0.5,1/2],
              [false,true,(x-1)/x,1-1/x],
              [false,true,(x-1)*(x+1),x^2-1],
              [true,true,x,x],                  << rat(x) is first
ratdisrep'ed
              [true,true,x+1,1+x],              << taylor(x,...) is first
ratdisrep'ed
              [true,true,x+1,2+(x-1)])          << general simplifier
converts 2+(x-1) to x+1 after ratdisrep

On Sun, Jan 8, 2012 at 14:08, Jan Hendrik M?ller <
jan.mueller at math.uni-dortmund.de> wrote:

> Hi,
> the commands is() and is(equal()) evaluate differently:
> expand((x+1)*(x+2)*(x+3));
> -> x^3+6*x^2+11*x+6
> is(equal(x^3+6*x^2+11*x+6,(x+**1)*(x+2)*(x+3)));
> -> true
> is(x^3+6*x^2+11*x+6=(x+1)*(x+**2)*(x+3));
> -> false
> is this a bug in is()?
> Jan
>
> _______________________________________________
> Maxima mailing list
> Maxima at math.utexas.edu
> http://www.math.utexas.edu/mailman/listinfo/maxima
>
>