On Mon, Aug 22, 2022 at 07:57:25PM +0800, Qian Yun wrote:
>
> About "setSimplifyDenomsFlag true", it can make some integrals faster,
> but it can also make many integrals slower (to timeout). I'm not sure
> if this flag makes FriCAS be able to solve more or less.
> (@Waldek, can we hear your opinion?)
ATM setSimplifyDenomsFlag(true) means that we do extra work in
expression arithmetic to remove algebraic irrationalities from
denominators. Removal of irrationalities has its cost, so
computation may be slower. Theoretically, expressions can
grew exponentially due to removal of irrationalities. But
bad cases seem to be rare and in practice cost seem to be
moderate. OTOH without removal of irrationalites common
factors between numerator and denominator can grow without
bound, and this happens in several integration examples
(with removal of irrationalites there may be common factors,
but there are limits).
So at fundamental level default is to have computions which
in favorable cases are faster while setSimplifyDenomsFlag(true)
pays extra overhead to avoid very bad cases.
In case of integration this becomes more complex: integrator
makes decisions based on form of integrand and may take
different code code path depending on setSimplifyDenomsFlag.
Cases where setSimplifyDenomsFlag(true) makes things slower
are borderline bugs: if integrator was smarter it would
probably take better code path.
--
Waldek Hebisch
--
You received this message because you are subscribed to the Google Groups
"FriCAS - computer algebra system" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/fricas-devel/20220822153556.GA16483%40fricas.math.uni.wroc.pl.