What symmetry decides

A fingerprint that gave the right answer

The thirty-two classes were merged on a fingerprint — the census of operation types — and the fingerprint returned thirty-two, which is correct. Returning the correct answer is not the same as being entitled to it, and the difference took three wrong constructions to close.

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.

The merge, and what witnesses it. The two holohedries are enumerated separately and their class lists merged where the element signatures agree. That returns the right total, which is not the same as being right: 33 merges are made and every one of them is checked by constructing an explicit change of basis carrying one group onto the other.
Fig. 1 The step in question. A signature is a census: so many two-folds, so many mirrors, so many rotoinversions of each order. Two subgroups agreeing on one are proposed as the same class — and a census says nothing whatever about how the operations compose, which is what a group is. The number below the argument is the count of merges made and the count of them carrying an explicit change of basis, and the enumeration refuses to return unless the two agree.

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.

The crystal classes 422, 4mm, 4̅2m, 4/m. 422, 4mm, 4̅2m, 4/m: the orbit of a general direction under each group, giving 8, 8, 8, 8 poles, with general positions only. Filled marks are poles above the plane of the page and open ones below it.
Fig. 2 Four classes of order eight, as general-position diagrams only, without their elements. Every one has eight poles because every one has eight operations, and the arrangement is what separates them: 422 puts all eight above and below in pairs related by two-folds, 4mm has four above and four below across mirrors, 4̅2m alternates, and 4/m stacks them. Their censuses differ — but the point is that they had to be checked, not that they turned out convenient.
The crystal classes 23, 3̅m, 6̅2m, 622, 6mm, 6/m. 23, 3̅m, 6̅2m, 622, 6mm, 6/m: the orbit of a general direction under each group, giving 12, 12, 12, 12, 12, 12 poles, with general positions only. Filled marks are poles above the plane of the page and open ones below it.
Fig. 3 The six classes of order twelve, which is where the question is hardest. Each has twelve poles because each has twelve operations, and the arrangement is the only thing separating them: 622 puts its twelve in six pairs about a six-fold, 6mm reflects six above into six below, 3̅m and 6̅2m share a three-fold axis and differ in whether the centre is present, and 23 is cubic and has its poles about four axes rather than one. A census of operation types does separate these six. What matters is that it had to be shown to, and that nothing in the enumeration would have complained if two of them had come back the same.

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.

The crystal classes 1, 1̅, 2, m, 2/m, 222, mm2, mmm, 3, 3̅, 32, 3m, 3̅m. 1, 1̅, 2, m, 2/m, 222, mm2, mmm, 3, 3̅, 32, 3m, 3̅m: the orbit of a general direction under each group, giving 1, 2, 2, 2, 4, 4, 4, 8, 3, 6, 6, 6, 12 poles, with general positions only. Filled marks are poles above the plane of the page and open ones below it.
Fig. 4 The thirteen classes the whole question is about, as general-position diagrams. Every one of these was found twice — once as a subgroup of m3̅m and once as a subgroup of 6/mmm — and every one had to be merged for the total to come out at thirty-two. Twelve of the remaining nineteen occur only in the cubic setting and seven only in the hexagonal one, and those need no merge at all. So the fingerprint is being asked thirteen questions, and getting any one of them wrong moves the answer by one in a list whose only external check is its own length.

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,

P=gGφ(g)Xg1P = \sum_{g \in G} \varphi(g)\, X\, g^{-1}

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 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.

The crystal class 1̅. 1̅: the orbit of a general direction under the group, giving 2 poles, with general positions and symmetry elements. Filled marks are poles above the plane of the page and open ones below it.
Fig. 5 The class that broke two constructions, drawn at the size the argument deserves. 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 crystal classes 3, 3̅, 32, 3m, 3̅m. 3, 3̅, 32, 3m, 3̅m: the orbit of a general direction under each group, giving 3, 6, 6, 6, 12 poles, with general positions and symmetry elements. Filled marks are poles above the plane of the page and open ones below it.
Fig. 6 The five trigonal classes, which are the ones the merge is really about. Every one of them occurs in the cubic holohedry, sitting along a body diagonal, and in the hexagonal holohedry, sitting along c. Those two are not related by any operation of either lattice — no symmetry of a cube carries ⟨111⟩ onto ⟨001⟩, which is precisely what makes cubic and hexagonal different systems — and they are nonetheless one class each, because a rotation of space carries one onto the other. Thirteen classes are merged this way and five of them are these.

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.

The crystal classes 3̅, 6̅, 3̅m, 6̅2m. 3̅, 6̅, 3̅m, 6̅2m: the orbit of a general direction under each group, giving 6, 6, 12, 12 poles, with general positions and symmetry elements. Filled marks are poles above the plane of the page and open ones below it.
Fig. 7 The four classes an order-based classifier merges into two. 3̅ and 6̅ have the same number of operations, the same matrix orders, and different diagrams: 3̅ contains the inversion and is centrosymmetric, 6̅ does not and is not. Their traces separate them at once — 3̅ has trace 0 and 6̅ has trace −2 — which is why the type of an operation is read off 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.

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.

CharacterConjugacy classCrystal classEnumerationInvariantPoint group