inf - inf = 0 ??



Right now (testing with 5.21.0 and the current CVS), we have

(%i3) limit(2/x-1/x,x,0);
(%o3)                              infinity

but

(%i6) limit(2/x,x,0)-limit(1/x,x,0);
(%o6)                                  0

That just does not smell right.

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?

Multiplication can also be a problem; e.g., we have

(%i12) infinity/infinity;
(%o12)                                 1

but

(%i13) limit(infinity/inf,x,0);
(%o13)                             infinity

but in both cases, I think und would be the only valid answer.

On the other hand, I realize that some simplifications may (for better or
for worse) rely on the current behavior.

Also, I noticed that the example for und (type ? und) is one that actually
yields infinity.


Viktor


-----Original Message-----
From: maxima-bounces at math.utexas.edu [mailto:maxima-bounces at math.utexas.edu]
On Behalf Of Richard Fateman
Sent: Tuesday, September 07, 2010 5:29 PM
To: Jean Pellegri; maxima List
Subject: Re: [Maxima] inf - inf = 0 ??

On 9/7/2010 1:49 PM, Jean Pellegri wrote: 

	Salut 

	 

	Maxima says : 

	 

	(%i)   inf - inf;

	 

	(%o)  0 

	 

	This is obviously incorrect

	 
	


not if they are the SAME inf.   e.g.  limit(x-x,x,inf).

More seriously, what would you like to see?   There are various proposals,
e.g.
here's one.

each use of inf is labeled.   then inf[1]-inf[2]    is different from
inf[1]-inf[1].

With interval arithmetic, you have similar problems.  e.g.  if  -1<x<1  is
represented by interval(-1,1),
what is interval(-1,1) - interval(-1,1)?   maxima says zero, but it should
be interval(-2,2).

unless they are the SAME interval.

RJF