This is a front-end for the Online Encyclopedia of Integer Sequences, made by Christian Perfect. The idea is to provide OEIS entries in non-ancient HTML, and then to think about how they're presented visually. The source code is on GitHub.
%I A319447 #40 Jun 21 2025 20:00:14 %S A319447 0,1,1,2,1,2,2,3,3,2,1,3,2,3,2,3,1,4,2,3,3,2,1,4,2,3,3,4,1,3,2,3,2,2, %T A319447 3,4,2,3,3,4,1,4,2,3,4,2,1,4,2,2,2,4,1,4,2,5,3,2,1,4,2,3,5,3,3,3,2,3, %U A319447 2,4,1,4,2,3,2,4,3,4,2,4,3,2,1,5,2,3,2 %N A319447 a(n) is the rank of the multiplicative group of Eisenstein integers modulo n. %C A319447 The rank of a finitely generated group rank(G) is defined to be the size of the minimal generating sets of G. %C A319447 Let p be an odd prime and (Z[w]/nZ[w])* be the multiplicative group of Gaussian integers modulo n, then: (Z[w]/p^e*Z[w])* = (C_((p-1)*p^(e-1)))^2 if p == 1 (mod 6); C_(p^(e-1)) X C_(p^(e-1)*(p^2-1)) if p == 5 (mod 6); (Z[w]/3^e*Z[w])* = C_3 X C_(3^(e-1)) X C_(2*3^(e-1)); (Z[w]/2Z[w])* = C_3, (Z[w]/2^e*Z[w])* = C_2 X C_(2^(e-2)) X C_(3*2^(e-1)) for e >= 2. If n = Product_{i=1..k} (p_i)^(e_i), then (Z[w]/nZ[w])* = (Z[w]/(p_1)^(e_1)*Z[w])* X (Z[w]/(p_2)^(e_2)*Z[w])* X ... X (Z[w]/(p_k)^(e_k)*Z[w])*. %C A319447 The order of (Z[w]/nZ[w])* is A319445(n) and the exponent of it is A319446(n). %C A319447 {a(n)} is not additive: (Z[w]/2Z[w])* = C_3, (Z[w]/25Z[w])* = C_5 X C_120, so (Z[w]/50Z[w])* = C_15 X C_120, a(50) < a(2) + a(25). %C A319447 A319445(n)/A319446(n) is always an integer, and is 1 if and only if (Z[w]/nZ[w])* is cyclic, that is, rank((Z[w]/nZ[w])*) = a(n) = 0 or 1, and n has a primitive root in (Z[w]/nZ[w])*. a(n) = 1 if and only if n = 3 or a prime congruent to 2 mod 3. - _Jianing Song_, Jan 08 2019 %C A319447 From _Jianing Song_, Oct 03 2022: (Start) %C A319447 More generally, let pi be a prime element of Z[w] of norm p or p^2 for prime p, then: %C A319447 - for p == 1 (mod 6), (Z[w]/(pi^e)Z[w])* = C_((p-1)*p^(e-1)); %C A319447 - for p == 5 (mod 6), (Z[w]/(pi^e)Z[w])* = C_(p^(e-1)) X C_(p^(e-1)*(p^2-1)); %C A319447 - for p = 3, (Z[w]/(pi^e)Z[w])* = C_2 for e = 1, C_3 X C_(3^floor((e-2)/2)) X C_(2*3^ceiling((e-2)/2)) for e >= 2; %C A319447 - for p = 2, (Z[w]/(pi^e)Z[w])* = C_3 for e = 1, C_2 X C_(2^(e-2)) X C_(3*2^(e-1)) for e >= 2. %C A319447 For a more general result see my link below. (End) %H A319447 Jianing Song, <a href="/A319447/b319447.txt">Table of n, a(n) for n = 1..10000</a> %H A319447 Jianing Song, <a href="/A306933/a306933.pdf">Structure of (R/P^e)* for R the ring of integers of a quadratic field and P a prime ideal of R</a> %H A319447 Wikipedia, <a href="https://en.wikipedia.org/wiki/Eisenstein_integer">Eisenstein integer</a> %F A319447 Let p be an odd prime, then: a(p^e) = 2 if p == 1 (mod 6) or p == 5 (mod 6), e >= 2; a(p) = 1 if p == 5 (mod 6). a(3) = 1, a(3^e) = 3 for e >= 2. a(2) = 1, a(4) = 2, a(2^e) = 3 for e >= 3. [Corrected by _Jianing Song_, Aug 05 2019] %e A319447 (Z[w]/1Z[w])* = C_1 (has rank 0); %e A319447 (Z[w]/2Z[w])* = C_3 (has rank 1); %e A319447 (Z[w]/3Z[w])* = C_6 (has rank 1); %e A319447 (Z[w]/4Z[w])* = C_2 X C_6 (has rank 2); %e A319447 (Z[w]/5Z[w])* = C_24 (has rank 1); %e A319447 (Z[w]/6Z[w])* = C_3 X C_6 (has rank 2); %e A319447 (Z[w]/7Z[w])* = C_6 X C_6 (has rank 2); %e A319447 (Z[w]/8Z[w])* = C_2 X C_2 X C_12 (has rank 3); %e A319447 (Z[w]/9Z[w])* = C_3 X C_3 X C_6 (has rank 3); %e A319447 (Z[w]/10Z[w])* = C_3 X C_24 (has rank 2). %o A319447 (PARI) %o A319447 rad(n) = factorback(factorint(n)[, 1]); %o A319447 grad(n)= %o A319447 { %o A319447 my(r=1, f=factor(n)); %o A319447 for(j=1, #f[, 1], my(p=f[j, 1], e=f[j, 2]); %o A319447 if(p==2&e==1, r*=3); %o A319447 if(p==2&e==2, r*=12); %o A319447 if(p==2&e>=3, r*=24); %o A319447 if(p==3&e==1, r*=6); %o A319447 if(p==3&e>=2, r*=54); %o A319447 if(p%6==1, r*=(rad(p-1))^2); %o A319447 if(p%6==5&e==1, r*=rad(p^2-1)); %o A319447 if(p%6==5&e>=2, r*=p^2*rad(p^2-1)); %o A319447 ); %o A319447 return(r); %o A319447 } %o A319447 a(n)=if(n>1, vecmax(factor(grad(n))[, 2]), 0); \\ The program is based on the facts that although rank((Z[w]/nZ[w])*) is not additive, the p-rank of (Z[w]/nZ[w])* is additive for any prime p, and that rank((Z[w]/nZ[w])*) is the maximum of the p-rank of (Z[w]/nZ[w])* where p runs through all primes. - _Jianing Song_, Aug 05 2019 %Y A319447 Cf. A046072, A319445, A319446. %Y A319447 Equivalent in the ring of Gaussian integers: A316506. %K A319447 nonn %O A319447 1,4 %A A319447 _Jianing Song_, Sep 19 2018 %E A319447 Corrected by _Jianing Song_, Jan 12 2019