Bill Page wrote:
> 
> On 5 April 2015 at 17:43, Waldek Hebisch <[email protected]> wrote:
> > ...
> > The discussion is more about equality and builtin simplifications.
> > We could use representation like above for Expression(Integer).
> > But then we would have to provide special code to implement
> > simplifications due to associative law, distributive law, etc.
> >
> 
> I agree that the main point of the discussion is equality. Although
> caching is involved, performance is not the main issue. As I now
> understand it, the point of caching kernels is to dynamically
> establish a set of canonical representatives.

Yes.

> > For Expression(Integer) user expectation is that say 'x*(y + z)'
> > is equal to 'y*x + x*z' and we implement equality so that this
> > is true.
> 
> At the risk of unnecessarily complicating your example which I presume
> was intended to address other issues, I would say that it is not
> accurate to say that "we implement equality so this is true".  In fact
> it is not so easy even to represent 'x*(y+z)' as something of type
> Expression

OK, I was oversimplifying.  One important point it that if we
consider two expressions as equal, then there is no need to
represent differences between them.  We may just store
some standarized version.  In particular we may go to
so called normal form or canonical form.  This is explanined
in chapter 2 of book by J.H. Davenport, Y. Siret, E. Tournier,
"Computer Algebra -- Systems and Algorithms for Algebraic Computation"
which is available at

http://staff.bath.ac.uk/masjhd/masternew.pdf

Also concept of normal and canonical forms is explained
if A = B by Petkovsek, Wilf and Zeilberger.

-- 
                              Waldek Hebisch
[email protected] 

-- 
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 post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/fricas-devel.
For more options, visit https://groups.google.com/d/optout.

Reply via email to