%I M1716 #91 Jun 14 2024 22:32:08
%S 1,2,6,48,720,23040,1451520,185794560,47377612800,24257337753600,
%T 24815256521932800,50821645356918374400,208114637736580743168000,
%U 1704875112338069448032256000,27930968965434591767112450048000,915241991059360703024740763172864000
%N Order of orthogonal group O(n, GF(2)).
%D J. H. Conway, R. T. Curtis, S. P. Norton, R. A. Parker and R. A. Wilson, ATLAS of Finite Groups. Oxford Univ. Press, 1985 [for best online version see https://oeis.org/wiki/Welcome#Links_to_Other_Sites].
%D N. J. A. Sloane and Simon Plouffe, The Encyclopedia of Integer Sequences, Academic Press, 1995 (includes this sequence).
%H T. D. Noe, <a href="/A003053/b003053.txt">Table of n, a(n) for n = 1..41</a>
%H J. H. Conway et al., <a href="http://www.math.colostate.edu/~hulpke/lectures/m601/ATLASClip.pdf">ATLAS of Finite Groups</a>, Chapter 2.
%H F. J. MacWilliams, <a href="http://www.jstor.org/stable/2317262">Orthogonal matrices over finite fields</a>, Amer. Math. Monthly, 76 (1969), 152-164.
%F For formulas see Maple code.
%F Asymptotics: a(n) ~ c * 2^((n^2-n)/2), where c = (1/4; 1/4)_infinity ~ 0.6885375... is expressed in terms of the Q-Pochhammer symbol. - _Cedric Lorand_, Aug 07 2017
%p h:=proc(n) local m;
%p if n mod 2 = 0 then m:=n/2;
%p 2^(m^2)*mul( 4^i-1, i=1..m);
%p else m:=(n+1)/2;
%p 2^(m^2)*mul( 4^i-1, i=1..m-1);
%p fi;
%p end;
%p # This produces a(n+1)
%t h[n_] := Module[{m}, If[EvenQ[n], m = n/2; 2^(m^2)*Product[4^i-1, {i, 1, m}], m = (n+1)/2; 2^(m^2)*Product[4^i-1, {i, 1, m-1}]]];
%t a[n_] := h[n-1];
%t Array[a, 16] (* _Jean-François Alcover_, Aug 18 2022, after Maple code *)
%o (PARI) a(n) = n--; if (n % 2, m = (n+1)/2; 2^(m^2)*prod(k=1, m-1, 4^k-1), m = n/2; 2^(m^2)*prod(k=1, m, 4^k-1)); \\ _Michel Marcus_, Jul 13 2017
%o (Python)
%o def size_binary_orthogonal_group(n):
%o k = n-1
%o if k%2==0:
%o m=k//2
%o p=2**(m**2)
%o for i in range(1,m+1):
%o p*=4**i-1
%o else:
%o m=(k+1)//2
%o p=2**(m**2)
%o for i in range(1,m):
%o p*=4**i-1
%o return p
%o #call and print output for a(n)
%o print([size_binary_orthogonal_group(n) for n in range(1, 10)])
%o # _Nathan J. Russell_, Nov 01 2017
%o (Python)
%o from math import prod
%o def A003053(n): return (1 << (n//2)**2)*prod((1 << i)-1 for i in range(2,2*((n-1)//2)+1,2)) # _Chai Wah Wu_, Jun 20 2022
%Y Bisections give A003923 and A090770.
%K nonn,easy
%O 1,2
%A _N. J. A. Sloane_
%E Edited by _N. J. A. Sloane_, Dec 30 2008
%E Edited by _W. Edwin Clark_ et al., Jan 15 2015