cp's OEIS Frontend

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.

Showing 1-1 of 1 results.

A376640 Number of equational laws for magmas involving n operations, up to relabeling and symmetry, after removing nontrivial reflexive laws.

Original entry on oeis.org

2, 5, 39, 364, 4284, 57882, 888365, 15120105, 281941490, 5698630860, 123850391756, 2875187314622, 70909556459276, 1849319825544900, 50801676936624147, 1464954360561398340, 44213852151883887000, 1392971702129279452950, 45705100441642892335954, 1558551328538087579977710
Offset: 0

Views

Author

Terence Tao, Sep 30 2024

Keywords

Examples

			For n=0 the distinct laws are x=x and x=y.
For n=1 the distinct laws are x=x*x, x=x*y, x=y*x, x=y*y, and x=y*z.
For n=2 there are 39 distinct laws, including for instance x=(x*y)*x, x*y=y*z, and x*y=y*x, but not x*y=x*y because this is a nontrivial reflexive law (of the form X=X for an expression X that is not just a single indeterminate).
		

Crossrefs

Slightly smaller than A376620(n).
Cf. A289679.

Programs

  • Mathematica
    A376640[0] = 2; A376640[n_?OddQ] := Quotient[CatalanNumber[n + 1] BellB[n + 2], 2];
    A376640[n_?EvenQ /; n > 0] := Module[{m = Quotient[n, 2], bellN2 = BellB[n + 2], h, sum},
    h[ni_, ki_] := h[ni, ki] = If[ni < 2, Boole[ni == ki],
      ki * h[ni - 2, ki] + h[ni - 2, ki - 1] + h[ni - 2, ki - 2]];
    sum = Sum[Quotient[StirlingS2[n + 2, k] + h[n + 2, k], 2], {k, 0, n + 2}];
    Quotient[CatalanNumber[n + 1] bellN2 + CatalanNumber[m] (2 sum - bellN2 - 2 BellB[m + 1]), 2]];
    Table[A376640[n], {n, 0, 19}]  (* after Chai Wah Wu, Peter Luschny, Sep 03 2025 *)
  • Python
    from functools import lru_cache
    from sympy.functions.combinatorial.numbers import stirling, bell, catalan
    def A376640(n):
        if n&1:
            return catalan(n+1)*bell(n+2)>>1
        else:
            if not n: return 2
            @lru_cache(maxsize=None)
            def ach(n,k): return (n==k) if n<2 else k*ach(n-2,k)+ach(n-2,k-1)+ach(n-2,k-2)
            return (catalan(n+1)*bell(n+2)+catalan(m:=n>>1)*((sum(stirling(n+2,k,kind=2)+ach(n+2,k)>>1 for k in range(n+3))<<1)-bell(n+2)-(bell(m+1)<<1))>>1) # Chai Wah Wu, Oct 15 2024

Formula

For odd n, a(n) = A376620(n) = A289679(n+2)/2.
For n=0, a(0) = 2.
For even n >= 2, a(n) = A376620(n) - A289679(n/2+1).

Extensions

a(7) and beyond from Michael S. Branicky, Sep 30 2024
Showing 1-1 of 1 results.