SF[2477795] "assume":problems with fractions or multiples of %pi and %e
Subject: SF[2477795] "assume":problems with fractions or multiples of %pi and %e
From: Robert Dodier
Date: Sat, 10 Jan 2009 15:29:43 -0700
On 1/9/09, Dieter Kaiser <drdieterkaiser at web.de> wrote:
> I think all these problems are not really bugs but a weakness of the
> database and the implemented algorithm which do not support the needed
> functionality.
>
> Because I have problems to understand the code of the database, I have
> no idea how to start to improve the database.
Given that the existing code is incomprehensible, and capable only for
fairly weak inferences, I think we should start over.
To judge by the behavior of the existing assume/is and peeking
at the source code, it appears a partial order of variables is constructed
and inferences are derived from that. It seems like we should be able
to replicate, and extend, the existing functionality pretty easily.
The existing share package fourier_elim might be useful in this context.
Perhaps the author (Barton Willis) can comment on this point.
There is a library QEPCAD which implements the so-called cylindrical
algebraic decomposition. If I understand correctly that subsumes the
assume/is functionality and goes far beyond it. However it is written
in C, and it is pretty large (1000's of lines of code). So I think the only
feasible way to use it is to link it via a foreign function interface.
A stronger assume/is system would greatly benefit many parts of Maxima,
so I think it is certainly worth the effort.
best
Robert Dodier