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-2 of 2 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

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

Original entry on oeis.org

1, 1, 4, 22, 976, 19376, 7680016, 430723168, 1489656111616, 214815786486400, 6364561150037368576, 2241692646969785651456, 566719960584895502028138496, 471612192582034433034750951424, 1008512943343839231897776246546624512, 1936475539456937172034340659334701398016
Offset: 0

Views

Author

Andrew Howroyd, May 06 2023

Keywords

Comments

a(n) is the number of ordered n-tuples of involutions on [n] that pairwise commute. Two involutions x,y on [n] commute if x*y = y*x.

Crossrefs

Main diagonal of A362824.
Cf. A362383, A362643, A362821, A362822 (isomorphism classes).
Showing 1-2 of 2 results.