login
Number of n-element groupoids with an identity.
2

%I #24 Oct 24 2023 10:09:23

%S 1,2,45,43968,6358196250,236919104155855296,

%T 3682959509036574988532481464,

%U 35398008251644050232134479709365068115968,292415292106611727928759157427747328169866020125762652311

%N Number of n-element groupoids with an identity.

%C Also partial groupoids with n-1 elements or groupoids with an absorbant (zero) element with n elements.

%H Eric Postpischil <a href="http://groups.google.com/groups?&amp;hl=en&amp;lr=&amp;ie=UTF-8&amp;selm=11802%40shlump.nac.dec.com&amp;rnum=2">Posting to sci.math newsgroup, May 21 1990</a>

%H Eric Weisstein's World of Mathematics, <a href="http://mathworld.wolfram.com/Groupoid.html">Groupoid.</a>

%H <a href="/index/Gre#groupoids">Index entries for sequences related to groupoids</a>

%F a(n+1) = 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, ...] = prod {i, j>=1} ( (1 + sum {d|lcm(i, j)} (d*s_d))^(gcd(i, j)*s_i*s_j))

%F a(n) asymptotic to n^((n-1)^2+1)/n! = A090602(n)/A000142(n) = A090603(n)/A000142(n-1)

%o (Sage)

%o R.<a> = InfinitePolynomialRing(QQ)

%o @cached_function

%o def Z(n):

%o if n==0:

%o return R.one()

%o return sum(a[k]*Z(n-k) for k in (1..n))/n

%o def magmas_identity(n):

%o P = Z(n-1)

%o q = 0

%o c = P.coefficients()

%o count = 0

%o for m in P.monomials():

%o r = 1

%o T = m.variables()

%o S = list(T)

%o for u in T:

%o i = R.varname_key(str(u))[1]

%o j = m.degree(u)

%o D = 1

%o for d in divisors(i):

%o D += d*m.degrees()[-d-1]

%o r *= D^(i*j^2)

%o S.remove(u)

%o for v in S:

%o k = R.varname_key(str(v))[1]

%o l = m.degree(v)

%o D = 1

%o for d in divisors(lcm(i,k)):

%o try:

%o D += d*m.degrees()[-d-1]

%o except:

%o break

%o r *= D^(gcd(i,k)*j*l*2)

%o q += c[count]*r

%o count += 1

%o return q

%o # _Philip Turecek_, Oct 10 2023

%K nonn

%O 1,2

%A _Christian G. Bower_, Dec 05 2003