Currently FriCAS has very poor performance on some algebraic
integrals (computations may easily take more than a month on some
simlply-looking exmaples).  I have tracked the reason for this: there
is enormous growth of size of intermediate expressions.  FriCAS
always tries to simplify expressions by canceling common factors
between numerator and denominator.  But this does not work
for algebraic quantities: FriCAS computes GCD without taking
into account algebraic relations and to find simplifiaction
one must use the relations.

I have now code which mostly avoids this problem: it moves
all algebraics into numerator and then normal GCD is enough
to remove common factors.  But approach has its own problems:
many expression get bigger after moving algebraics into
numerator and moving algebraics into numerator may be quite
time consuming too.  The effect is that with new code FriCAS
can do in few seconds the nasty examples that would otherwise
take weeks or months or run out of memory.  But on average
FriCAS got slower (probably about two times slower) and there
is an example which works well with old code but did not finish
in few hours with new one.

Given that I do not think that new code can replace the old
one.  OTOH the new code allows to compute some things which
are practically impossible to do with current one.  One
possible way is to include new code but have a flag so that
it is active only when the flag is set (and have the flag off
by default).  I must admit that introducing such flag looks
somewhat unattractive to me: currently FriCAS has almost no
flags which affect results of computation (the only one which
I can recall is precision setting for Float), so we normally
get the same results when we repeat calculations.  Flags
means that in principle we may get different result for each
possible setting.  This means burden for user (which flags to
use?) and problem for testing (already with few flags testing
all combinations becames impractical).  ATM I am undecided
on this issue -- any comments/opinions welcame.

-- 
                              Waldek Hebisch
[email protected] 

-- 
You received this message because you are subscribed to the Google Groups 
"FriCAS - computer algebra system" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/fricas-devel?hl=en.

Reply via email to