Symmetry at work

The count that promises a mechanism

Count the joints, count the bars, subtract. The number that comes out promises rigidity when it is small and a mechanism when it is large, and it is wrong in both directions — because it assumes every bar removes a freedom the others have not already removed.

Assumes The placement nobody chose and A structure with the distances thrown away.

Replace every edge of a net by a rigid bar and every vertex by a joint that turns freely. What is left is a framework, and the question it poses is whether it can move. The net came from throwing the distances away; the framework puts exactly one of them back per edge, and asks what that costs.

The question is not academic. Every open framework in a crystal is one of these: the corner-sharing tetrahedra of a silicate, the octahedra of a perovskite, the metal centres and organic linkers of a designed framework material. Whether such a structure has a motion available to it decides which phase transitions it can undergo, whether it can be squeezed into a smaller cell without breaking bonds, and whether it collapses when its guest molecules are removed.

the kagome net: Maxwell 1, and 1 mechanism. Maxwell's count for the kagome net with the cell free to change shape: 6 joint coordinates and three cell parameters, less 6 bars, less the two translations that move nothing, giving 1. The rank of the rigidity matrix is 6 of a possible 6, so there are 1 independent motions and 0 ways of tensioning the bars against each other. Maxwell's number is always the difference of those two, which is the sense in which it is right even when both of its parts are wrong.
Fig. 1 Maxwell’s count for the kagome net. Three joints, two coordinates each; three parameters for the shape of the cell; six bars; two translations that move nothing. What is left over is the promise, and the rank underneath is what actually happens.

Maxwell’s line

The count is one line and it is nearly a hundred and sixty years old.

Each joint has two coordinates, so n joints have 2n freedoms. If the cell is allowed to change shape as well, its metric has three more — the two lengths and the angle, or equivalently the three entries of a symmetric matrix. Each bar imposes one constraint, because it fixes one distance. And two of the remaining freedoms are the whole framework sliding sideways, which is not a motion of anything relative to anything. So

freedoms=2n+3e2\text{freedoms} = 2n + 3 - e - 2

and the promise is that a positive number means the framework moves and a non-positive number means it is rigid.

For the square net that gives 2 + 3 − 2 − 2 = 1, and the square net does move: a lattice of rigid bars in a square arrangement shears, which anybody who has pushed on a garden trellis knows. For the triangular net it gives 2 + 3 − 3 − 2 = 0, and a triangulated framework is rigid, which is why bridges are triangulated.

So far so good. The trouble is that the count is not a theorem.

Why the count is a shortcut

The step that fails is each bar imposes one constraint. That is true only if the constraint is a new one — if the bar removes a freedom that the other bars have not already removed between them — and bars placed symmetrically routinely do not.

When a bar is redundant in that sense, two things happen at once. The count over-subtracts, so it under-reports the freedoms; and the framework acquires a state of self-stress, which is a way of tensioning the bars against each other with every joint in equilibrium and no external force anywhere. A cable-stayed structure that can be tightened is exhibiting one.

The two are inseparable. What Maxwell’s number really counts is the difference:

