Am Sonntag, den 06.12.2009, 12:48 -0800 schrieb Richard Fateman:
> Dieter Kaiser wrote
>
> ...
>
> > I have done it this way, to avoid to look every time into
> > the nested lists of an expression.
> >
> >
> That is a big help.
>
> Here are some more possible approaches:
>
> simplus and simptimes can be given expressions which have, at the
> top-level, many expressions. (Consider a dense polynomial of degree
> 10,000).
>
> If the subexpressions are sorted, and in the sorting order all the
> special cases of inf, infinity, und, etc. come out at the front, then
> it may be
> faster to find them.
>
> Also, intersection may not the be right program, since all you need to
> know is "is the intersection empty". Intersection keeps on looking,
> even after
> the intersection is known to be non-nil. That is, it will look all the
> way to the end.
Yes, the function intersection might be not the right way to implement
the algorithm. As written at this time I am interested in a working
algorithm.
I have tried several attempts to overcome the problems, because of the
missing handling of infinities. This way is the first which works well
with the whole core code of Maxima. A lot of problems might vanish or
work more correct.
I have done a first test to check the time needed for the extra
overhead. I develop Maxima on a (slow) notebook with CLISP 2.44, Ubuntu
9.10, 1800 MHZ, and 355 MB Ram. The realtime and runtime are increased
about 0,7% with the code to simplify the infinities when I run the
testsuite.
Dieter Kaiser