Seventeen, without a picture
Assumes Thirteen ways to hold a lattice and The half of a translation that is not a choice.
There are four arguments in this collection that end in seventeen. The classification proof cuts on rotation orders and mirror positions and works through the cases. The orbifold argument gives every feature of a folded pattern a price and finds the ways of spending exactly two. The round trip generates a pattern from a group and hands the bare points to a detector. And a fourth, which is the subject here, has no plane in it at all: no lattice is drawn, no orbit is generated, no point is placed anywhere — none of the machinery the plates are made of.
Only a finite group of integer matrices, the module it acts on, and the arithmetic of extensions.
What is being counted
A plane group G contains its translations. They form a lattice L, isomorphic to the integers in two directions, and they are a normal subgroup: conjugating a translation by any symmetry gives a translation. The quotient G/L is finite — it is the point group, acting on L as a group of integer matrices, and there are thirteen such actions up to a change of basis.
So every plane group is an extension
and building one means choosing, for each element g of P, a translation t(g) to attach to it. The choice is not free. Composing twice, both ways round, forces
modulo the lattice — the cocycle condition, which is the only condition there is. And two choices describe the same group when they differ by a change of origin: shifting by s replaces t(g) by t(g) + (M(g) − I)s. Those differences are the coboundaries.
The classification is then one sum: for each of the thirteen classes, count the assignments satisfying the condition, divide out the ones that differ by an origin, quotient by the changes of basis that are relabellings rather than differences, and add up.
The answer, class by class
Ten of the thirteen classes have nothing to choose: every consistent assignment of translations is a coboundary, so the only group in the class is the one with no intrinsic translations at all. That is where p1, p2, p3, p4, p6, cm, cmm, p3m1, p31m and p6m come from, and it says something worth noticing — most of the seventeen are not interesting extensions. They are the point group sitting on its lattice with nothing added.
Three classes have a genuine choice, and they produce the seven remaining groups:
- m on a rectangular lattice admits two: the mirror with no translation, and the mirror with half a cell along itself. Those are pm and pg, and the second is the glide.
- 4mm on a square lattice admits two: p4m and p4g.
- 2mm on a rectangular lattice admits four, of which more below.
Adding the columns gives eighteen extension classes and seventeen groups, and the discrepancy is one class.
The mirror class, worked through by hand
One class is short enough to do completely, and doing it once makes the machinery concrete.
Take the point group with two elements — the identity and a mirror m across the b axis — acting on a rectangular lattice. The identity’s translation is zero, forced. The mirror’s translation is a pair (a, b) to be chosen. Composing the mirror with itself gives the identity, so the cocycle condition reads
modulo the lattice — which says 2a is a whole number and nothing at all about b. So a is nought or a half, and b is free.
Now the coboundaries. Shifting the origin by s changes the mirror’s translation by (M − I)s = (0, −2s₂), which reaches every value of b and no value of a at all. So b is entirely removed by a change of origin, and a is not.
Two classes: a = 0 and a = ½. The first is pm, a plain mirror. The second is pg, whose mirror slides half a cell along itself and is a glide. That the translation along the mirror survives and the translation across it does not is the whole content of the split between intrinsic and locative parts, arriving here as a statement about which coordinates the coboundaries reach.
The one place the two counts differ
The rectangular class 2mm has cohomology (ℤ/2)², which is four extension classes. The four are pmm, with both mirrors clean; pgg, with both replaced by glides; and two with one of each — a mirror along a and a glide along b, or the other way round.
Those last two are the same group. The change of basis exchanging the two axes normalises the point group, so it acts on the extensions, and it swaps exactly that pair. Its action was computed rather than assumed: the conjugation is applied to each cocycle, the image is identified with the class it lands in, and the orbits are counted.
Every other class has a cohomology on which the normaliser acts trivially. There is no second merge anywhere among the thirteen, and it takes a computation to know that rather than a glance — which is precisely why the action is computed for all of them and not only where trouble is expected.
The class that most looks as though it should merge is the square one, and it is worth saying why it does not. 4mm on a square lattice has two extension classes, p4m and p4g, and the change of basis exchanging the two axes is in the normaliser there as well — a square lattice’s axes are as swappable as a rectangular one’s. The difference is what the swap does. In the rectangular class the two axes carry independent choices, so exchanging them exchanges two different cocycles; in the square class the four-fold rotation already identifies the axes with one another, so a cocycle assigning a glide to one has assigned it to both, and the swap moves nothing. A merge needs a normaliser element and a pair for it to exchange, and the square class supplies the first and not the second.
That is the shape of the whole quotient, and it is why the computation is short: the normaliser is large in every class, and it acts trivially in twelve of thirteen because the point group has usually already done the identifying.
What “the same group written twice” means here
The distinction between eighteen and seventeen is the distinction between two questions, and both are legitimate.
How many inequivalent ways are there of attaching translations to this point group? — eighteen, over the thirteen classes.
How many plane groups are there? — seventeen, because the classification does not distinguish a group from the same group on relabelled axes.
The second question has the extra quotient in it, and the quotient is by the normaliser of the point group inside the group of lattice-preserving changes of basis. This is the same machinery that gives two hundred and thirty rather than two hundred and nineteen in three dimensions — only there the quotient is taken by orientation-preserving changes alone, and eleven pairs survive it that would otherwise merge. The plane’s version of that story is a single pair, and it merges.
What the grid is doing, and why it is not deciding anything
The translations are searched on a grid: halves, thirds, quarters, sixths and their combinations, up to a stated denominator. That is the one approximation in the computation, and a search on a grid is exactly the kind of thing that can quietly decide an answer.
So it is refined rather than trusted.
There is a second place where a grid must be handled carefully and it is much less obvious. The coefficients of the cohomology are the rational points modulo the integers, and that group is divisible: every element is twice some other element, three times another, and so on. A grid is not divisible. So an origin shift restricted to the same grid as the translations reaches only part of what it should, and the quotient comes out too large.
Computed that way, the two-fold class reports four classes where it has one, and every count on the page is wrong in the same direction. The fix is to let the origin run on a finer grid and keep the shifts whose effect lands back on the coarse one, which is the intersection the quotient actually needs. The failure is instructive because nothing about it looks like a bug: the numbers are plausible, they are stable under refining the translation grid, and only the total gives it away.
What the round trip has to say about it
The two routes to seventeen are independent, and the second is used to check the first.
Every cocycle that survives the quotient is turned back into a set of operations — the point group’s matrices with the cocycle’s translations attached — and compared with each of the seventeen as this collection stores them, allowing a change of basis and a shift of origin. Every class is named, and the names come out as the classification says: the mirror class gives pm and pg, the 2mm class gives pmm, pmg and pgg, the 4mm class gives p4m and p4g.
Separately, the seventeen are sorted into arithmetic classes by their own point groups, and the number in each class is compared with the number of extensions the class was found to admit. Thirteen comparisons, thirteen agreements. Two routes that share nothing but a list of thirteen matrix groups, arriving at the same distribution.
The cohomology as a group, not a count
The extensions of one class do not merely have a number; they have a group structure, and the shape of that group says something the number does not.
Adding two cocycles gives a cocycle, and adding a coboundary changes nothing, so the classes form an abelian group. For the mirror class it is ℤ/2 — two elements, and the non-trivial one is its own inverse, which is the statement that doing pg’s half-cell slide twice gives a whole cell. For the rectangular 2mm class it is (ℤ/2)², two independent halves, one per axis, which is why the four groups are exactly the four ways of choosing whether each axis carries a glide.
A cyclic group of order four would have meant something different — a single translation of a quarter, doubling to a half and only closing at the fourth — and that shape occurs in three dimensions, in the four-fold screws, but nowhere in the plane. The distinction is invisible in a count of four and immediate in the group.
Where the exactness stops
Three limits, and the first is about what the computation is entitled to say.
Nothing here proves the classification. It computes it, on a stated grid, for the thirteen classes supplied to it. That the list of arithmetic classes is complete is a separate argument and a real one; this computation would run just as happily on twelve of them and report a smaller number with no complaint.
The normaliser search is bounded. The changes of basis are drawn from the integer matrices with small entries, which is enough for the plane and is a bound rather than a proof. A merge requiring a matrix with an entry of five would be missed, and the honest statement is that none was found among the matrices searched.
And nothing here says what any of the groups look like. The whole point is that the classification survives having its pictures taken away — but a reader who wants to know what p4g is will not find it in a cocycle. That is what the plates are for, and the two halves of the subject are complementary rather than competing.
A third description, for the same reason
It is worth naming one more, because two routes agreeing is a coincidence and three is a fact about the plane.
A presentation forgets the lattice and keeps the letters. Written as generators and relations, a plane group is two to four letters and a handful of relators, and abelianising it — throwing away the order in which the letters are multiplied — leaves an abelian group that can be computed from the relator matrix by an integer normal form. That computation has no lattice in it, no cocycle, and no cell.
It separates pm from pg, which is the pair this essay derived above from a coboundary calculation: pm’s abelianisation is ℤ ⊕ ℤ₂ ⊕ ℤ₂ and pg’s is ℤ ⊕ ℤ₂, so the two are told apart by an invariant that never mentions a mirror. What it does not do is separate everything. Only twelve different abelian groups come back from the seventeen — p2, pmg, cmm and p4m all abelianise to ℤ₂ ⊕ ℤ₂ ⊕ ℤ₂ — so the presentation route is a genuinely independent description and a strictly coarser one.
That is the honest shape of the comparison, and it is why the cocycle route is worth its length. Patterns, extensions and presentations describe one classification, the first two of them completely and the third not; and the number seventeen appearing in machinery this different is what makes it a fact about the plane rather than about a method.
Who did this, and when
The cohomological description of crystallographic groups is twentieth-century algebra applied to a nineteenth-century classification. Fedorov and Schoenflies had the plane groups by 1891 and the space groups shortly after, by case analysis. Zassenhaus gave the algorithm that turns the classification into a finite computation in 1948 — enumerate the arithmetic classes, then the extensions of each — and it is his procedure that produced the higher-dimensional counts: four thousand seven hundred and eighty-three in four dimensions, computed by machine in 1978.
The language of cocycles and coboundaries came from topology by way of Eilenberg and Mac Lane in the 1940s. It is worth being clear that it adds no facts here: the arithmetic is what Zassenhaus was doing either way. What it adds is that the object being counted has a name, a group structure of its own, and a place in a subject where the same construction counts other things entirely.
Why a grid of that denominator is enough
The translations are searched on a grid, and a grid search over a continuum needs an argument rather than a refinement. There is one, it is short, and it turns the computation from a plausible sweep into a bounded enumeration.
The cocycles form an abelian group and so does the quotient by the coboundaries. For a finite group P acting on a module, the order of P annihilates that quotient: adding any cohomology class to itself |P| times gives zero. So every extension class is killed by multiplication by |P|, which means every one of them is represented by translations whose coordinates are multiples of 1/|P|.
That is the bound the grid needs. A point group of order four cannot produce an extension needing a translation of a fifth or a third; the only fractions available are quarters and halves. A grid of denominator |P| therefore misses nothing, and refining it further can only reproduce the same classes — which is exactly what the figure showing several grid resolutions reports, and the reason the agreement there is a check rather than a coincidence.
It also explains a feature of the seventeen that otherwise looks like a small mercy. Every translation appearing in any plane group is a half, a third, a quarter or a sixth of a lattice vector, and nothing finer occurs anywhere. That is not an observation about the list; it is the annihilation bound together with the orders a lattice permits, and the two together say in advance which denominators can appear before a single group is constructed.
The same machine, one dimension up
The argument on this page is stated for the plane and it mentions the plane nowhere. Run it in three dimensions and it produces the two hundred and thirty, by the identical steps.
The inputs change and the method does not: instead of thirteen arithmetic classes there are seventy-three, each a finite group of three-by-three integer matrices acting on a lattice, and for each one the cocycles are enumerated and quotiented by the coboundaries and by the normaliser. The sum over the seventy-three is two hundred and thirty. No pictures anywhere, and no need for the three-dimensional intuition that the plane case was still available to.
That is the property that makes the approach worth having, because it keeps working where intuition stops. The four-dimensional space groups — 4,783 of them — were computed this way in the 1970s, by an algorithm running the same three steps over the four-dimensional arithmetic classes, and there is no other way anybody has found to get them. The enumeration is not a check on a known answer there; it is the answer, and the confidence in it rests on the algorithm having reproduced the seventeen and the two hundred and thirty first.
The merge this page found in the plane is also the thing that gets harder. Deciding when two extension classes give the same group means computing a normaliser action, and in the plane there is exactly one merge across all thirteen classes. Higher up the merges are numerous and are where the arithmetic is delicate — which is the same statement as the observation that two hundred and thirty against two hundred and nineteen is a question about which conjugations are allowed rather than about which groups exist.
Where the ladder goes next
The extension count is a machine that runs in any dimension, and the interesting question is what it does when the answer is not already known. The next rung is the same computation applied where it is not a check but a prediction — and the rung below it, so to speak, is the concrete version for a single class, where the sixteen candidate assignments and the ten groups they come to are written out one at a time.
The other direction is about what the count means. Two extension classes are different groups; two groups can be abstractly isomorphic without being the same plane group — or so it would seem, and it turns out they cannot be, which is a theorem about crystallographic groups rather than about groups.
That is also the reason the plane case is worth doing after the answer is known. A method whose only test is a computation nobody can check is not a method, and the seventeen are the one case where every step can be verified against a list arrived at four other ways.
What this makes readable
Essays that name this one as a prerequisite.
Named alongside this one
Essays reaching for the same objects. Nobody chose these; they are what the concept index makes visible.
- Why there is a list at all arithmetic crystal class · group extension
What links here
The 8 essays that link to this one and share the most of its objects, of 13 that link here.
The objects this essay names
Each one links to every other essay that touches it.
Arithmetic crystal classClassificationCoboundaryCocycleGroup extensionNormaliserOrigin shift