A fingerprint that gave the right answer
Assumes Thirty-two, and no others.
The enumeration that produces the thirty-two crystal classes has one step in it that is not obviously legitimate. Two lists of subgroups are computed — one from the cubic holohedry, one from the hexagonal — and then merged, because thirteen classes appear in both. The merge is proposed by comparing element signatures: the count of operations of each of the ten crystallographic types.
That comparison returns thirty-two. Thirty-two is the right answer.
Getting the right total from an unchecked fingerprint is not a success. It is the exact shape of the error the space-group enumeration turned up four separate times, and the reason to be suspicious is not paranoia — it is that the failure would be invisible. A merge that should not have happened produces thirty-one classes; a merge that should have happened and did not produces thirty-three. Either would be noticed. But a pair of compensating errors gives thirty-two, and a classification with a wrong class in it looks exactly like a classification.
Why a census is not enough
A group is a set with a multiplication. The signature records only the set, and only a coarse description of the set at that.
Two groups can hold the same census of operations and compose them differently. The standard small example is outside crystallography — the cyclic group of order four and the Klein four-group differ in element orders, so a census does separate them — but the principle stands, and inside the crystallographic classes the question is genuinely open. The classes of order eight are 4/m, 422, 4mm, 4̅2m and mmm; the classes of order twelve are 23, 32 with its extras, 3̅m, 6̅2m, 622, 6mm and 6/m. Nothing about the ten-way census guarantees in advance that no two of these coincide.
This is the same question conjugation and sameness settles for the plane groups, and it is worth noticing that the answer there was reached by the same route and with less anxiety, because in two dimensions the objects are small enough to check by looking. In three they are not. A group of order 48 with a wrong element in it is not something anybody spots.
What actually decides it
The right criterion is a theorem about representations, and it makes the question finite and exact.
Two representations of a group in characteristic zero are isomorphic exactly when their characters agree. A three-dimensional matrix group is a representation of an abstract group; two such groups are conjugate — carried onto each other by a change of basis — exactly when there is a group isomorphism between them under which the characters match.
For these groups the character is trace, and since the representations are real, det comes along too. And det and trace together name the operation type: a rotation of order n has trace 1 + 2cos(2π/n), a rotoinversion has minus that, and the ten values are distinct. So the criterion in the language this enumeration already speaks is:
There is a group isomorphism φ: G → G′ carrying every operation to one of the same type.
That is a finite search. Take a generating set of G, try every assignment of images of matching type, extend each assignment to the whole group by multiplying out words, and reject any assignment where a word reached twice lands on two different matrices. What survives is a homomorphism; check it is a bijection; check it preserves type.
It is strictly stronger than the signature. A signature says the two groups own the same operations. This says the operations can be put into correspondence so that the multiplication is preserved as well. And it decides the question rather than proposing an answer to it.
But the site’s habit is to produce the witness
The theorem settles the classification. It does not produce anything a reader can hold, and this site’s standing arrangement is that a claim comes with the object that makes it true — the way every plane pattern arrives with its detected group rather than with an argument that one exists.
So the enumeration also constructs the matrix. Given a candidate isomorphism φ, an intertwiner is a matrix P with P·g = φ(g)·P for every g in G, and an invertible one is exactly a change of basis carrying G onto G′.
The construction that works is averaging. For any matrix X at all,
is an intertwiner, and it is one by construction rather than by verification: substituting g·g₀ for g permutes the terms of the sum and turns P·g₀ into φ(g₀)·P. So every value of that expression is a candidate and none of them has to be checked for the intertwining property. What has to be checked is only whether it is invertible.
Three constructions, and two of them were wrong
Getting an invertible one was harder than it looks, and the two failures are more instructive than the success.
The first attempt solved the linear system. P·g = φ(g)·P is nine equations per generator in the nine entries of P; solve by fraction-free elimination, take a null-space vector, done. Schur’s lemma says the intertwiner space between two irreducible representations is one-dimensional, so there is nothing to choose.
The representations here are not irreducible. For the class 1̅ the group is {I, −I}, its three-dimensional representation is three copies of the sign representation, and every matrix commutes with the group — the null space is all nine dimensions. The first basis vector that elimination produces is a single matrix unit, which is singular. The enumeration reported that 1̅ found in the cubic holohedry and 1̅ found in the hexagonal one are different crystal classes. Both groups are {I, −I}.
The failure is the opposite of the intuition. A large solution space feels like a comfortable position to be in; it is the case where picking an element carelessly is most likely to pick a bad one, because the singular matrices are a hypersurface and a nine-dimensional space has plenty of room inside it.
The second attempt walked a curve through the space. With a basis B₁ … B_k, consider P(t) = Σ tⁱ⁻¹ Bᵢ. Then det P(t) is a polynomial in t of degree at most 3k, so if the space contains any invertible matrix at all, at most 3k values of t can fail and trying 3k + 2 of them settles it.
That argument has a hole and the hole is the antecedent. det P(t) can be identically zero — a curve can lie entirely inside the singular locus — and for 1̅ it does, because with the matrix units in the order elimination produced them, P(t) is the matrix with entries 1, t, t², … t⁸, which has rank one at every t.
The third attempt averages, and includes the identity matrix among the candidates for X. For 1̅ with φ the identity map, averaging the identity matrix gives the sum of two terms, each of them the identity again, so the average is twice the identity and is invertible immediately. Averaging the nine matrix units gives twice each matrix unit, all singular. The degenerate case is settled by the most obvious input and by none of the systematic ones.
1̅ is the inversion and the identity, and its diagram is two poles at the same point on the disc — one filled, one open — because a pole and its image under the inversion project to the same place and are told apart only by the mark. As a matrix group it is {I, −I}, and every three-by-three matrix commutes with both of them. That is the whole of the trouble: the intertwiner space between this group and its copy in the other holohedry is all nine dimensions, and both systematic ways of reaching into it reached in and pulled out a singular matrix.Averaging is the construction with the fewest assumptions in it, and that is exactly why it survives the case the other two were wrong about. The first two attempts each reasoned about the structure of the intertwiner space — one assumed it was small, one assumed a line through it would leave the singular locus — and both assumptions are true generically and false here. The averaging sum assumes nothing about the space at all; it produces members of it and asks each one the only question that matters.
That was still not sufficient on its own: taking the first invertible average over {I, E₁₁ … E₃₃} witnessed 21 of the 33 merges, because a several-dimensional intertwiner space can have every one of those ten values singular. The search continues into small integer combinations of the reduced basis, and all 33 merges then carry a matrix.
The same trap, one level down
There is a second place in this field where a plausible invariant returns the right answer, and it is worth putting beside the first because the resolution is different.
Classifying an operation by its matrix order looks like the natural thing to do — the order is what “four-fold” means, after all. It gives twenty-eight crystal classes instead of thirty-two. Every one of the twenty-eight is a real point group, the list contains no impostor, and four pairs have been quietly identified: 3̅ with 6̅, and the classes built on them. The reason is that a rotoinversion of odd order n generates a cyclic group of order 2n, so 3̅ and 6̅ both have matrix order six.
det and trace and not off its order.The difference between the two traps is what fixed them. The order-based classifier was wrong and reading traces instead is right, full stop. The signature classifier is not wrong — it gives thirty-two and every merge it proposes is a merge that should be made — and what it lacked was any entitlement to the answer it produced. One was a bug and the other was an unearned result, and only one of them would ever have announced itself.
It is worth being fair to the census before leaving it, because the essay is not an argument that a fingerprint is useless. There are questions of exactly the shape a census answers, and the field asks several of them. Whether a class is enantiomorphic — whether it can hold a single-handed molecule without also holding its mirror image — is whether the census contains any operation of determinant −1 at all, and eleven of the thirty-two contain none. Whether a class is centrosymmetric is whether the census contains a 1̅, which is one entry of the ten. Which crystal system a class belongs to is read off the counts of three-folds, four-folds and six-folds, with the cubic case marked by holding eight operations of order three rather than by holding the highest-order axis. None of those questions is about how the operations compose, and for none of them does a census have to be checked against anything.
The difference is between a property of the set and a property of the multiplication. A census is a complete instrument for the first and no instrument at all for the second, and the merge is a question of the second kind wearing the clothes of the first. That is why the fingerprint is kept and used to propose merges rather than being discarded — and why what it proposes is then decided by something else.
Why the enumeration proposes and then disposes
It would be possible to skip the signature entirely and go straight to the character test on every pair. The enumeration does not, and the reason is worth stating because it is a general shape.
Sixty-five conjugacy classes across the two holohedries gives just over two thousand pairs. Running a full isomorphism search on each — enumerating generator assignments, extending each to a homomorphism, checking the extension is consistent — is expensive enough to be worth avoiding, and almost all of it is wasted on pairs that differ in their sizes or in their element census.
The signature disposes of those in one string comparison. What survives is thirty-three pairs, and those get the expensive treatment.
So the census is a filter and not a verdict, and the whole difficulty is keeping the two roles apart. A filter that returns the right count looks exactly like a verdict that returns the right count, and the version of this file that treated it as one produced thirty-two classes and had no argument for any of them. The distinction is a line of code — whether the loop over merged pairs runs a test or merely counts — and it is the difference between a classification and a coincidence.
That pattern recurs everywhere a cheap invariant is available. A key built from an operation’s
determinant and trace filters candidate operations before the detector checks them; the bound in automorphisms filters integer
vectors before the metric is tested; the denominator search in enumerateClass filters origin
shifts. Every one of them is a proposal followed by a decision, and every one would produce a
plausible answer if the decision were dropped.
What the check is worth
The honest accounting is that the check found no error in the classification. Thirty-two was thirty-two before and after; no class was added, removed or renamed.
What it changed is what the thirty-two rest on. Before, the number was the output of a fingerprint comparison that had never been tested against the definition of the thing it was fingerprinting. After, every merge carries a matrix that can be multiplied out. The difference is not in the answer; it is that one of them would have survived being wrong and the other would not.
And the check found two errors in itself, which is the part worth generalising. Both were in the machinery built to verify the classification rather than in the classification, and both had the same shape as the thing they were verifying: a construction that returns a plausible object, in a case nobody thought to look at, for a reason that reads as sophistication. Schur’s lemma is a real theorem and the first attempt cited it correctly; the degree bound on det P(t) is a real bound and the second attempt applied it correctly. Each was wrong about its own hypotheses.
Where the exactness stops
The criterion decides conjugacy in GL(3, ℚ) — a change of basis by a rational matrix. That is the right relation for crystal classes and it is not the only relation anybody cares about.
Conjugacy in GL(3, ℤ), which requires the change of basis to carry one lattice onto another, is finer: it distinguishes the arithmetic crystal classes, of which there are 73 rather than 32, and those are what the step to the space groups actually runs on. This enumeration does not compute them and no essay here claims it does.
Nothing here is a measurement, and no tolerance appears anywhere in it. The matrices are integers, the traces are integers, the isomorphism test is exact, and the conjugator is built by adding integer matrices together. That is the property the whole site is organised around and this is one of the cleanest places it holds.
The finer question the criterion does not answer
The last section says the criterion decides conjugacy over the rationals and that conjugacy over the integers is finer. That finer question is not an afterthought — it is the one the space groups are built on — and it is worth saying how much harder it is.
Rational conjugacy asks whether two groups of matrices are the same group seen in two coordinate systems, with the coordinate change allowed to be any invertible rational matrix. Integer conjugacy demands that the coordinate change carry one lattice onto another, so it must be an integer matrix with an integer inverse — determinant ±1, and nothing else permitted.
Two point groups can be rationally conjugate and not integrally conjugate, and the standard case is a class acting on a primitive lattice against the same class acting on a centred one. The groups are the same group; the lattices are different; and no change of basis of determinant one carries one situation to the other. That is exactly the difference between the thirty-two geometric classes and the seventy-three arithmetic ones, and it is why the arithmetic classes are the input to the space-group enumeration and the geometric ones are not.
The difficulty is that the integer question has no criterion as short as the character test. Deciding whether two integer matrices are conjugate over the integers is a genuine computation — it reduces to comparing module structures over a ring, and general algorithms for it exist and are not one line. A criterion that costs a trace and a comparison over the rationals costs a great deal more over the integers, which is the ordinary situation whenever a question is tightened from a field to a ring.
What a character table cannot separate
There is a general form of this essay’s trap, it has a precise statement, and knowing it saves the same mistake elsewhere.
A character table is a complete invariant for the conjugacy of elements inside one group: two elements with the same character values on every irreducible representation are conjugate, and the table settles it. That is a theorem, and it is why the character test above works on the elements.
It is not a complete invariant for the conjugacy of subgroups, and it is not a complete invariant for groups either. There are pairs of non-isomorphic groups with identical character tables — the smallest are of order eight — so a table is a fingerprint of a group in exactly the sense the operation census is a fingerprint of a class.
The moral is the essay’s own, stated as a rule. An invariant proves a difference: two objects with different values are certainly different. It never proves a sameness, whatever the value’s provenance and however elaborate the computation of it. Establishing that two things are the same requires exhibiting the thing that identifies them — a conjugating matrix, an isomorphism, a change of basis — and the difference between a filter and a verdict is whether that object is produced.
Where this goes
The classification is now something to compute with rather than to trust. The next question is what the classes decide — and the first thing they decide is what a diffraction experiment can see, which turns out to be not the class but the class with an inversion added, and eleven answers rather than thirty-two.
Named alongside this one
Essays reaching for the same objects. Nobody chose these; they are what the concept index makes visible.
- Twelve of the thirty-two are free character · crystal class · invariant · point group
- How many axes there are is a Sylow count conjugacy class · crystal class · point group
- Neumann's principle, as one sum character · invariant · point group
- Thirty-two classes, eighteen groups character · crystal class · point group
- A thread's hand is not a choice enumeration · point group
- Finitely many is not few enumeration · point group
What links here
Every essay whose body links to this one.
- Thirty-two, and no others
- 3m1 and 31m are one class
- A character does not know its basis
- A filter of great precision and no predictive power
- What a trace decides
- A fold that keeps its symmetry
- A form is an orbit, and whether it closes is an integer question
- The descent of symmetry is a lattice, not a tree
The objects this essay names
Each one links to every other essay that touches it.
CharacterConjugacy classCrystal classEnumerationInvariantPoint group