Symmetry at work

Every net with two vertices, counted

The one-vertex census could not contain the honeycomb, because the honeycomb has two vertices in its cell. Adding the second one closes a family at two nets, removes the floor of p2 entirely, makes a third of the members undrawable, and forces the census to refuse a kind of description the first one never met: an honest quotient graph written on twice the cell it needs.

Assumes Every net with one vertex, counted, The symmetry a net was written with and The placement nobody chose.

The one-vertex census closed one family and failed to close another, and it could not contain the net that made this collection interested in nets at all. The honeycomb has two vertices in its cell — that is what makes it a honeycomb rather than a triangular net — so it was outside the search by construction.

Two vertices is therefore the next census, and it was left for later on the grounds that the extra vertex costs only arithmetic: the same enumeration with more voltages, the same equivalence with a relabelling in it. That turned out to be wrong in three separate ways, and each of them is a statement about descriptions rather than about nets.

Two vertices and three edges: two nets, at every box size tried. Every net with two quotient vertices and the stated number of edges, counted inside boxes of voltages of several sizes. One cross voltage is set to zero by the gauge — the freedom that moving one vertex into another cell gives — and the rest are drawn from the box. Each entry is the count of nets whose placement separates their vertices, plus the count of those whose does not: the first has a canonical description and stops growing, and the second does not have one and therefore keeps rising with the box. The reducible column is the descriptions thrown away for a reason the one-vertex census never had — cycles generating the whole of ℤ² and a net whose own cell holds one vertex rather than two — and it is empty at every odd edge count, because the swap that would reduce a description pairs its edges and an odd number cannot pair.
Fig. 1 The census. Each entry is the number of nets whose placement separates their two vertices, plus the number whose does not. The three-edge family’s stable part is two nets at every box size tried; the four-edge and five-edge families are still rising. The last column but one is the descriptions thrown away for a reason the one-vertex census never had to invoke.

What the family is, and what a gauge buys

A two-vertex quotient graph has three kinds of edge: a cross edge joining the two vertices, and a loop at either of them. Every edge carries a pair of integers, the cell its far end sits in, and the whole net is that finite object.

Connectivity requires at least one cross edge, or the description is two nets side by side rather than one. Beyond that the enumeration runs over how many edges are cross edges, how the remaining ones are divided between the two vertices as loops, and what voltage each one carries.

The gauge — moving one quotient vertex into a different cell — is the freedom that makes this cheaper than it looks. It adds a fixed vector to every cross voltage and touches no loop, because a loop leaves and returns at the same vertex. So one cross voltage can always be set to zero, once, and after that there is no gauge freedom left to search over. That is the bound this census is taken inside: one cross voltage is zero, and every other voltage lies in a box. Stating it that way is not a convenience; a census whose search space is described only as “voltages in a box” is a census counting each net once per gauge, which is infinitely often.

What remains of the equivalence is the relabelling of the two vertices and the change of basis. The relabelling negates every cross voltage, since an edge written from vertex 0 to vertex 1 is the same edge written the other way with the opposite voltage, and it swaps the two loop sets. The change of basis acts on all of them at once.

Two nets, and one of them is not really new

The three-edge family is the smallest interesting one, and it closes. Its stable part is two nets, at every box size the search can reach, and one of them is the honeycomb.

2 of the 4 two-vertex nets with 3 edges, drawn. Every net with two quotient vertices and 3 edges inside a box of 3, unfolded over 3 by 3 cells at the placement in which each vertex sits at the average of its neighbours, with the home cell outlined. Under each is its plane group and the first four terms of its coordination sequence. The honeycomb is the one net here anybody has named; the rest are perfectly good nets that no database contains, which is what a census produces and a collection of examples cannot. 2 of the 4 are unstable — two vertices at one point — and have no drawing at all.
Fig. 2 The two of them, unfolded over three cells by three with the home cell outlined, each on the basis its own edges ask for. Under each is its plane group and the first four terms of its coordination sequence. The left has a vertex of degree two, which is the whole of what separates it from a net already in this collection.

The honeycomb is the one everybody knows: three cross edges, no loops, both vertices of degree three, group p6m. The other has one cross-edge pair and a loop, so its two vertices have degrees two and four, and its group is pmm.

