login
A342235
Coordination sequence of David Eppstein's "Tetrastix" graph.
1
1, 4, 12, 28, 50, 76, 110, 148, 194, 244, 302, 364, 434, 508, 590, 676, 770, 868, 974, 1084, 1202, 1324, 1454, 1588, 1730, 1876, 2030, 2188, 2354, 2524, 2702, 2884, 3074, 3268, 3470, 3676, 3890, 4108, 4334, 4564, 4802, 5044, 5294, 5548, 5810, 6076, 6350, 6628
OFFSET
0,2
COMMENTS
The graph in question is the subgraph of the adjacency graph of Z^3, induced by the set of vertices whose coordinates are not all of the same parity. The graph is regular of degree 4, and is vertex-transitive, so it only has one vertex coordination sequence. Conjecture: the second differences are 5, 8, 6, [4, 8], where the bracketed portion repeats.
LINKS
David Eppstein, Mathstodon post about this graph, Feb 21 2021.
EXAMPLE
The vertices at distance 2 from (1,0,0) are (0,-1,0),(0,0,-1),(0,0,1),(0,1,0),(1,-2,0),(1,0,-2),(1,0,2),(1,2,0),(2,-1,0),(2,0,-1),(2,0,1),(2,1,0). There are 12 of them, so a(2) = 12.
PROG
(Haskell)
-- The main entry is the last one.
-- Rotate a triple
rot :: Int -> (Int, Int, Int) -> (Int, Int, Int)
rot 0 (x, y, z) = (x, y, z)
rot 1 (y, z, x) = (x, y, z)
rot 2 (z, x, y) = (x, y, z)
-- Eppstein graph neighbors helper
egcn' :: Int -> Int -> Int -> Int -> [(Int, Int, Int)]
egcn' x y z r =
if mod (y+z) 2 == 0
then []
else map (rot r) [(x-1, y, z), (x+1, y, z)]
-- Eppstein graph neighbors
egcn :: (Int, Int, Int) -> [(Int, Int, Int)]
egcn (x, y, z) =
egcn' x y z 0 ++
egcn' y z x 1 ++
egcn' z x y 2
-- Eppstein graph coordination step helper
egcstep' :: [(Int, Int, Int)] -> [(Int, Int, Int)] -> [(Int, Int, Int)] -> [(Int, Int, Int)]
egcstep' _ [] next = next
egcstep' prev (this:rest) next =
egcstep' prev rest (next ++ filter (\p -> not (elem p prev || elem p next))
(egcn this))
-- Eppstein graph coordination step
egcstep :: [(Int, Int, Int)] -> [(Int, Int, Int)] -> [(Int, Int, Int)]
egcstep prev curr = egcstep' prev curr []
-- Eppstein graph circle iterator
egciter :: Int -> [(Int, Int, Int)] -> [(Int, Int, Int)] -> [(Int, Int, Int)]
egciter 0 prev curr = curr
egciter n prev curr = egciter (n - 1) curr (egcstep prev curr)
-- Eppstein graph circle; points at distance n
egc :: Int -> [(Int, Int, Int)]
egc n = egciter n [] [(1, 0, 0)]
-- Eppstein graph coordination sequence; main function.
egcs :: Int -> Int
egcs = length . egc
(PARI) See Links section.
CROSSREFS
Cf. A091999.
Sequence in context: A301005 A178571 A278211 * A192736 A109629 A112087
KEYWORD
nonn
AUTHOR
Allan C. Wechsler, Mar 06 2021
EXTENSIONS
More terms from Rémy Sigrist, Mar 07 2021
STATUS
approved