Re: Question on factor group calculations
- To: mathgroup at smc.vnet.net
- Subject: [mg38372] Re: [mg38249] Question on factor group calculations
- From: Andrzej Kozlowski <akoz at mimuw.edu.pl>
- Date: Fri, 13 Dec 2002 04:09:21 -0500 (EST)
- Sender: owner-wri-mathgroup at wolfram.com
In Mathematica when you have a pure function with n-arguments you denote them by #1, #2, etc. But when your function has only one argument you can't use #2. So your definition of H01 below produces an error on my machine. One way to do what you want is simply: cosets = Function[z, (multZ4Z12[z, #1] & ) /@ H] /@ cosetReps {{{2, 2}, {0, 4}, {2, 6}, {0, 8}, {2, 10}, {0, 0}}, {{2, 3}, {0, 5}, {2, 7}, {0, 9}, {2, 11}, {0, 1}}, {{2, 4}, {0, 6}, {2, 8}, {0, 10}, {2, 0}, {0, 2}}, {{2, 5}, {0, 7}, {2, 9}, {0, 11}, {2, 1}, {0, 3}}, {{3, 2}, {1, 4}, {3, 6}, {1, 8}, {3, 10}, {1, 0}}, {{3, 3}, {1, 5}, {3, 7}, {1, 9}, {3, 11}, {1, 1}}, {{3, 4}, {1, 6}, {3, 8}, {1, 10}, {3, 0}, {1, 2}}, {{3, 5}, {1, 7}, {3, 9}, {1, 11}, {3, 1}, {1, 3}}} You can now extract individual cosets with cosets[[i]], for example the group H is: cosets[[1]] {{2, 2}, {0, 4}, {2, 6}, {0, 8}, {2, 10}, {0, 0}} Andrzej Kozlowski Yokohama, Japan http://www.mimuw.edu.pl/~akoz/ http://platon.c.u-tokyo.ac.jp/andrzej/ On Thursday, December 12, 2002, at 10:31 PM, Diana Mecum wrote: > Andrzej, > > One further question: > > I was able to replicate all of your work, thanks. I see how to get H, > > H = NestWhileList[multZ4Z12[#1, {2, 2}] &, {2, 2}, #1 != {0, 0} &] > > I also sort of understand the coset representative calculation, > > cosetReps = Union[Z4Z12, SameTest -> (MemberQ[H, multZ4Z12[#1, -#2]] > &)] > > I have tried to derive the different coset groups by altering the > expression > for H above, for example, > > H01 = NestWhileList[multZ4Z12[#2, {2, 2}] &, {0, 1}, #2 != {0, 1} &] > > to get the coset group with representative {0, 1}, but no matter how I > change > the variables in the expression, I get H back. > > Can you explain how to list the eight coset groups? Thanks, Diana > > On Wed, 11 Dec 2002 23:14:08 +0900 Andrzej Kozlowski > <akoz at mimuw.edu.pl> > wrote: > >> Sorry, I wrote my reply in a great hurry and >> made some silly mistake. >> Here is the correct code, I hope. >> >> First load the Combinatorica package: >> >> In[1]:= >> (MemberQ[H, multZ4Z12[#1, -#2]] & >> )] >> >> Out[5]= >> {{0, 0}, {0, 1}, {0, 2}, {0, 3}, {1, 0}, {1, >> 1}, {1, 2}, {1, 3}} >> >> Now (this is different from the previous >> version), the multiplication >> of the coset representatives: >> >> In[6]:= >> multF[{a_, b_}, {c_, d_}] := >> First[Select[cosetReps, >> MemberQ[H, multZ4Z12[multZ4Z12[{a, b}, {c, >> d}], -#1]] & ]] >> >> And here is the multiplication table: >> >> In[7]:= >> TableForm[MultiplicationTable[cosetReps, >> multF]] >> >> Out[7]//TableForm= >> TableForm[{{1, 2, 3, 4, 5, 6, 7, 8}, {2, 3, 4, >> 1, 6, 7, 8, 5}, >> {3, 4, 1, 2, 7, 8, 5, 6}, {4, 1, 2, 3, 8, >> 5, 6, 7}, {5, 6, 7, 8, 3, >> 4, 1, 2}, >> {6, 7, 8, 5, 4, 1, 2, 3}, {7, 8, 5, 6, 1, >> 2, 3, 4}, {8, 5, 6, 7, 2, >> 3, 4, 1}}] >> >> I hope this is now O.K. >> >> With best regards >> >> Andrzej >> >> > > > ===================================================== > "God made the integers, all else is the work of man." > L. Kronecker, Jahresber. DMV 2, S. 19. > >