%I M0875 #56 Oct 16 2024 21:36:55
%S 1,2,3,8,15,24,49,128,189,480,1023,1536,4095,6272,10125,32768,65025,
%T 96768,262143,491520,583443,2095104,4190209,6291456,15728625,33546240,
%U 49545027,102760448,268435455,331776000,887503681,2147483648,3211797501,8522956800,12325233375,25367150592,68719476735,137438429184,206007472125
%N Generalized Euler phi function (for p=2).
%C a(n) is the number of n X n circulant invertible matrices over GF(2). - Yuval Dekel (dekelyuval(AT)hotmail.com), Aug 20 2003
%C From _Geoffrey Critzer_, Oct 13 2024: (Start)
%C a(n) is the number of units in the ring F_2[x]/<x^n-1>.
%C Let T be the companion matrix of x^n-1 and let M_T be the F_2[x] module induced by T where the action is f*v = f(T)v. Then a(n) is the number of cyclic vectors in M_T.
%C a(n) is the number of elements in M_T whose local minimal polynomial is x^n-1.
%C a(n) is the order of the stabilizer subgroup of T under the action of conjugation.
%C a(n) is the number of polynomials f(x) in F_2[x] of degree < n such that
%C gcd(x^n-1,f(x)) = 1.
%C a(n) is the number of normal elements in the field F_2^n. (End)
%D N. J. A. Sloane and Simon Plouffe, The Encyclopedia of Integer Sequences, Academic Press, 1995 (includes this sequence).
%H Alois P. Heinz, <a href="/A003473/b003473.txt">Table of n, a(n) for n = 1..1000</a>
%H J. T. B. Beard Jr. and K. I. West, <a href="http://dx.doi.org/10.1090/S0025-5718-1974-0364196-5">Factorization tables for x^n-1 over GF(q)</a>, Math. Comp., 28 (1974), 1167-1168.
%H Swee Hong Chan, Henk D. L. Hollmann, and Dmitrii V. Pasechnik, <a href="http://arxiv.org/abs/1405.0113">Sandpile groups of generalized de Bruijn and Kautz graphs and circulant matrices over finite fields</a>, arXiv:1405.0113 [math.CO], (1-May-2014).
%F a(n) = n * A027362(n). - _Vladeta Jovovic_, Sep 09 2003
%t p = 2; numNormalp[n_] := Module[{r, i, pp}, pp = 1; Do[r = MultiplicativeOrder[p, d]; i = EulerPhi[d]/r; pp *= (1 - 1/p^r)^i, {d, Divisors[n]}]; Return[pp]]; numNormal[n_] := Module[{t, q, pp }, t = 1; q = n; While[0 == Mod[q, p], q /= p; t += 1]; pp = numNormalp[q]; pp *= p^n/n; Return[pp]]; a[n_] := n*numNormal[n]; Array[a, 40] (* _Jean-François Alcover_, Dec 10 2015, after _Joerg Arndt_ *)
%o (PARI)
%o p=2; /* global */
%o num_normal_p(n)=
%o {
%o my( r, i, pp );
%o pp = 1;
%o fordiv (n, d,
%o r = znorder(Mod(p,d));
%o i = eulerphi(d)/r;
%o pp *= (1 - 1/p^r)^i;
%o );
%o return( pp );
%o }
%o num_normal(n)=
%o {
%o my( t, q, pp );
%o t = 1; q = n;
%o while ( 0==(q%p), q/=p; t+=1; );
%o /* here: n==q*p^t */
%o pp = num_normal_p(q);
%o pp *= p^n/n;
%o return( pp );
%o }
%o a(n)=n * num_normal(n);
%o v=vector(66,n,a(n)) /* _Joerg Arndt_, Jul 03 2011 */
%Y Cf. A003474 (p=3), A192037 (p=5).
%Y Cf. also A086479, A027362.
%K nonn,changed
%O 1,2
%A _N. J. A. Sloane_
%E More terms from _Vladeta Jovovic_, Sep 09 2003
%E Terms > 331776000 from _Joerg Arndt_, Jul 03 2011