Re: groups
- To: mathgroup at smc.vnet.net
- Subject: [mg7527] Re: groups
- From: Chun Che Li <ccli at math.ucla.edu>
- Date: Tue, 10 Jun 1997 23:18:03 -0400 (EDT)
- Organization: University of California, Los Angeles
- Sender: owner-wri-mathgroup at wolfram.com
Hi! Hope this program can help you. ------------------------------------------------------------- (* Multiplication and Inverse for permutation group *) Mult[a_List, b_List] := Module[{n = Length[a]}, Table[a[[b[[i]]]], {i, 1, n}]] Inv[c_List]:=Last[Transpose[Union[Table[{c[[i]],i},{i,1,Length[c]}]]]] (* generators -> unit, generators, and inverse of generators *) Initiate[generators_List]:= ( Unit=Range[Length[generators[[1]]]]; Union[Join[generators,{Unit},Inv/@generators]]) (* elements -> elements multiply elements , till this set remain unchange *) Group[generators_List]:= Module[{Elem=Initiate[generators],NoOfElem=0}, While[NoOfElem=!=Length[Elem],NoOfElem=Length[Elem]; Elem=Union[Flatten[Outer[Mult,Elem,Elem,1,1],1]]]; Elem] ______________________________________________________________________ Group[generators] gives the group generated by the elements. e.g. In[5]:=Group[{{2,3,4,5,1}}] Out[5]:={{1,2,3,4,5},{2,3,4,5,1},{3,4,5,1,2},{4,5,1,2,3},{5,1,2,3,4}} In[6]:=Group[{{2,3,4,5,1},{2,1,3,4,5}}]; In[7]:=Length[%] Out[7]=120 This show that the group S_5 is generator by (23451) and (12) Charles,Li Chun Che On 4 Jun 1997, Will Self wrote: > I would like a function that accepts as inputs some permutations of > {1, 2, 3, . . . , n} and returns the group generated by them. > > > Will Self > Montana > > >