permgp1 http://www.openmath.org/cd http://www.openmath.org/cd/permgp1.ocd 2004-06-01 2 1 experimental A CD of functions for permutation groups First version written by A. Solomon 1998-11-19. Modified by David Carlisle 1999-04-28. Rebuilt by Arjeh M. Cohen 2002-12-16. group This symbol represents an n-ary function. The first argument is a group operation (usually, left_compose or right_compose), the other n-1 arguments represent permutations. When evaluated on such arguments, the function represents the permutation group generated by the last n-1 arguments. The permutation group generated by (1,5,4)(2,6) and (1,4,5)(3,6) 1 5 4 2 6 3 6 1 4 5 support This represents a unary function whose argument should be a permutation group. When evaluated at a permutation group G, it is the set of points which are moved a member of G. The following expression evaluates to the set {1,2,3,4,5,6}. 1 5 4 2 6 3 6 1 4 5 generators This is a function with one argument, which should be a permutation group. When evaluated with argument G it returns the list of permutations which occur in the definition of G. The following expression evaluates to the list of permutations [(1,5,4)(2,6),(3,6)(1,4,5)]. 1 5 4 2 6 3 6 1 4 5 2 orbit The binary function whose first argument should be a permutation group G. If the second argument is an element of the support of G, the value is the orbit of the second argument under the action of G. Otherwise, it is the singleton consisting of the second argument. The following expression evaluates to the set {2,3,6}. 1 5 4 2 6 3 6 1 4 5 2 stabilizer This is an n-ary function with n at least 2. The first argument is a permutation group G, the other arguments are elements x_2,x_3,...,x_n upon which G acts. The value is the subgroup of G consisting of all permutations which stabilize each of x_2,x_3,...,x_n. The following expression stands for the stabilizer of 1 and 2 in the permutation group generated by the permutations (1,5,4)(2,6) and (3,6)(1,4,5). 1 5 4 2 6 3 6 1 4 5 1 2 is_transitive This is a Boolean function with one argument, which should be a permutation group. When evaluated at a permutation group G, it returns the value true if and only if the permutation group argument acts transitively on the support of G. The following boolean value is false. 1 5 4 2 6 3 6 1 4 5 orbits This is a function with one argument, which should be a permutation group. When evaluated at a permutation group G, it returns the set of all orbits of G on elements from the support of G. The following expression evaluates to the list of sets [{2,3,6},{1,4,5}]. 1 5 4 2 6 3 6 1 4 5 is_primitive The unary function with one argument, which should be a permutation group. Its value is true if and only if G acts primitively on the support of G. This means that there is no proper subset B of the support of G with more than one element such that the image of B under an element of G meets B in a proper nonempty subset of B. The following expression evaluates to the boolean true. 1 5 4 3 2 6 3 6 1 4 5 2 schreier_tree This is a function with two arguments. The first argument should be a permutation group G, the second argument a point x permuted by G. When evaluated at G and x, it returns a list of three lists X,V,B. The first list, X, enumerates the points of the G-orbit of x. The second list and the third list both have the same length as X, say n. The second list represents a map V from [1,...,n] to {-m,...,-1,0,1,...,m}, where m is the number of generators of G, and the third list represents a map B from [1,...,n] to X. These maps satisfy the following properties: X(1) = B(1) = x. Moreover, V(i) = 0 if and only if i = 1. For each index i distinct from 1, the value B(i) is equal to X(j) for some index j smaller than i. If V(i) is positive, then X(i) is the image of B(i) under the V(i)-th generator of G. If V(i) is negative, then B(i) is the image of X(i) under the (-V(i))-th generator of G. The following expression represents a Schreier tree. 1 5 4 3 2 6 3 6 1 4 5 2 4 base This is a function with one argument, which should be a permutation group. When evaluated with argument G it returns a list of points permuted by G such that the stabilizer of all elements of the list in G is trivial. Besides, the list is minimal with respect to the latter property (in the sense that the stabilizer in G of the elements of no proper subset is trivial). The following expression represents a base. 1 5 4 2 6 3 6 1 4 5 order This is a function with one argument, which should be a permutation group. When evaluated with argument G it returns the size of the group G. The following expression evaluates to 18. 1 5 4 2 6 3 6 1 4 5 is_in This is a Boolean function with two arguments. The first argument should be a permutation, the second a permutation group. When evaluated with first argument x and second argument G, it returns true if and only if x belongs to G. The following expression evaluates to the boolean false. 1 2 1 5 4 2 6 3 6 1 4 5 is_subgroup This is a Boolean function with two arguments, both of which are permutation groups. When evaluated with first argument H and second argument G it returns true if and only if H is a subgroup of G. The following expression evaluates to the boolean false. 1 5 4 2 6 3 6 1 4 5 1 5 4 3 2 6 3 6 2 1 4 5 stabilizer_chain This function takes one argument which should be a permutation group. When applied to the permutation group G, its value is a list consisting of two lists B, H of equal length. The first list B is a base for G, whereas the i-th entry H[i] of the second list is the stabilizer in G of the elements B[1], ..., B[i]. The following expression represents a stabilizer chain. 1 5 4 2 6 3 6 1 4 5