A vertex of degree two is worth stopping on. It has exactly two neighbours, so it is a point sitting in the middle of an edge — a subdivision rather than a junction — and a net with one is the same framework as the net without it, with a bead threaded on one bond. Contract that vertex and the two cross edges become a single loop carrying the difference of their voltages, and the result is the square net exactly: sameNet says so, and the contracted description’s group is p4m.

So the three-edge two-vertex family is the honeycomb and a decorated square net, and nothing else at all. That is a satisfying answer and it comes with a warning attached, which is that subdivisions are why a census of nets by vertex count is not a census of frameworks. Every net in this collection has a two-vertex version, and a three-vertex one, and so on for ever; the counts here are counts of quotient graphs of a given size, and the interesting question of which of them are new is a separate one that no enumeration answers by itself. Losing a four-fold axis by inserting a bead is the visible form of that: the framework is unchanged and the group is not, because the group is a property of the drawing and the bead has to be drawn somewhere.

The second way a description can be a supercell

The one-vertex census rejects a description in one way. If the cycles of the quotient graph generate a proper sublattice of ℤ², the voltages are measured against translations the net does not have, the cell is larger than the net needs, and every count taken from the description is wrong by the index. That test is the same one the first nets essay built, and it is the only one a single vertex can fail.

With two vertices there is a second kind, pointing the other way, and neither test can see the other.

One net, two vertices, and a cell twice the size it needs. The square net written on its own cell and on a cell of twice the area. The second is a perfectly honest quotient graph — two vertices, four edges, and cycles that generate the whole of the translations it is written against, which is the only test the one-vertex census makes. What is wrong is that the net has a translation the description does not record, carrying one quotient vertex to the other, so every count taken from the description — vertices per cell, edges per cell, orbits — is out by a factor of two. The test is whether a swap of the two vertices composed with a gauge is an isomorphism, and whether the gauge is odd: an odd gauge is half of a translation and an even one is an involution, which is torsion and not a translation.
Fig. 3 The square net on its own cell and on a cell of twice the area. The second is a perfectly honest quotient graph — two vertices, four edges, cycles generating the whole of the translations it is written against — and it describes a net with one vertex per cell. The cycle test passes it; every count taken from it is out by two.

The square net written on a doubled cell has two quotient vertices and four edges, and its cycles generate the whole of ℤ². It fails nothing the first census tests for. What is wrong is that the net has a translation the description does not record, carrying one quotient vertex to the other, so its own cell holds one vertex and the description says two.

The test for it is short. An isomorphism of the labelled voltage graph that swaps the two vertices and acts as the identity on ℤ² is a map of the infinite graph commuting with every translation, and the group generated by the translations and that map is a lattice containing ℤ² with index two — provided it has no torsion. Since the map can always be composed with a translation, one of the two gauge vectors it carries may be set to zero, and the whole question is the parity of the other: an odd component and the group is a lattice, both components even and the map is an involution.

The involution case is not hypothetical, and it is what stops the test from throwing away honest nets. Two vertices joined by one edge of voltage (0, 0), each carrying the square net’s own two loops, is swapped by a map of order two. The group generated is not a lattice but a lattice times a two-element group, so there is no larger translation lattice, and the description is on the net’s own cell after all. That net is unstable — the swap forces both vertices to the same barycentric point — but it is a net, and a test that reduced every swap would have counted it as a supercell of something it is not.

Why only an even number of edges can be reducible

The census reports zero reducible descriptions at three edges and at five, and eighty-eight of them at four, and it is not told to. The parity falls out of the same map.

A swap that reduces a description pairs the edges off: a cross edge goes to a cross edge, and a loop at one vertex goes to a loop at the other. No edge can be its own partner. A cross edge is fixed only if its voltage s satisfies 2s equal to the gauge, and the gauge has an odd component, so no integer s does it; a loop cannot be fixed because it is at the wrong vertex. Every edge therefore lies in a pair, and an odd number of things cannot be divided into pairs.

Which means a reducible description has exactly twice the edges of the net it is describing — a fact about the index of the hidden translation, coming out of a count of edges. The one-vertex census had no analogue, because its rejection is about the lattice the cycles generate and says nothing about how many edges there are.

