#20445: Iteration through Coxeter groups
-----------------------------+----------------------------
Reporter: stumpc5 | Owner:
Type: enhancement | Status: new
Priority: major | Milestone: sage-7.2
Component: combinatorics | Keywords:
Merged in: | Authors:
Reviewers: | Report Upstream: N/A
Work issues: | Branch:
Commit: | Dependencies:
Stopgaps: |
-----------------------------+----------------------------
The algorithm in chevie is very different from the algorithm we currently
have:
{{{
ForEachElement:=function(W,f)local l,g;
if not IsFinite(W) then Error("only for finite Coxeter groups");
elif W.nbGeneratingReflections=0 then f(W.identity);return;
fi;
l:=List([0..W.nbGeneratingReflections],i->
ReflectionSubgroup(W,W.reflectionsLabels{[1..i]}));
l:=List([1..Length(l)-1],i->ReducedRightCosetRepresentatives(l[i+1],l[i]));
g:=function(x,v)local y;
if Length(v)=0 then f(x);
else for y in v[1] do g(x*y,v{[2..Length(v)]});od;
fi;
end;
g(W.identity,l);
end;
}}}
We should also implement that algorithm (maybe even with hard-coded coset
representatives in the finite case) so that we can see if this is indeed
faster.
--
Ticket URL: <http://trac.sagemath.org/ticket/20445>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica,
and MATLAB
--
You received this message because you are subscribed to the Google Groups
"sage-trac" 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 https://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.