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

A362386 Number of labeled magmas with n elements satisfying the equation x(yz) = xy.

Original entry on oeis.org

1, 1, 4, 63, 3928, 671225, 415994376, 984103121743, 9271304662454080, 481332898418852452113, 104644384236229513639369600, 144227885665186612512723834972671, 914259315321600131058018257603156879616, 35436549344191965694685804548516417640353097545
Offset: 0

Views

Author

Andrew Howroyd, Apr 25 2023

Keywords

Examples

			One of the a(7) magmas is shown below. In this example there is a grouping {{1,2,3}, {4,5}, {6,7}}.
  x/y| 1 2 3 4 5 6 7
  ---+--------------
   1 | 1 1 1 2 2 3 3
   2 | 3 3 3 2 2 1 1
   3 | 3 3 3 1 1 3 3
   4 | 5 5 5 4 4 5 5
   5 | 4 4 4 4 4 5 5
   6 | 6 6 6 7 7 7 7
   7 | 6 6 6 7 7 6 6
		

Crossrefs

Cf. A362385 (isomorphism classes).

Programs

  • PARI
    B(n,k)=log(sum(j=0, n, j^(j*k)*x^j/j!, O(x*x^n)))
    seq(n)=Vec(serlaplace(sum(k=0, n, 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} j^(j*k)*x^j/j!.

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

Original entry on oeis.org

1, 1, 2, 4, 13, 47, 255, 1810, 18471, 266931
Offset: 0

Views

Author

Andrew Howroyd, Apr 28 2023

Keywords

Crossrefs

Cf. A001329 (magmas), A361720, A362382, A362385, A362643 (labeled case).

A362384 Number of nonisomorphic magmas with n elements satisfying the equation x(yz) = xz.

Original entry on oeis.org

1, 1, 4, 12, 81, 934, 23703, 1219177
Offset: 0

Views

Author

Andrew Howroyd, Apr 24 2023

Keywords

Crossrefs

Cf. A001329 (magmas), A279644 (labeled case), A362385.
Showing 1-4 of 4 results.