Dear developers and users of Maxima,
troubleshooting a program of mine, I have discovered a Maxima's
behaviour which appears inconsistent to me.
There is a strange utilization of integer, real and complex numbers.
Input of the example:
kill(all)$
a: 0.1+%i*0.0;
b: 0.0+%i*0.0;
c: 0.0+%i*0.1;
d: 0.1+%i*0.1;
realpart(b);
realpart(c);
is(realpart(a)=realpart(d));
is(realpart(b)=realpart(c));
is(imagpart(c)=imagpart(d));
is(imagpart(a)=imagpart(b));
exp(%i*0);
exp(%i*0.0);
limit(exp(%i*x),x,0.0,plus);
is(limit(exp(%i*x),x,0.0,plus)=exp(%i*0.0));
build_info();
output of the example:
0.1
0.0
0.1*%i
0.1*%i+0.1
0.0
0
true
false
true
true
1
1.0
1
false
Maxima version: 5.26.0
Maxima build date: 22:48 1/15/2012
Host type: i686-pc-mingw32
Lisp implementation type: GNU Common Lisp (GCL)
Lisp implementation version: GCL 2.6.8
Particularly interesting the tests:
is(realpart(b)=realpart(c))
is(limit(exp(%i*x),x,0.0,plus)=exp(%i*0.0))
both should produce true rather than false.
Any idea about?
Do I improperly/wrongly use Maxima? Is it a Maxima's bug?
Thanks in advance for your support.
Kind Regards
Claudio