Am Montag, den 08.06.2009, 03:59 +0200 schrieb Harald Geyer:
> Well, you might introduce a new object without having all
> simplifications in place and it would still be better then returning
> an empty list.
OK, the starting point was that we have no convention for a "NO RESULT"
or "NO SOLUTION" like a divergent integral.
What's about to return an expression like:
(list '($NOOBJECT) (gensym))
This would give:
(%i24) integrate(x,x,0,inf);
defint: The integral is divergent.
(%o24) noobject(?g24049)
When two integrals are involved in an expressions we get:
(%i25) a*integrate(x,x,0,inf)/integrate(x^2,x,0,inf)^b;
defint: The integral is divergent.
defint: The integral is divergent.
(%o25) a*noobject(?g24196)/noobject(?g24343)^b
> Actually what's so special about lists? They are just ((mlist simp) ...).
> You can very well introduce something like
> ((mnan simp) divergent gensym offending_expression).
It is special to the empty list, that it is the standard behavior of
Maxima to simplify an empty list in arithmetic expressions to an empty
list. The empty list is not simplified away. Therefore arithmetic
expressions do not change the result "NO SOLUTION".
> I think this would unify all suggestions we had in this thread so far
> and it should be consistently extendable for inf/minf/und etc.
> Also it might help to implement some kind of nan-arithmetic.
I have already proposed an implementation of infinities as directed
infinities. These are represented by the expression:
((directed_infinity) z), z complex number
We will get
((directed_infinity) 1) --> inf
((directed_infinity) -1) --> minf
((directed_infinity) 0) --> infinity
This concept can be consistently used. I have already done a complete
implementation which give correct results for the arithmetic of directed
infinities.
Dieter Kaiser