A258446 Irregular triangular array read by rows. Row n gives the decomposition of the multiplicative group of integers modulo n as a direct product of cyclic groups C_1 X C_2 X ... X C_k, where |C_i| divides |C_j|, i>j.
1, 2, 2, 4, 2, 6, 2, 2, 6, 4, 10, 2, 2, 12, 6, 4, 2, 4, 2, 16, 6, 18, 4, 2, 6, 2, 10, 22, 2, 2, 2, 20, 12, 18, 6, 2, 28, 4, 2, 30, 8, 2, 10, 2, 16, 12, 2, 6, 2, 36, 18, 12, 2, 4, 2, 2, 40, 6, 2, 42, 10, 2, 12, 2, 22, 46, 4, 2, 2, 42, 20
Offset: 2
Examples
1; 2; 2; 4; 2; 6; 2, 2; 6; 4; 10; 2, 2; 12; 6; 4, 2; 4, 2; 16; 6; 18; 4, 2; 6, 2; 10; 22; 2, 2, 2; The row for n=8 reads: 2,2 because the multiplicative group mod 8 is isomorphic to C_2 X C_2.
References
- Shanks, D. Solved and Unsolved Problems in Number Theory, 4th ed. New York: Chelsea, pp. 92-93, 1993.
Links
- Eric Weisstein's World of Mathematics, Modulo Multiplication Group
- Wikipedia, Multiplicative Group of Integers Modulo n.
Programs
-
Mathematica
f[{p_, e_}] := {FactorInteger[p - 1][[All, 1]]^ FactorInteger[p - 1][[All, 2]], FactorInteger[p^(e - 1)][[All, 1]]^ FactorInteger[p^(e - 1)][[All, 2]]}; fun[lst_] := Module[{int, num, res}, int = Sort /@ GatherBy[Join @@ (FactorInteger /@ lst), First]; num = Times @@ Power @@@ (Last@# & /@ int); res = Flatten[Map[Power @@ # &, Most /@ int, {2}]]; {num, res}] rec[lt_] := First@NestWhile[{Append[#[[1]], fun[#[[2]]][[1]]], fun[#[[2]]][[2]]} &, {{}, lt}, Length[#[[2]]] > 0 &]; Table[If[! IntegerQ[n/8], DeleteCases[rec[Flatten[Map[f, FactorInteger[n]]]], 1], DeleteCases[ rec[Join[{2, 2^(FactorInteger[n][[1, 2]] - 2)}, Flatten[Map[f, Drop[FactorInteger[n], 1]]]]], 1]], {n, 2, 50}] /. {} -> {1} // Grid
Comments