On Thu, Apr 21, 2016 at 10:04 PM, Keith F. Lynch <kfl@keithlynch.net> wrote:
Then, for each identity element I, multiply it by all other numbers 2 through N. If I*J is not J, it's not the right identity element for J. Otherwise, keep multiplying J by itself until I either get I back (win) or I get 0 (fail). If I didn't fail, add the group to the list. At the end, eliminate duplicates and list them all.
aren't you only finding the cyclic subgroups with this algorithm?
*A* group, yes. But as I said, mod 30 there are 28 groups:
Identity element 0: {0} Identity element 1: {1} {1,11} {1,19} {1,7,13,19} {1,17,19,23} {1,29} {1,11,19,29} {1,7,11,13,17,19,23,29}
{1, 7, 13, 19} is not a group; 7 * 13 = 11.I haven't checked the rest of your list. This is not a big deal if you're generating the groups by hand, but if you're doing it programatically, it means there's something wrong with your program. Andy