The four-edge family, where the counting stops being small

Three edges give two nets and four give sixteen inside the smallest box and a hundred and sixty-eight inside the next, with no sign of stopping. That is the same shape the one-vertex census met one row earlier, and the reason is the same: each extra edge is another pair of integers that is free once the others have been normalised, so the family has more parameters than the equivalences have to spend.

8 of the 24 two-vertex nets with 4 edges, drawn. Every net with two quotient vertices and 4 edges inside a box of 1, unfolded over 3 by 3 cells at the placement in which each vertex sits at the average of its neighbours, with the home cell outlined. Under each is its plane group and the first four terms of its coordination sequence. The honeycomb is the one net here anybody has named; the rest are perfectly good nets that no database contains, which is what a census produces and a collection of examples cannot. 16 of the 24 are unstable — two vertices at one point — and have no drawing at all.
Fig. 4 Eight of the sixteen four-edge nets inside a box of one whose vertices can be separated, drawn at the placement that separates them — sampled across the degree profiles rather than taken in enumeration order, since the census emits its members grouped. Eight more inside that box are unstable and have no drawing at all.

Two things in that plate are worth naming. The first is the degree sum, which is fixed before the enumeration starts: four edges have eight ends, so the two degrees always add to eight, and every way of splitting that occurs — four and four seven times, three and five five times, two and six four times — with no other combination possible. It is the handshake lemma doing the only work it can do here, and it is why a census by edge count is also, secretly, a census by degree.

The second is that this is a plate of unnamed nets. The honeycomb is in the row above; not one member of this row has a name in any database, because nobody had a reason to write it down. Four of the sixteen have a vertex of degree two and are therefore subdivisions of smaller frameworks, which leaves twelve that are genuinely four-edge objects.

That is the case for running a census at all. A collection of examples can say what an interesting net looks like and can never say what a net looks like, and the difference between those two is a question about a population that only an enumeration can answer.

The floor that was not a floor

The one-vertex census has a floor, and the essay that built it explains why: the single vertex sits at the origin of its own barycentric placement, its edges leave in ± pairs, and the inversion x ↦ −x is therefore a symmetry of every one-vertex net there is. p2 is not a symmetry those nets happen to have; it is one they cannot avoid, and the census is a measurement of how rarely anything is added to it.

Two vertices remove the argument entirely. There is no reason for the inversion about anything to carry one vertex to the other, and no reason for the pair of vertices to be placed symmetrically at all.

Of 261 two-vertex nets, 39 have no symmetry at all. Every net with two quotient vertices and 4 edges inside a box of 2, sorted by its own plane group — measured on the basis its edge form asks for rather than on the basis the enumeration happened to reach it in, which is the correction the one-vertex census needed. The unstable entries are the nets whose barycentric placement puts both vertices at one point; they have no drawing and no group, and they are a large fraction of the family, which is the difference two vertices make.
Fig. 5 The four-edge family sorted by group. Thirty-nine of the two hundred and sixty-one have p1 — no symmetry beyond the identity — which is a group no member of the one-vertex census can have. The unstable entries are the nets whose two vertices land on one point; they have no drawing and therefore no group.

Thirty-nine of the two hundred and sixty-one four-edge nets have p1 exactly, and nineteen of the ninety-one five-edge nets do. So the answer to “what is a net like when nobody chose it” changes with the number of vertices, and it changes in the direction that makes the one-vertex answer look like an artefact of the question: the floor of the first census was a consequence of there being one place to put one vertex, and not a fact about nets.

That is the same shape of statement the motif essay makes about a single dot. A lone point cannot illustrate the group with no symmetry at all, because the midpoint between it and its own translate is an inversion centre nobody asked for; the honest way to build a p1 pattern is to use more than one point. A one-vertex net has that problem in a different language, and this census is where it stops being a problem.

A third of them cannot be drawn

The other thing two vertices bring is collisions. The barycentric placement puts every vertex at the average of its neighbours, and with two vertices there is nothing to stop the average of one from being the average of the other.

Ninety-three of the two hundred and sixty-one four-edge nets are like that, and twenty-four of the ninety-one five-edge ones. Those nets have no drawing at all — or rather, the drawing they get is a correct picture of a smaller net, with the collided vertices indistinguishable and their edges appearing to meet.

