%I #27 Sep 30 2022 20:43:28
%S 1,1,2,6,24,120,272,1904,15232,124800,848640,7507200,39738368,
%T 433441792,2589116416,30419859456,486717751296,8128101580800,
%U 132557598294016,1971862458400768,30421253686034432,512675443057623040,7176891455747129344,130521457800367308800
%N Xfactorials - like factorials but use carryless GF(2)[ X ] polynomial multiplication.
%C In formula X stands for the multiplication in a ring of GF(2)[ X ] polynomials.
%H Vaclav Kotesovec, <a href="/A048631/b048631.txt">Table of n, a(n) for n = 0..475</a>
%H Vaclav Kotesovec, <a href="/A048631/a048631.jpg">Graph a(n+1)/a(n)</a>
%F a(0) = 1, a(n) = n X a(n-1) (see the Maple function Xfactorial given below).
%F Using the notations introduced in A355891, we have a(n) = ivgenpoly(Product_{i=1..n} genpoly(n)). As an example, n = 6 corresponds to 1*x*(x+1)*x^2*(x^2+1)*(x^2+x) = x^8+x^4 in GF(2)[x], so a(6) = 2^8 + 2^4 = 272. - _Jianing Song_, Sep 30 2022
%p Xfactorial := proc(n) option remember; if n=0 then 1
%p else Xmult(n, Xfactorial(n-1)) fi
%p end:
%p Xmult := proc(n, m) option remember; if n=0 then 0
%p else Bits[Xor](((n mod 2)*m), Xmult(floor(n/2), m*2)) fi
%p end:
%p seq(Xfactorial(n), n=0..23);
%t Xmult[nn_, mm_] := Module[{n = nn, m = mm, s = 0}, While[n > 0, If[1 == Mod[n, 2], s = BitXor[s, m]]; n = Floor[n/2]; m = m*2]; s];
%t Xfactorial[n_] := Xfactorial[n] = If[0 == n, 1, Xmult[n, Xfactorial[n - 1]] ];
%t Table[Xfactorial[n], {n, 0, 21}] (* _Jean-François Alcover_, Mar 04 2016, updated Mar 06 2016 after Maple *)
%o (PARI) a(n)=my(s=Mod(1,2)); for(k=1,n, s*=Pol(binary(k))); fromdigits(Vec(lift(s)), 2) \\ _Charles R Greathouse IV_, Oct 03 2016
%Y Cf. A000142, A048720, A048632, A061922.
%K easy,nonn
%O 0,3
%A _Antti Karttunen_, Jul 14 1999