Seventy-three, without a search
Assumes Thirty-two from fourteen matrices and Twenty-five cells, and fourteen lattices.
Thirty-two from fourteen matrices builds the fourteen Bravais lattices as Gram matrices, asks each one for its own symmetry, takes every subgroup of every answer — five hundred and ten of them — and sorts those by what they are made of into the thirty-two crystal classes. Then it stops, and it says exactly why it stops.
The unit that the two hundred and thirty space groups are actually built from is finer than a crystal class. It is a point group together with the lattice it acts on, and there are seventy-three of those. Getting from five hundred and ten subgroups to seventy-three classes means deciding when two of the subgroups are conjugate in GL(3,ℤ), and that essay records the attempt as a wall: a brute-force search over integer conjugators with entries between minus two and two is nearly two million candidates for every pair, and the standard shortcut — that a conjugator must carry one group’s invariant quadratic form to the other’s — pins the search down only when the group acts irreducibly, which the low-symmetry classes do not.
The wall was in the question. Conjugacy in GL(3,ℤ) never has to be decided at all.
Before any of that, one sentence about why the finer unit is the one that matters. A space group is not built by choosing a crystal class and then a lattice for it; it is built by choosing an action of a point group on a specific lattice, because the translations and the point operations have to be compatible as integer matrices rather than merely as shapes. The same pattern described twice is about when two such descriptions are the same, and the answer there and here is the same word: when a change of basis relates them.
Every group knows which lattice it belongs to
Take a finite group G of integer matrices. The quadratic forms it fixes — the F with MᵀFM = F for every M in G — make a linear space, because the condition is linear in F. That space is not a curiosity; it is the set of metrics a lattice could have and still be symmetric under G, and its dimension is how many free parameters such a lattice has.
Now take a generic form in that space and ask for its symmetry group. That group contains G, since every element of G fixes every form in the space. It is called the Bravais group of G, and it is one of the fourteen: it is the symmetry of the most general lattice G can act on.
The whole argument turns on one line. If T conjugates G₁ to G₂, then T carries the invariant forms of one to the invariant forms of the other, so it carries their Bravais groups onto each other too. The Bravais group is a conjugation invariant, and it takes only fourteen values. So fix one representative of each of the fourteen; every finite subgroup of GL(3,ℤ) is conjugate into exactly one of them, and two subgroups of the same one are conjugate in the whole group only if they are conjugate by something that preserves that one — by an element of its normaliser.
That is the entire method. It replaces an unbounded search with two bounded computations: which lattice each subgroup belongs to, and what the normaliser of one lattice does to the subgroups belonging to it.
It is worth saying why this is not circular, since the Bravais groups are themselves among the objects being classified. They are not derived from the classification; they are computed directly, one per lattice, by asking which integer matrices preserve a Gram matrix with generic parameters. Fourteen lattices and no others is that enumeration, and it uses no point group and no arithmetic class. So the fourteen are available before the seventy-three are asked for, which is what makes them usable as an invariant.
The second thing worth saying is what the Bravais group is not. It is not the largest group containing G — that would be the whole of GL(3,ℤ) for the trivial group. It is the largest group with the same invariant forms, which is a much tighter object: adding any matrix outside it would cut the space of forms down, so the Bravais group is exactly the symmetry that the metric freedom of G permits. That is the sense in which a group “knows” its lattice: the lattice is not chosen for it, it is read off the forms it fixes.
The first computation: a subgroup belongs to one lattice
A lattice’s own group contains a great many subgroups that are not really about that lattice. The cubic primitive lattice’s group has forty-eight elements and ninety-eight subgroups, and almost all of them fix a much larger space of forms than the cubic one — a subgroup consisting of the identity and the inversion fixes every quadratic form, so its Bravais group is the triclinic one and it describes a triclinic crystal, not a cubic one.
Deciding it costs one linear solve per subgroup: build the space of invariant forms, take a generic member, compute its automorphism group, and compare with the lattice’s own. There is a trap in the word generic and it is worth naming, because getting it wrong silently gives the wrong lattice. A form sitting on the boundary of the invariant space has more symmetry than the space’s interior does — a monoclinic cone contains orthorhombic forms — so a lazy choice like “the first basis element” answers a question about a special case. The forms here are built with deliberately incommensurable weights so that no accidental equality of parameters survives, and pushed into the positive definite region by adding multiples of a metric known to be in the cone.
The same care is why the fourteen lattices themselves are given generic parameters in the first place, which is a habit this collection has had since six integers and the lattice that holds them: a lattice given a = b by accident reports a larger group, and every count downstream inherits it.
There is a pleasant consequence of the flock condition worth noticing in passing. Because every subgroup belongs to exactly one lattice, the fourteen rows of the census partition the classification rather than overlapping it, and the total is a sum rather than a union. That is not automatic: a classification that assigned each point group to every lattice whose group contains it would have to remove duplicates afterwards, and removing duplicates is the expensive step this whole essay is about avoiding. The invariant does the partitioning for free.
The second computation: orbits under the normaliser
What is left after the flock condition is small. Five subgroups belong to cubic P, five to cubic I, five to cubic F, sixteen to the hexagonal lattice, three to orthorhombic P. Those are the candidates for arithmetic classes on each lattice, and the last step is to decide which of them are the same class.
Two subgroups of a lattice’s group are the same arithmetic class when a change of basis that preserves the lattice type carries one onto the other. That group of basis changes is the type’s normaliser: every integer matrix carrying the whole cone of Gram matrices of that type back to itself. It is larger than the lattice’s own group for every type below cubic, and it is infinite for the low-symmetry types, since a monoclinic lattice can be sheared along its unique axis by any integer at all.
Being infinite is not an obstacle because the thing being acted on is finite. Conjugating a subgroup by a normaliser element gives another subgroup of the same lattice’s group, and there are at most sixteen of those in play, so closing under the generators terminates immediately. The whole of the second computation is a breadth-first search over a set of size at most sixteen.
That merging is the same act the ten ways of being mm2 is about from the other direction. There the normaliser decides how many genuinely different ways one point group can be placed; here it decides when two placements have been counted twice. It is the content of the classification rather than a step in applying one, and it is why a table of arithmetic classes cannot be derived from a table of point groups and a table of lattices.
A word about what the normaliser is being asked to do, because it is easy to picture it as a change of axes and nothing more. For orthorhombic P the normaliser does include the six permutations of the axes, and those are what merge the three halvings-of-one-axis into a single class. But for the centred types it does less than that: a C-centred orthorhombic lattice has a distinguished axis, the one perpendicular to the centred face, so its normaliser permutes only two of the three. That is why orthorhombic C has four classes where orthorhombic P has three, out of the same five belonging subgroups — the same set of candidates, merged less, because the type has less freedom in it.
The general shape is that a type with a smaller cone has a smaller normaliser and therefore more classes, and a type with a larger cone has more subgroups belonging elsewhere. The two effects pull opposite ways, and the fourteen rows of the census are where they balance out.
The count
GL(3,ℤ) was ever decided — the fourteen Bravais groups did the deciding, because a subgroup’s own Bravais group is a conjugation invariant taking only fourteen values.By system that is two triclinic, six monoclinic, thirteen orthorhombic, sixteen tetragonal, sixteen on the hexagonal lattice, five rhombohedral and fifteen cubic. It is the classical table, and nothing in this collection consulted one to get it.
The number that makes the method visible is the third column against the second: five hundred and ten subgroups, of which eighty-six belong to their own lattice, of which seventy-three are distinct classes. The first drop is the flock condition and it removes eighty-three per cent of the work; the second is the normaliser and it removes fifteen per cent of what is left. The expensive question was never asked.
It is worth being honest about what changed, since the two routes answer the same question. Nothing was made faster. A different quantity was computed — the Bravais group of each subgroup — and that quantity happens to answer most of the original question for free. The general problem of deciding GL(3,ℤ) conjugacy for two arbitrary finite subgroups is still hard and is still not solved here; what is solved is the classification, by never needing the general problem.
One more property of the second step deserves a sentence, because it is what makes the orbits trustworthy. The generators are found by searching integer matrices with entries between minus one and one, which is not obviously enough — a normaliser can contain matrices with larger entries, and a missing generator would split a class in two and give a count above seventy-three. What makes it safe is that a missing generator can only ever increase the count, never decrease it, so a count that lands exactly on the classical value is evidence the generating set was complete. The check is the answer, which is not a satisfying argument in general and is a sound one when the target is independently known.
Thirty-two, as a quotient
The check that the seventy-three are right is that they reproduce the thirty-two.
Sorting the seventy-three by operation content — how many operations of each of the ten kinds, which a determinant and a trace decide — gives exactly thirty-two distinct answers. That is not a new construction; it is the same sorting the previous essay applied to five hundred and ten subgroups, applied now to seventy-three classes. Getting the same thirty-two from a set eighty-six per cent smaller is a real check on the flock condition: if it had thrown away a class, one of the thirty-two would be missing.
Reading the splitting is more informative than reading the total. The classes that do not split are the ones whose Bravais group is a single lattice — the cubic classes of full cubic symmetry, for instance, which have nowhere else to live. The classes that split most are the low ones, which occur on several lattices because their invariant form space is large enough to be the cone of more than one type. And the split that is not about lattices at all is the one 3m1 and 31m are one class is about: the same geometric class, on the same hexagonal lattice, in two orientations the normaliser cannot merge. Two arithmetic classes, one lattice, one geometric class — which is precisely why an arithmetic class is not a pair of a class and a lattice.
The eight that do not split are worth listing against the five that spread the widest, because the two ends say different things. A class that occurs on one lattice only is one whose invariant form space is a single type’s cone — the cubic classes, and the hexagonal ones. A class that occurs on five is one whose form space is large enough to be the cone of five different types, and the widest of them all is not the trivial group, which occurs on exactly one: its invariant space is everything, so its Bravais group is triclinic and it belongs there and nowhere else. The classes that spread are the middling ones, which is the opposite of the naive expectation in both directions.
What this settles, and what it does not
The seventy-three are the input to the space group enumeration, and having them changes the shape of what remains. From seventeen to two hundred and thirty describes the extension arithmetic that turns an arithmetic class into the space groups built on it, and two hundred and thirty or two hundred and nineteen describes the last merge. Both take the seventy-three as given; they can now be taken as computed.
The plane’s version has been computed here for a long time — thirteen ways to hold a lattice is the same classification in two dimensions, where the search is small enough to do directly. What was missing was not the idea but a route to it in three dimensions that a small computation could take, and the route turns out to be a change of question rather than a better search.
What is still not done here is the enumeration of the space groups themselves. That needs the second cohomology of each of the seventy-three with coefficients in its lattice, and then a merge under the affine normaliser — the same two steps the plane version takes, at a size this collection has not attempted in three dimensions. The obstacle there is not conceptual and it is not a wall of the kind this essay removes; it is the ordinary work of computing seventy-three cohomology groups and then their orbits.
The first refusal is the one that would be easiest to write by accident, because “the subgroups of a lattice’s group are the point groups a crystal on that lattice may have” is a true and useful sentence — the holohedry is the ceiling is built on it. What it is not is a statement about which lattice the resulting crystal has. A cubic crystal whose point group is only 1̄ is a triclinic crystal that happens to have been described in a cubic cell, and the arithmetic classification is precisely the bookkeeping that refuses to count it twice.
The second refusal is the one that guards the arithmetic rather than the argument. Conjugating a subgroup by a normaliser element requires inverting an integer matrix and getting an integer matrix back, which happens only for determinant plus or minus one — and a normaliser generator that had slipped through with determinant two would produce conjugates that are not subgroups of anything, quietly merging classes that should be separate. The count would come out too small and nothing else would complain, which is the shape of error this collection’s refusals exist for.
Named alongside this one
Essays reaching for the same objects. Nobody chose these; they are what the concept index makes visible.
- The halving a lattice will not permit bravais lattice · gram matrix · holohedry · normaliser
- The cell that settles the argument bravais lattice · gram matrix · holohedry
- Thirty-two, and no others crystal class · holohedry · subgroup
- A hand made of pieces that have none holohedry · normaliser
- Every plane lattice is its own dual bravais lattice · gram matrix
- Five lattices, and no others bravais lattice · holohedry
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.
Arithmetic classBravais latticeCrystal classGram matrixHolohedryNormaliserSubgroup