On Sun, Dec 6, 2020 at 4:59 AM Ralf Hemmecke <[email protected]> wrote: > >> ... > >> ATM our handling of kernel cache is unsound. Basicaly, kernel > >> cache assumes order and in fact there are no consistent order > >> on kernels. > > Why does Kernel need an order at all? >
Ordering for kernels is important from the point of view of the use of simplification and canonical form to determine equality. Most other computational definitions of equality require much greater effort. In general this is undecidable but it is desirable that any method "almost work" in as large and important a subclass of expressions as possible. > Wouldn't it be an option to do kernel caching via XHashTable? > I tried using XHashTable to replace binary search while also maintaining an ordering a few years ago. I did not see any performance benefit. > No, I have no deep insight. It's just a thought. > This problem has a long history and how it is treated in different computer algebra systems is one of those fundamental things that distinguishes them. I think that what Waldek is suggesting amounts to trying to push the problem of defining canonical forms back to where sub-expressions are generated. This sounds like a good strategy to me but obviously not a complete solution. Bill. -- 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/CAC6x94QxZCUOhGenU2A0ZN%2BSiBxJp6i%3Dy%2BwgsRXJkktO-ELA_g%40mail.gmail.com.
