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.

A010570 Number of 2n-step self-avoiding closed paths on the 6-dimensional cubic lattice.

Original entry on oeis.org

12, 120, 4200, 216720, 13594320, 959431200, 73286046960, 5928739001280, 501123204523440, 43851618007523760, 3946829550070653840, 363607619806646296800
Offset: 1

Views

Author

Keywords

Comments

The initial term a(1) = 12 corresponds to a cycle which is one step in some direction and one step back. Sometimes such paths, in which an edge is used twice, are not counted as self-avoiding path. - M. F. Hasler, Jun 18 2025

Crossrefs

Cf. A010567 (d=3) - A010569 (d=5).

Programs

  • Python
    def A010570(n): # For illustration - becomes slow for n > 4
        if not hasattr(A:=A010570, 'r'):
           A.terms = [12]; A.weights = 12, 120; I = (0,)*6, (1,)+(0,)*5
           A.paths = (*I,(2,)+(0,)*5), (*I,(1,1)+(0,)*4); A.r = tuple(range(6))
        while n > len(A.terms):
            for L in (0, 1):
                np = []; nw=[]; cycles = 0
                for path,weight in zip(A.paths,A.weights):
                    end = path[-1]
                    for i in A.r:
                       for s in (1, -1):
                          t = tuple(end[j]if j!=i else end[j]+s for j in A.r)
                          if t not in path: np+=[path+(t,)]; nw+=[weight]
                          elif L and t==path[0]: cycles += weight
                A.paths, A.weights = np, nw
            A.terms.append(cycles)
        return A.terms[n-1] # M. F. Hasler, Jun 17 2025

Extensions

a(6)-a(7) from Sean A. Irvine, Jun 01 2018
a(8) from Sean A. Irvine, Aug 17 2020
"Self-avoiding" added in definition by M. F. Hasler, Jun 18 2025
a(9)-a(12) from Clisby et al.'s data added by Andrei Zabolotskii, Jun 25 2025

A010568 Number of 2n-step self-avoiding closed paths on the 4-dimensional cubic lattice.

Original entry on oeis.org

8, 48, 912, 22944, 652320, 20266368, 669756192, 23146172544, 827460518688, 30378237727200, 1139447186954208, 43501453488658368, 1685588678025512832
Offset: 1

Views

Author

Keywords

Comments

From M. F. Hasler, Jun 18 2025: (Start)
This sequence gives the number of self-avoiding paths starting and ending at the origin. It does not consider equivalence with respect to translations, rotations or reflections. So it does count multiple cycles whose set of edges represents the same polygon. For example, a(2) = 48 counts 4-step cycles which all correspond to a unit square.
This explains why 8n | a(n) for all n, and a(n)/8n = (1, 3, 38, 717, 16308, 422216, 11959932, 361658946, 11492507204, 379727971590, ...)
Also, a(n = 1) = 8 gives the 2-step cycles which correspond to one step in any of the 8 directions, and one step back. Although this path is self-avoiding since it does not cross any point multiple times, it uses the same edge for the first and second step, and therefore might be excluded from the counting. In three dimensions this is done in A001413, A001413(1) = 0, as opposed to A010567(1) = 6. For two dimensions, this alternate definition is also used in A010566(1) = 0.
(End)

Crossrefs

Cf. A010566, A010567, A010569, A010570 (similar for dimension 2 through 6).

Programs

  • Python
    def A010568(n): # For illustration - becomes slow for n > 5
        if not hasattr(A:=A010568, 'r'):
           A.terms = [8]; O = 0,; I = O*4, (1,*O*3)
           A.paths = (*I, (2,*O*3)), (*I, (1,1,0,0))
        while n > len(A.terms):
            for L in (0, 1):
                new=[]; cycles = 0; O=(0,)*4; I = 0,1,2,3
                for path in A.paths:
                    end = path[-1]; weight = 48 if path[2][1] else 8
                    for i in I:
                       for s in (1, -1):
                          t = tuple(end[j]if j!=i else end[j]+s for j in I)
                          if t not in path: new.append(path+(t,))
                          elif L and t==O: cycles += weight
                A.paths = new
            A.terms.append(cycles)
        return A.terms[n-1] # M. F. Hasler, Jun 17 2025

Formula

For all n, a(n) is divisible by 8*n. - M. F. Hasler, Jun 18 2025

Extensions

a(6)-a(8) from Sean A. Irvine, May 31 2018
a(9)-a(10) from Sean A. Irvine, Aug 09 2020
"Self-avoiding" inserted in definition by M. F. Hasler, Jun 18 2025
a(11)-a(13) from Clisby et al.'s data added by Andrei Zabolotskii, Jun 25 2025
Showing 1-2 of 2 results.