On Thursday, November 22, 2012 7:37:49 AM UTC, Simon King wrote:

> Bit packed exponents? What does that mean in a path algebra? I thought 
> that monomials (i.e., paths in the quiver) would rather be represented by 
> lists of integers, the integers being the labels of arrows in the quiver.
>

What would be nice is to have a more compact representation where paths (up 
to some maximal length obviously) are represented by a fixed-size memory 
object. Then you could store the exponents of the polynomial linearly, 
without having to hunt through the heap for every monomial. As you know, 
for a commutative ring Singular just stuffs exponents as low/high bits into 
a machine integer. I don't know the best (or even just good) algorithm for 
path algebras, but here is what I'm thinking about:

Really you only need to know the starting point and, sequentially, which 
arrow you are following at each node. The most naive storage scheme would 
be to just save the index of a path in a table of paths up to a 
predetermined maximal length, though that would make composition a painful 
table lookup. And you clearly can't order the paths in the table such that 
composition is addition since composition is non-commutative. But you 
could, for example, store the path info as the lowest x bits of a machine 
integer such that composition is bit-shift and addition.

The endpoint should probably be stored separately since you very often need 
to know whether it matches another path's starting point.

-- 
You received this message because you are subscribed to the Google Groups 
"sage-combinat-devel" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/sage-combinat-devel/-/rEK30cinPWcJ.
To post to this group, send email to sage-combinat-devel@googlegroups.com.
To unsubscribe from this group, send email to 
sage-combinat-devel+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sage-combinat-devel?hl=en.

Reply via email to