Clear(); Print ("Beginning demo program: test_2_2.txt\n\n"); Print ("This demonstrates the use of the following procedures:\n"); Print (" ImagesOfFixedSize( order, domain, im_order, range, printflag )\n\n"); Sleep(5); # Here we attempt to test the ImagesOfFixedSize function. # Let's first test all of the groups of order 8 that have # C4 images... we should really know this already, so it's a # good beginning point (C8, C4xC2). # These should be displayed as [1, 2], the groups: # (8, 1) -- C8, # (8, 2) -- C4xC2 # Remember that though D4 and Q4 have subgroups that are # isomorphic to C4, there exist no homomorphisms from D4 or Q4 # to C4. solution := ImagesOfFixedSize(8, [], 4, [1], 0); Print (" Let's first test all of the groups of order 8 that have\n"); Print ("C4 images... we should really know this already, so it's a\n"); Print ("good beginning point: C8 and C4xC2.\n"); Print (" solution := ImagesOfFixedSize(8, [], 4, [1], 0);\n\n"); PrintArray (solution); Print ("\n\n"); Sleep(8); Print ("This means that SmallGroup(8,1) and SmallGroup(8,2) have\n"); Print ("such an image.\n\n"); Print (" Remember that though D4 and Q4 have subgroups that are\n"); Print ("isomorphic to C4, there exist no homomorphisms from D4 or\n"); Print ("Q4 to C4.\n\n\n"); Sleep(8); # Now let's try a few more: Print ("Now let's try a few more:\n"); solution := ImagesOfFixedSize(16, [], 8, [1], 0); Print ("Groups of order 16 with images of C8:\n"); Print (" solution := ImagesOfFixedSize(16, [], 8, [1], 0);\n"); Print (solution, "\n\n"); Sleep(8); solution := ImagesOfFixedSize(8, [], 4, [], 0); Print ("Groups of order 8 with any image of size 4:\n"); Print (" solution := ImagesOfFixedSize(8, [], 4, [], 0);\n"); Print (solution, "\n\n"); Sleep(8); solution := ImagesOfFixedSize(8, [], 2, [], 0); Print ("Groups of order 8 with any image of size 2:\n"); Print (" solution := ImagesOfFixedSize(8, [], 2, [], 0);\n"); Print (solution, "\n\n"); Sleep(8); solution := ImagesOfFixedSize(64, [], 16, [1], 0); Print ("Groups of order 64 with images of C16:\n"); Print (" solution := ImagesOfFixedSize(64, [], 16, [1], 0);\n"); Print (solution, "\n\n"); Print ("As you can see... this sometimes takes a while.\n\n");