Maxwell’s count=mechanismsstates of self-stress\text{Maxwell's count} = \text{mechanisms} - \text{states of self-stress}

and that identity is exactly true, always, which is the sense in which the count is right even when both of its terms are wrong.

11 frameworks, 3 where the count is wrong. Every net in this collection read as a framework of rigid bars and free joints, with the cell free to change shape. Maxwell's count and the number of mechanisms agree on most of them and not on all: a framework with a state of self-stress has a bar the count treats as removing a freedom that the others had already removed, and it has a mechanism the count cannot see. Here that is fes, snb, ring5, where the count says 2, -1, -4 and the rank says 3, 0, 9. The identity Maxwell is always right about — count equals mechanisms minus self-stresses — holds on every row.
Fig. 2 Every net in this collection read as a framework. The last two numeric columns are what the rank says; the column before them is what the count promised. They agree on most rows and not on all, and the identity in the sentence above holds on every one.

The rank, done exactly

What decides is the rank of the rigidity matrix: one row per bar, one column per freedom, and the entry saying how fast that bar’s length changes as that freedom is varied. A motion of the framework is a vector the matrix sends to zero; a self-stress is a combination of rows that vanishes.

Rank is normally a numerical business. The matrix has the joint positions in it, the rank comes out of a decomposition, and near zero has to be decided against a threshold somebody picked — which is uncomfortable, because the whole interest is in the cases where a singular value is exactly zero for a reason.

None of that is needed here, and the reason is the previous rung. The joint positions are the barycentric placement, which is a vector of rationals in the lattice basis. The metric is a Gram matrix, which for every plane lattice type this collection draws has entries that are integers and halves. So every entry of the rigidity matrix is a fraction, the elimination is exact, and the rank is a fact rather than a judgement.

the kagome net: a 6 × 9 matrix of rank 6. The rigidity matrix of the kagome net. One row per bar, one column per joint coordinate, and — with the cell free — three more for the cell's own metric. The row for a bar says how its length changes when the joints and the cell move, so a motion of the framework is a vector the matrix sends to zero. Every entry is a fraction, because the joint positions are the barycentric placement in the lattice basis and the metric is a Gram matrix with entries in halves — so the rank, 6, is exact and not a judgement about how small a singular value has to be before it counts as zero.
Fig. 3 The kagome net’s rigidity matrix. Six rows, one per bar; six columns for the three joints, three more for the cell’s metric. Each row says how one bar’s length responds to each freedom, and the row for a bar joining two joints is non-zero in four places and in the metric columns. Every motion the elimination returns is multiplied back through this matrix, and every product has to be zero in the fractions rather than small in the decimals.

That last claim in the caption is the difference between a rank and a claim about a framework. A rank is a number produced by an elimination, and an elimination can be right about its own arithmetic while being about the wrong matrix — a column ordered wrongly, a metric term dropped, a sign taken from the bar instead of from its reverse. What rules that out is running the calculation backwards: take a vector the elimination says is in the kernel, read it as a set of joint velocities together with a rate of change of the cell’s metric, and compute directly what each bar’s length is doing under it. The answer has to be exactly zero, bar by bar, and exactly is available here because every quantity in the product is a fraction. A framework whose matrix had been built against the wrong number of columns would still produce a rank, still produce a kernel, and still draw a figure; what it would not produce is six zeros.

The cell as a metric, not a basis

One decision inside that matrix is worth pulling out, because it is what makes the arithmetic behave.

The cell could be parameterised by its basis vectors, which is four numbers. It is parameterised here by its Gram matrix — the three independent entries of the matrix of dot products — and the difference is not cosmetic. A basis has a rotation hidden in it: turning the whole framework changes the basis vectors and changes nothing physical, so a basis parameterisation carries a spurious freedom that has to be subtracted afterwards. A metric cannot tell which way the cell is pointing, so it carries no such freedom.

The consequence is that the only trivial motions left are the two translations, and they are exactly the two the formula subtracts. Nothing has to be argued about rotations at all.

the honeycomb net: Maxwell 2, and 2 mechanisms. Maxwell's count for the honeycomb net with the cell free to change shape: 4 joint coordinates and three cell parameters, less 3 bars, less the two translations that move nothing, giving 2. The rank of the rigidity matrix is 3 of a possible 3, so there are 2 independent motions and 0 ways of tensioning the bars against each other. Maxwell's number is always the difference of those two, which is the sense in which it is right even when both of its parts are wrong.
Fig. 4 The honeycomb, whose count and rank agree: three bars, all independent, and two mechanisms left over. A three-coordinated framework is floppy, which is why honeycomb structures are made of paper rather than steel.

The net where the count is wrong

A claim that a count can fail is worth nothing without a case, so here is the case.

The ladder net has three joints and five bars, one pair of which is placed so that the constraint it imposes has already been imposed by the others. Maxwell’s line gives 2×3 + 3 − 5 − 2 = 2. The rank of the rigidity matrix is four rather than five, so there are three mechanisms and one state of self-stress — and 3 − 1 = 2, exactly as the identity requires.

The count promised two motions and there are three. A designer relying on the count would have built a structure with a freedom nobody expected, and the bar that was supposed to remove it is instead carrying a tension it need not carry.

the ladder net: Maxwell 2, and 3 mechanisms. Maxwell's count for the ladder net with the cell free to change shape: 6 joint coordinates and three cell parameters, less 5 bars, less the two translations that move nothing, giving 2. The rank of the rigidity matrix is 4 of a possible 5, so there are 3 independent motions and 1 ways of tensioning the bars against each other. Maxwell's number is always the difference of those two, which is the sense in which it is right even when both of its parts are wrong.
Fig. 5 The ladder net: the count says two, the rank says three mechanisms and one self-stress. The extra bar is redundant — the framework was already as constrained as that bar could make it — and the price of the redundancy is a motion the count could not see.
the ladder net: a 5 × 9 matrix of rank 4. The rigidity matrix of the ladder net. One row per bar, one column per joint coordinate, and — with the cell free — three more for the cell's own metric. The row for a bar says how its length changes when the joints and the cell move, so a motion of the framework is a vector the matrix sends to zero. Every entry is a fraction, because the joint positions are the barycentric placement in the lattice basis and the metric is a Gram matrix with entries in halves — so the rank, 4, is exact and not a judgement about how small a singular value has to be before it counts as zero.
Fig. 6 And the matrix that says so. Five rows, and one of them is a combination of the others — which is what a state of self-stress is when it is written down: a set of tensions, one per bar, whose net force at every joint is zero.

There is a second identity in the same figure, and it is the one that keeps the two halves of the essay honest against each other. The kernel of the matrix has dimension columns − rank, and two of its vectors are always the framework sliding sideways. So columns − rank must come to the mechanisms plus two, on every net and in either cell setting, and the number of rows the elimination could not use — bars − rank — must come to the self-stresses. Subtract one from the other and Maxwell’s line falls out, which is why the identity in the display above is not a happy accident but an accounting statement about a matrix having a row space and a null space of complementary size. The count was never a rival to the rank; it was the rank’s arithmetic, written down before anybody knew what a rank was.

What a self-stress is, physically

The word self-stress sounds like an abstraction and is not. It is a set of tensions and compressions, one number per bar, which the framework can carry with no load applied to it anywhere and with every joint in equilibrium.

A bicycle wheel is the standard example: the spokes are all in tension, the rim is in compression, nothing is pushing on the wheel, and the state persists. Take away the redundancy — cut a spoke — and the state collapses, because the tensions had nowhere else to balance.

For a crystal the reading is that a redundant bond is a bond that can be pre-stressed. A framework with a state of self-stress can sit with some of its bonds stretched and others compressed at no cost in external force, which is a real and measurable thing: it shows up as residual strain, and it is why an over-constrained framework can be locked into a configuration that a floppy one would relax out of.

The two phenomena arriving together is not a coincidence and it is the content of the identity. A bar that fails to remove a freedom is a bar whose row is a combination of the others, and a combination of rows that vanishes is a self-stress. Same fact, read down the columns or along the rows.

Rigid units, and why crystallographers care

The framework abstraction earns its place in this collection because of one application, and it is worth naming.

A silicate is built of SiO₄ tetrahedra that share corners. The tetrahedra themselves are stiff — the Si–O bond is strong and the O–Si–O angle is hard to bend — while the angle between two tetrahedra at a shared oxygen is soft. So a good model of the structure is: rigid units, joined at points, free to turn. That is a framework of exactly the kind counted here, with the tetrahedra as the rigid pieces rather than the bars, and the motions that come out of the kernel are called rigid unit modes.

They matter because they are where the physics goes. A rigid unit mode costs almost no energy, so it dominates the vibrational spectrum at low frequency, it is the mode a displacive phase transition follows, and it is the reason some framework materials contract when heated instead of expanding. The quartz α–β transition is the canonical case: the tetrahedra do not deform, they rotate, and the structure’s symmetry rises at the transition without a single bond being broken. Quartz turns up in this collection for a different reason — its lattice permits exactly three twin laws — and it is the same mineral being asked two questions that a group answers and a framework does not.

What the count and the rank supply is the number of such modes, before any of them is drawn. That is a small thing to know and it is knowable exactly, which in a subject where most numbers are measured is worth a good deal.

Isostatic, and why it matters

A framework with no mechanisms and no self-stresses is called isostatic. It is exactly rigid: remove any bar and it moves; add any bar and something becomes redundant.

Isostatic frameworks are the interesting boundary case, and a great deal of the physics of glasses and of jammed granular packings is organised around how far a structure sits from that boundary. The counting has the same flavour as the tally of which components of a physical property a class permits: a number of independent quantities, produced by subtraction, with the subtraction only valid when nothing has been double-counted. A structure below it is floppy and has soft modes; a structure above it is over-constrained and carries internal stress. The count is what identifies the boundary, and the rank is what says whether a particular structure sitting on the count’s boundary is really there.

11 frameworks, 11 where the count is wrong. Every net in this collection read as a framework of rigid bars and free joints, with the cell held fixed. Maxwell's count and the number of mechanisms agree on most of them and not on all: a framework with a state of self-stress has a bar the count treats as removing a freedom that the others had already removed, and it has a mechanism the count cannot see. Here that is sql, hxl, hcb, kgm, cem, bto, skw, fes, snb, —, ring5, where the count says -2, -3, -1, -2, 1, 0, -3, -1, -4, -3, -7 and the rank says 0, 0, 0, 1, 2, 1, 0, 2, 0, 0, 8. The identity Maxwell is always right about — count equals mechanisms minus self-stresses — holds on every row.
Fig. 7 The same frameworks with the cell held rigid rather than free to change shape. The numbers are different everywhere, and the reason is arithmetic rather than physics: a bar whose two ends are the same joint in a different cell — a loop of the quotient graph — imposes no constraint at all once the cell cannot change, because its length is fixed by the cell. The square net’s two bars are both loops, and with a fixed cell they constrain nothing.

That table is a warning about the question rather than about the answer. Is this framework rigid has no meaning until the cell’s freedom is settled, and the two settings give different numbers on every row.

What the calculation is and is not

It is a first-order calculation. The kernel of the rigidity matrix contains the infinitesimal mechanisms: assignments of velocity to each joint, and a rate of change of the cell metric, under which no bar’s length is changing to first order. Whether such a motion continues into a finite one is a genuinely different question, and a first-order calculation cannot answer it. The next rung answers it for one framework by constructing the finite motion explicitly and measuring the bars along the way.

It is a calculation about a cell. A motion that repeats every second cell is invisible to a calculation whose cell is one, so the counts here are properties of the pair (net, cell) rather than of the net. The honest way to say so is to run the same exact calculation on a ladder of supercells, and for the kagome net the answer is sharper than a caveat: Maxwell’s number does not move at all, because doubling the cell doubles the joints and the bars together and the two changes cancel in the count — while the rank falls one further short at each step and the mechanisms grow in step with the cell. A count that is constant and a rank that is not is what a whole line of zero modes looks like when it is sampled at finitely many wavevectors, and the next rung draws that ladder and follows the motion it belongs to.

It says nothing about energy. Bars are infinitely stiff, which no bond is, and the difference matters in the same way it matters when a near-symmetry is compared against a tolerance: an idealisation that answers yes or no is answering a different question from the measurement that answers how nearly. Bars are infinitely stiff and joints are frictionless, which no material is. What the calculation identifies is the modes that cost nothing in this idealisation, and in a real solid those are the softest modes rather than free ones. That is enough to be useful — a soft mode is where a phase transition goes — and it is not the same statement.

the honeycomb net: a 3 × 7 matrix of rank 3. The rigidity matrix of the honeycomb net. One row per bar, one column per joint coordinate, and — with the cell free — three more for the cell's own metric. The row for a bar says how its length changes when the joints and the cell move, so a motion of the framework is a vector the matrix sends to zero. Every entry is a fraction, because the joint positions are the barycentric placement in the lattice basis and the metric is a Gram matrix with entries in halves — so the rank, 3, is exact and not a judgement about how small a singular value has to be before it counts as zero.
Fig. 8 The honeycomb’s rigidity matrix, for comparison with the kagome net’s. Three rows, seven columns, rank three — every bar independent, no combination of rows vanishing, and therefore no self-stress and a count that is right.

Where the count came from

James Clerk Maxwell published the criterion in 1864, in a paper about calculating the forces in braced frameworks, and the context matters: he was concerned with when a framework is statically determinate, meaning that the forces in its members can be found from the loads alone without knowing anything about how stiff the members are. That is the same condition as having no self-stress, arrived at from the engineer’s end.

The criterion’s failure was known to him. What was not available until much later is the linear algebra that replaces it, and the modern form — count against rank, mechanisms minus self-stresses — is due to Calladine in 1978, who wrote the identity down explicitly and made the point that the count had been misread as a rigidity test for a century.

the square net: Maxwell 1, and 1 mechanism. Maxwell's count for the square net with the cell free to change shape: 2 joint coordinates and three cell parameters, less 2 bars, less the two translations that move nothing, giving 1. The rank of the rigidity matrix is 2 of a possible 2, so there are 1 independent motions and 0 ways of tensioning the bars against each other. Maxwell's number is always the difference of those two, which is the sense in which it is right even when both of its parts are wrong.
Fig. 9 The square net, where the count and the rank agree and the mechanism is the one everybody has met: a lattice of squares shears. It is worth having in the same essay as the kagome net, because the two look equally simple and only one of them has an answer that depends on how large a cell it is asked about.
the triangular net: Maxwell 0, and 0 mechanisms. Maxwell's count for the triangular net with the cell free to change shape: 2 joint coordinates and three cell parameters, less 3 bars, less the two translations that move nothing, giving 0. The rank of the rigidity matrix is 3 of a possible 3, so there are 0 independent motions and 0 ways of tensioning the bars against each other. Maxwell's number is always the difference of those two, which is the sense in which it is right even when both of its parts are wrong.
Fig. 10 The triangular net, the one framework here that is rigid with the cell free to change shape. Three bars for one joint, rank three, nothing left over — which is the arithmetic behind every triangulated structure ever built.

The repair, which is the same count applied everywhere

Maxwell’s criterion counts the whole framework once. There is a version that counts every part of it, it is correct for generic placements, and it is the standard answer to the failure this essay is about.

The ladder net’s trouble is local: a subset of its bars imposes fewer constraints than it has members, and the surplus shows up as a self-stress in that subset while a freedom survives somewhere else. Counting the whole framework averages the two together and reports neither.

Laman’s condition counts every subset instead. A framework in the plane is generically isostatic exactly when it has 2V − 3 bars in total and every sub-framework on V′ joints has at most 2V′ − 3 bars. The second half is what catches the ladder: the over-braced part violates it, and the violation is visible without any matrix being formed.

Two things about that are worth separating. It is a combinatorial criterion — it reads the graph and nothing else, no coordinates anywhere — so it decides rigidity for the placement-independent part of the question. And it is a statement about generic placements: a framework satisfying Laman’s condition can still fail to be rigid if its joints are placed on a special arrangement, and the special arrangements are exactly the symmetric ones this collection is about.

So the repair and this collection’s subject pull in opposite directions. Laman’s theorem says the count works once the accidents are removed, and every framework here is placed at its most symmetric position, which is the largest accident available. The kagome net’s mechanism is not generic; it exists because the triangles are exactly equilateral and exactly corner-sharing, and a generic placement of the same graph would be rigid.

Why the same repair does not exist in space

The natural expectation is that the plane’s condition has a three-dimensional counterpart with 3V − 6 in place of 2V − 3. It does not, and the failure has a standard example.

The counting condition transfers — a generically isostatic framework in space does have 3V − 6 bars, and every subgraph does satisfy the corresponding inequality. What fails is the converse. There are graphs satisfying every count and every subcount that are nevertheless flexible when built in space, and the smallest of them is made by joining two rigid pieces at two shared joints: each piece is rigid, the counts all pass, and the assembly hinges about the line through the two shared points.

That configuration passes every subgraph test because the flexibility is not in any subgraph — it is in how two rigid subgraphs are attached — and no counting of vertices and edges sees it.

A combinatorial characterisation of generic rigidity in three dimensions is an open problem, and it has been open since the question was posed. That is worth knowing here for one reason: it means the matrix rank this essay computes is not a stopgap to be replaced by a cleverer count. In three dimensions it is the only method there is.

Where this ladder goes next

The second rung takes the kagome net’s single mechanism and follows it as a finite motion, which is where the framework question meets this collection’s own subject: the motion preserves a subgroup of the symmetry group and destroys the rest, and what a crystal does at a phase transition is exactly that.

There is also a link back down this ladder. The framework is built on the equilibrium placement, which was constructed as the drawing with the most symmetry — and it is worth noticing that the same placement is the one a physicist would have reached for anyway, since equilibrium under identical springs is precisely the configuration a framework of equal bars relaxes to. The two constructions were built for different reasons and are the same construction.

The connection to how many domains a transition makes is worth carrying forward. A framework with a mechanism has a direction in which its symmetry can fall; a group with a subgroup has a count of how many ways it can fall that way. The two calculations answer adjacent halves of one question and neither one implies the other.

What this makes readable

Essays that name this one as a prerequisite.

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.

Degrees of freedomGram matrixIsostaticMaxwell countMechanismPeriodic frameworkRigidity matrixSelf stress