- sage.groups.perm_gps.all
- sage.groups.perm_gps.cubegroup: Rubik's cube group functions
\label{sec:rubik}
NOTE: ``Rubik's cube'' is trademarked.
- sage.groups.perm_gps.permgroup: Permutation groups
A {\it permutation group} is a finite group G whose elements are permutations
of a given finite set X (i.e., bijections X --> X) and whose group operation is
the composition of permutations.
- sage.groups.perm_gps.permgroup_element: File: sage/groups/perm_gps/permgroup_element.pyx (starting at line 1)
Permutation group elements
AUTHORS:
- David Joyner (2006-02)
- David Joyner (2006-03), word problem method and reorganization
- Robert Bradshaw (2007-11), convert to Cython
EXAMPLES:
The Rubik's cube group:
sage: f= [(17,19,24,22),(18,21,23,20),(6,25,43,16),(7,28,42,13),(8,30,41,11)]
sage: b=[(33,35,40,38),(34,37,39,36),( 3, 9,46,32),( 2,12,47,29),( 1,14,48,27)]
sage: l=[( 9,11,16,14),(10,13,15,12),( 1,17,41,40),( 4,20,44,37),( 6,22,46,35)]
sage: r=[(25,27,32,30),(26,29,31,28),( 3,38,43,19),( 5,36,45,21),( 8,33,48,24)]
sage: u=[( 1, 3, 8, 6),( 2, 5, 7, 4),( 9,33,25,17),(10,34,26,18),(11,35,27,19)]
sage: d=[(41,43,48,46),(42,45,47,44),(14,22,30,38),(15,23,31,39),(16,24,32,40)]
sage: cube = PermutationGroup([f,b,l,r,u,d])
sage: F=cube.gens()[0]
sage: B=cube.gens()[1]
sage: L=cube.gens()[2]
sage: R=cube.gens()[3]
sage: U=cube.gens()[4]
sage: D=cube.gens()[5]
sage: cube.order()
43252003274489856000
sage: F.order()
4
The interested user may wish to explore the following commands:
move = cube.random_element() and time word_problem([F,B,L,R,U,D], move, False).
- sage.groups.perm_gps.permgroup_morphism: Permutation group homomorphisms
AUTHOR:
- David Joyner (2006-03-21): first version
- David Joyner (2008-06): fixed kernel and image to return a group,
instead of a string.
- sage.groups.perm_gps.permgroup_named: "Named" Permutation groups (such as the symmetric group, S_n)
You can construct the following permutation groups:
-- SymmetricGroup, $S_n$ of order $n!$ (n can also be a list $X$ of distinct
positive integers, in which case it returns $S_X$)
-- AlternatingGroup, $A_n$ or order $n!/2$ (n can also be a list $X$
of distinct positive integers, in which case it returns
$A_X$)
-- DihedralGroup, $D_n$ of order $2n$
-- CyclicPermutationGroup, $C_n$ of order $n$
-- TransitiveGroup, $i^{th}$ transitive group of degree $n$
from the GAP tables of transitive groups (requires
the "optional" package database_gap)
-- MathieuGroup(degree), Mathieu group of degree 9, 10, 11, 12, 21, 22, 23, or 24.
|