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 A001329 M4760 N2035 #127 Feb 16 2025 08:32:23 %S A001329 1,1,10,3330,178981952,2483527537094825,14325590003318891522275680, %T A001329 50976900301814584087291487087214170039, %U A001329 155682086691137947272042502251643461917498835481022016 %N A001329 Number of nonisomorphic groupoids with n elements. %C A001329 The number of isomorphism classes of closed binary operations on a set of order n. %C A001329 The term "magma" is also used as an alternative for "groupoid" since the latter has a different meaning in e.g. category theory. - _Joel Brennan_, Jan 20 2022 %D A001329 N. J. A. Sloane, A Handbook of Integer Sequences, Academic Press, 1973 (includes this sequence). %D A001329 N. J. A. Sloane and Simon Plouffe, The Encyclopedia of Integer Sequences, Academic Press, 1995 (includes this sequence). %H A001329 Philip Tureček, <a href="/A001329/b001329.txt">Table of n, a(n) for n = 0..27</a> %H A001329 J. Berman and S. Burris, <a href="http://www.math.uic.edu/~berman/1994-Groupoid-Catalog-Preprint.pdf">A computer study of 3-element groupoids</a> Lect. Notes Pure Appl. Math. 180 (1994) 379-429 <a href="http://www.ams.org/mathscinet-getitem?mr=1404949">MR1404949</a> %H A001329 M. A. Harrison, <a href="http://dx.doi.org/10.1090/S0002-9939-1966-0200219-9">The number of isomorphism types of finite algebras</a>, Proc. Amer. Math. Soc., 17 (1966), 731-737. %H A001329 Eric Postpischil, <a href="http://groups.google.com/groups?&hl=en&lr=&ie=UTF-8&selm=11802%40shlump.nac.dec.com&rnum=2">Posting to sci.math newsgroup, May 21 1990</a> %H A001329 Marko Riedel, <a href="http://math.stackexchange.com/questions/47792/how-many-non-isomorphic-binary-structures-on-the-set-of-n-elements">Counting non-isomorphic binary relations</a>, Mathematics Stack Exchange question. %H A001329 N. J. A. Sloane, <a href="/A001329/a001329.jpg">Overview of A001329, A001423-A001428, A258719, A258720.</a> %H A001329 T. Tamura, <a href="/A001329/a001329.pdf">Some contributions of computation to semigroups and groupoids</a>, pp. 229-261 of J. Leech, editor, Computational Problems in Abstract Algebra. Pergamon, Oxford, 1970. (Annotated and scanned copy) %H A001329 Philip Turecek, <a href="/A001329/a001329.txt">Maple program</a> %H A001329 Philip Tureček, <a href="https://arxiv.org/abs/2305.00269">Counting Finite Magmas</a>, arXiv:2305.00269 [math.CO], 2023. %H A001329 Eric Weisstein's World of Mathematics, <a href="https://mathworld.wolfram.com/Groupoid.html">Groupoid</a> %H A001329 Wikipedia, <a href="https://en.wikipedia.org/wiki/Magma_(algebra)">Magma (algebra)</a> %H A001329 <a href="/index/Gre#groupoids">Index entries for sequences related to groupoids</a> %F A001329 a(n) = Sum_{1*s_1+2*s_2+...=n} (fixA[s_1, s_2, ...]/(1^s_1*s_1!*2^s_2*s2!*...)) where fixA[s_1, s_2, ...] = Product_{i, j>=1} ( (Sum_{d|lcm(i, j)} (d*s_d))^(gcd(i, j)*s_i*s_j)). - _Christian G. Bower_, May 08 1998, Dec 03 2003 %F A001329 a(n) is asymptotic to n^(n^2)/n! = A002489(n)/A000142(n) ~ (e*n^(n-1))^n / sqrt(2*Pi*n). - _Christian G. Bower_, Dec 03 2003 %F A001329 a(n) = A079173(n) + A027851(n) = A079177(n) + A079180(n). %F A001329 a(n) = A079183(n) + A001425(n) = A079187(n) + A079190(n). %F A001329 a(n) = A079193(n) + A079196(n) + A079199(n) + A001426(n). %p A001329 with(numtheory); %p A001329 with(group): %p A001329 with(combinat): %p A001329 pet_cycleind_symm := %p A001329 proc(n) %p A001329 local p, s; %p A001329 option remember; %p A001329 if n=0 then return 1; fi; %p A001329 expand(1/n*add(a[l]*pet_cycleind_symm(n-l), l=1..n)); %p A001329 end; %p A001329 pet_flatten_term := %p A001329 proc(varp) %p A001329 local terml, d, cf, v; %p A001329 terml := []; %p A001329 cf := varp; %p A001329 for v in indets(varp) do %p A001329 d := degree(varp, v); %p A001329 terml := [op(terml), seq(v, k=1..d)]; %p A001329 cf := cf/v^d; %p A001329 od; %p A001329 [cf, terml]; %p A001329 end; %p A001329 bs_binop := %p A001329 proc(n) %p A001329 option remember; %p A001329 local dsjc, flat, p, q, len, %p A001329 cyc, cyc1, cyc2, l1, l2, res; %p A001329 if n=0 then return 1; fi; %p A001329 if n=1 then return 1; fi; %p A001329 res := 0; %p A001329 for dsjc in pet_cycleind_symm(n) do %p A001329 flat := pet_flatten_term(dsjc); %p A001329 p := 1; %p A001329 for cyc1 in flat[2] do %p A001329 l1 := op(1, cyc1); %p A001329 for cyc2 in flat[2] do %p A001329 l2 := op(1, cyc2); %p A001329 len := lcm(l1,l2); q := 0; %p A001329 for cyc in flat[2] do %p A001329 if len mod op(1, cyc) = 0 then %p A001329 q := q + op(1, cyc); %p A001329 fi; %p A001329 od; %p A001329 p := p * q^(l1*l2/len); %p A001329 od; %p A001329 od; %p A001329 res := res + p*flat[1]; %p A001329 od; %p A001329 res; %p A001329 end; %t A001329 magmas[n_] := ( %t A001329 rul1 = {{a[i_],j_},{a[k_],l_}} :> sum[i,k]^(j*l*GCD[i,k]*(2-Boole[i==k])); %t A001329 rul2 = {a[r_],s_} :> If[Mod[lcm,r]==0,r*s,0]; %t A001329 trans[mo_] := ( %t A001329 listc = FactorList@mo; %t A001329 list = listc[[2;;]]; %t A001329 sum[i_,k_] := ( %t A001329 lcm = LCM[i,k]; %t A001329 Plus@@(list/.rul2) %t A001329 ); %t A001329 pairs = Select[Tuples[list,2],OrderedQ]; %t A001329 listc[[1,1]]^listc[[1,2]]*Times@@(pairs/.rul1) %t A001329 ); %t A001329 trans/@CycleIndexPolynomial[SymmetricGroup@n,Array[a,n]] %t A001329 ); %t A001329 (* _Philip Turecek_, May 25 2022 *) %o A001329 (Sage) %o A001329 R.<a> = InfinitePolynomialRing(QQ) %o A001329 @cached_function %o A001329 def Z(n): %o A001329 if n==0: %o A001329 return R.one() %o A001329 return sum(a[k]*Z(n-k) for k in (1..n))/n %o A001329 def magmas(n): %o A001329 P = Z(n) %o A001329 q = 0 %o A001329 c = P.coefficients() %o A001329 count = 0 %o A001329 for m in P.monomials(): %o A001329 r = 1 %o A001329 T = m.variables() %o A001329 S = list(T) %o A001329 for u in T: %o A001329 i = R.varname_key(str(u))[1] %o A001329 j = m.degree(u) %o A001329 D = 0 %o A001329 for d in divisors(i): %o A001329 D += d*m.degrees()[-d-1] %o A001329 r *= D^(i*j^2) %o A001329 S.remove(u) %o A001329 for v in S: %o A001329 k = R.varname_key(str(v))[1] %o A001329 l = m.degree(v) %o A001329 D = 0 %o A001329 for d in divisors(lcm(i,k)): %o A001329 try: %o A001329 D += d*m.degrees()[-d-1] %o A001329 except: %o A001329 break %o A001329 r *= D^(gcd(i,k)*j*l*2) %o A001329 q += c[count]*r %o A001329 count += 1 %o A001329 return q %o A001329 # _Philip Turecek_, Nov 20 2022 %Y A001329 Cf. A001424, A001425, A002489, A006448, A029850, A030245-A030265, A030271, A038015-A038023. %K A001329 nonn,nice %O A001329 0,3 %A A001329 _N. J. A. Sloane_ %E A001329 More terms from _Christian G. Bower_, May 08 1998