Comparing positions has to be done modulo the lattice, which is a sentence this census had to learn. A vertex at (0, 0) and one at (1, 1) are one cell apart, which is the same point of the pattern, so the drawing puts them on top of one another exactly as if their coordinates had been equal. Comparing the raw coordinates missed it, and twenty-five of the four-edge nets are precisely that shape: two vertices joined by a cross edge of voltage (0, 0) and another of (−2, −2), whose barycentres are one whole cell apart. Every one of them was reported stable, handed to the detector, and came back with no operations at all — not even the identity, because the detector reduces into the home cell, found one point where the description promised two, and could match nothing.

An operation count of zero is a good failure, in that it cannot be mistaken for an answer. The bad version is the one the collision test was quietly producing before: a net reported as having a group, drawn as though its two vertices were somewhere they are not.

What the census refuses

What the two-vertex census has to refuse. The negative tests on the two-vertex census. The first two are the two ways a description can be a supercell — thin cycles, and a vertex set with a translation in it — and the point is that neither test sees the other. The third is the torsion case that stops the second from throwing away honest nets, and the last is the parity consequence the enumeration is not told and reports anyway.
Fig. 6 The negative tests. The first two are the two supercells, one in each direction, and the point of running both is that neither test sees the other. The third is the torsion case that keeps the second honest, and the last is the parity consequence the enumeration is not told and reports anyway.

The one to name is the first pair. A test suite that only contained “reject a description whose cycles are thin” would pass the square net on a doubled cell; one that only contained “reject a description with a hidden translation” would pass a description written against a sublattice. Both are supercells, they are supercells in different objects — the translations, and the vertex set — and a census needs both tests because a description can fail either alone.

The third is the one that makes the second safe. An assertion that rejects everything is not an assertion, and a reducibility test that treated every vertex swap as a hidden translation would reject nets that are perfectly well described. The involution case is the input that must be refused a refusal, and it is fed in on purpose.

Where the exactness stops

Computed here: every two-vertex quotient graph with the stated number of edges and one cross voltage gauged to zero; the rejection of the disconnected, the thin, the repeated and the reducible; the reduction of what survives to one representative per net; the group of each, on the basis its own edge form asks for; and the coordination sequence of each vertex.

The stable counts are counts, and the unstable counts are counts at a bound. A stable net has a canonical description — reduce the form its edges make, try the reduced form’s own automorphisms and the two relabellings, home every vertex, take the smallest key — so equal keys mean equal nets and no comparison is needed. An unstable net has no placement to reduce and therefore no canonical key, so those are still compared pairwise by a bounded search, and their number rises with the box for a reason that may be the box rather than the family. The three-edge row shows both behaviours at once: two stable nets at every bound, and two unstable ones becoming four at a box of four.

A census of quotient graphs is not a census of frameworks. Subdivisions guarantee that every net appears again, larger, in every later row; deciding which members of a row are new requires contracting the degree-two vertices, which is done here for the one net that has them and not as a general procedure.

And nothing here decides embeddability. A net whose barycentric drawing has crossings may have another drawing without them, and the question of which of these are plane graphs — let alone which are structures — is harder than the enumeration and is not answered by it.

Where the ladder goes next

Back, to the one-vertex census, whose floor this one removes and whose count this one corrects, and to the basis a net’s symmetry is measured in, which had to be settled before either census could report a group.

Sideways, to what a net’s own structure records once its coordinates are gone: counting outwards, where the shells of a net are a quasi-polynomial, and every net folds onto a torus, where the vertices, edges and faces of a quotient graph satisfy an accounting with no geometry in it.

Onward, to the frameworks these nets become when their edges are made rigid: the count that promises a mechanism, where the same quotient graph is asked a question whose answer depends on the cell it is written in — which is the same sensitivity to the description that this census spent its length dividing out.

Named alongside this one

Essays reaching for the same objects. Nobody chose these; they are what the concept index makes visible.

What links here

Every essay whose body links to this one.

The objects this essay names

Each one links to every other essay that touches it.

Barycentric placementCensusChange of basisCrystal netFree actionGraph isomorphismQuotient graphTorsionTranslation groupVoltage