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-3 of 3 results.

A361720 Number of nonisomorphic right involutory Płonka magmas with n elements.

Original entry on oeis.org

1, 1, 2, 4, 12, 37, 164, 849, 6081, 56164, 698921
Offset: 0

Views

Author

Philip Turecek, Apr 14 2023

Keywords

Comments

Alexandrul Chirvasitu and Gigel Militaru introduced the notion of a right Płonka magma as a magma X that satisfies (xy)z = (xz)y and x(yz) = xy for all x,y,z in X. It is called involutory, if it satisfies the additional property (xy)y = x for all x,y in X.
A right Płonka magma (X,*) is associative if and only if there exists an idempotent self-map f = f^2: X -> X such that x*y = f(x) for all x,y in X (the rows of the corresponding Cayley table must necessarily be constant). Thus the total number of associative right Płonka magmas on a given set of n elements is A000248 with A000041 as the corresponding number of isomorphism classes.

References

  • J. Płonka, "On k-cyclic groupoids", Math. Japon. 30 (3), 371-382 (1985).

Crossrefs

A362821 is the labeled version.

Programs

  • Sage
    def right_involutory_plonka(n):
        G = Integers(n)
        Perm = SymmetricGroup(list(G))
        M = [sigma for sigma in Perm if sigma == ~sigma]
        def is_compatible(r):
            return all([ r[i]*r[j] == r[j]*r[i] and r[r[i](j)] == r[j] for i in range(len(r)) for j in range(len(r)) if ZZ(r[i](j)) < len(r) ])
        def possible_extensions(r):
            R = []
            for m in M:
                r_new = r+[m]
                if is_compatible(r_new):
                    R += [r_new]
            return R
        def extend(R):
            R_new = []
            for r in R:
                R_new += possible_extensions(r)
            return R_new
        i = 0
        R = [[]]
        while i < n:
            R = extend(R)
            i += 1
        act = lambda sigma,r: [(~sigma)*r[(~sigma)(i)]*sigma for i in range(len(r))]    # In Sage, the composition of permutations is reversed.
        orbits = []
        while R:
            r = R.pop()
            orb = []
            for sigma in Perm:
                orb += [tuple(act(sigma,r))]
                try: R.remove(act(sigma,r))
                except: pass
            orbits += [set(orb)]
        return len(orbits)
    
  • Sage
    def right_involutory_plonka(n):
        N = range(n)
        Perm = SymmetricGroup(N)
        M = [sigma for sigma in Perm if sigma == ~sigma]
        def is_compatible(r,r_new):
            length = len(r)
            inds = range(length)
            for i in inds:
                if not r[i]*r_new == r_new*r[i]:
                    return [false]
            for i in inds:
                rni = r_new(i)
                if i < rni < length:
                    if not r[rni] == r[i]:
                        return [false]
                if rni == length:
                    if not r_new == r[i]:
                        return [false]
            for i in inds:
                for j in inds:
                    if r[i](j) == length:
                        if not r_new == r[j]:
                            return [false]
            return true, r+[r_new]
        def possible_extensions(r):
            R = []
            for m in M:
                r_potential = is_compatible(r,m)
                if r_potential[0]:
                    R += [r_potential[1]]
            return R
        def extend(R):
            R_new = []
            for r in R:
                R_new += possible_extensions(r)
            return R_new
        R = [[]]
        for i in N:
            R = extend(R)
        act = lambda sigma,r: [(~sigma)*r[(~sigma)(i)]*sigma for i in range(n)]    # In Sage, the composition of permutations is reversed.
        orbits = []
        while R:
            r = R.pop()
            orb = []
            for sigma in Perm:
                r_iso = act(sigma,r)
                orb += [tuple(r_iso)]
                try: R.remove(r_iso)
                except: pass
            orbits += [set(orb)]
        return len(orbits)

Extensions

a(8)-a(10) from Andrew Howroyd, Apr 17 2023

A362643 Number of labeled magmas with n elements satisfying the equations (xy)y = x and x(yz) = xy.

Original entry on oeis.org

1, 1, 2, 10, 94, 1636, 49636, 2489824, 204626528, 27296455456, 5930440245856, 2144594499551296, 1333437360189448768, 1510196144261999035648, 3333925936841219018864384, 15357830414682103475484461056, 155003843551785210349182746546176
Offset: 0

Views

Author

Andrew Howroyd, Apr 28 2023

Keywords

Crossrefs

Cf. A000085, A362383, A362386, A362642 (isomorphism classes).

Programs

  • PARI
    B(n, k)=my(p=serlaplace(exp(x + x^2/2 + O(x*x^n)))); sum(j=0, n, polcoef(p,j)^k*x^j/j!, O(x*x^n))
    seq(n)=Vec(serlaplace(sum(k=0, n, log(B(n-k+1, k))^k/k!)))

Formula

E.g.f.: Sum_{k>=0} log(B(k,x))^k/k! where B(k,x) = Sum_{j>=0} A000085(j)^k*x^j/j!.

A362822 Number of nonisomorphic magmas with n elements satisfying the identities (xy)y = x and (xy)z = (xz)y.

Original entry on oeis.org

1, 1, 3, 6, 68, 254, 14310, 112762, 43419892
Offset: 0

Views

Author

Andrew Howroyd, May 06 2023

Keywords

Crossrefs

Cf. A001329 (magmas), A361720, A362382, A362642, A362823 (labeled case).
Showing 1-3 of 3 results.