A few years ago, Richard Fateman and I did some experiments in
speeding up Maxima's addition. As an offshoot, I wrote a simplus
function that attempts to do extended real number arithmetic. My code
is /share/contrib/altsimp/altsimp.lisp. To load this file, you'll
have use a full pathname.
Here is a demo that constructs addition and subtraction tables for
some extended real number arithmetic. My code doesn't try to handle
zerob or zeroa, I think. Also, the altsimp code does not handle
multiplication or exponentiation.
The altsimp code might be useful to somebody that takes on the project
of correcting Maxima's extended real number arithmetic. I don't
recommend it for any other use.
There was at least one other effort to correct Maxima's extended real
number arithmetic.
To load, you will need to give a full pathname.
(%i1) load("altsimp.lisp")$
(%i21) er : [1, x, minf,inf,infinity, und, ind]$
(%i22) genmatrix(lambda([i,j], inpart(er,i) + inpart(er,j)),7,7)$
(%i23) addcol(addrow(matrix(["+"]), transpose(er)),cons(er,%));
(%o23) matrix(["+",1,x,-inf,inf,infinity,und,ind],[1,2,x+1,-inf,inf,infinity,und,ind],[x,x+1,2*x,-inf+x,inf+x,infinity+x,und+x,ind+x],[-inf,-inf,-inf+x,-inf,und,infinity,und,-inf],[inf,inf,inf+x,und,inf,infinity,und,inf],[infinity,infinity,infinity+x,infinity,infinity,infinity,und,infinity],[und,und,und+x,und,und,und,und,und],[ind,ind,ind+x,-inf,inf,infinity,und,ind])
(%i24) genmatrix(lambda([i,j], inpart(er,i) - inpart(er,j)),7,7)$
(%i25) addcol(addrow(matrix(["-"]), transpose(er)),cons(er,%));
(%o25) matrix(["-",1,x,-inf,inf,infinity,und,ind],[1,0,1-x,1--inf,1-inf,1-infinity,1-und,1-ind],[x,x-1,0,x--inf,x-inf,x-infinity,x-und,x-ind],[-inf,-inf,-inf-x,-inf--inf,-inf-inf,-inf-infinity,-inf-und,-inf-ind],[inf,inf,inf-x,inf--inf,inf-inf,inf-infinity,inf-und,inf-ind],[infinity,infinity,infinity-x,infinity--inf,infinity-inf,infinity-infinity,infinity-und,infinity-ind],[und,und,und-x,und--inf,und-inf,und-infinity,und-und,und-ind],[ind,ind,ind-x,ind--inf,ind-inf,ind-infinity,ind-und,ind-ind])
--Barton
-----maxima-bounces at math.utexas.edu wrote: -----
>Shouldn't?we?have
>
>inf?+?inf?=?inf?(NOT?2?inf),
>inf?-?inf?=?und?(NOT?0),
>minf?+?minf?=?minf?(NOT?2?minf),
>minf?-?minf?=?und,
>inf?-?minf?=?inf,
>minf?-?inf?=?minf,
>infinity?+?inf?=?infinity?+?minf?=?infinity?+?infinity?=?und,
>infinity?-?inf?=?infinity?-?minf?=?infinity?-?infinity?=?und?