Hi Volker,

On 2012-11-22, Volker Braun <vbraun.n...@gmail.com> wrote:
> Using C++ template trickery one could compile multi-int exponents for a 
> range of statically known exponents so that the loop over the exponent 
> machine ints can be unrolled. 

Can you give me a pointer for that trickery? I am not so good in C++.
And actually my plan was to implement it in Cython.

> You could even use variable bit sizes for the different nodes, that is, let 
> n = n(node) depend on the node where you are starting from. 

Which would involve a big overhead when translating it into a list
of arrows. The question is whether that's critical. See below.

> Division just amounts to checking that the bit pattern begins or ends with 
> a particular bit pattern, thats an easy shift/comparison operation.

No. This would only work for testing whether there is some monomial a
such that m=n*a: You would test whether the starting points of m and n
coincide, and whether the bit pattern of m starts with the bit pattern
of n.

Often that's exactly what I need. But half of the time I want to know
whether there are monomials a and b such that m=a*n*b. It is *not* enough
to know that the bit pattern of n is a sub-pattern of the bit pattern of m,
with shift s: You additionally need to test whether the starting point of
n coincides with vertex number s in the path corresponding to m. Hence,
you need to iterate over the initial part of m, which has some overhead
- in particular if you use variable bit sizes.

> This fits nicely with monomials orderings that are first by total degree. 
> Are there any important monomial orderings for path algebras that don't 
> start with total degree?

I don't know what monomial orderings are important to other people
(lexicographic?). I just can speek for myself: In my main application,
I need a degree ordering, and it has to be a *local* ordering. I
wouldn't care whether it is negdeglex or negdegrevlex or something else.

Cheers,
Simon


-- 
You received this message because you are subscribed to the Google Groups 
"sage-combinat-devel" group.
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