The chain before the lengths

What a count cannot see

At ten links, 1,878 graphs satisfy Grübler's rule and 230 are mechanisms. The other 1,648 contain a subchain that is already a structure — and on 1,165 of them the count says one degree of freedom, the rank of the constraint Jacobian says one degree of freedom, and both are right about a mechanism that does not have ten links.

Assumes The mechanism is the graph and Counting and measuring mobility.

This site has checked Grübler’s count against the rank of a constraint Jacobian since its first field, and the reason has always been the same: the count reads two totals and the rank reads a matrix of positions, so when they agree the agreement means something. The known failure is the count declaring a working mechanism immobile because its link lengths happen to be special, and the rank catching it.

This field finds a second failure of the count, at generic lengths, with no special geometry anywhere — and the rank does not catch it.

Three verdicts, and only one instrument can give all three. Every 10-link graph that satisfies Grübler's count, split by what is actually true of it. 230 are mechanisms with 10 links. 1,165 carry a subchain whose own count is exactly nought — and neither of the two standing routes can see them: the count returns one and the rank returns one, and both are right, because a rigid subchain removes exactly the freedoms it is supposed to. What is false is the description. 483 carry a subchain whose count is below nought, and those the rank does catch: the surplus pins repeat a constraint already imposed, the Jacobian loses rank, and the measured mobility comes out above the count. The third instrument — a count run over every subset of the links — is the only one that answers the question at all.
Fig. 1 Every ten-link graph that satisfies Grübler’s rule, split by what is actually true of it. The two routes this site checks everything with are unanimous about the first two bars.

The subset nobody looks at

Grübler’s rule reads two numbers off a chain: how many links, how many pins. It returns 3(n1)2j3(n-1) - 2j.

Take a subset of the links and the pins that run between them. That subset is a chain in its own right, with its own two numbers, and it has its own count. If that count is nought, the subset is a structure: hold any one of its links and none of the others can move.

The smallest such subset is three links joined by three pins — a triangle. Its count is 3×22×3=03 \times 2 - 2 \times 3 = 0.

3 of these 6 links never move relative to one another. A graph that passes every arithmetic test and is not a mechanism of 6 links. The shaded links are a subchain that is already a structure: 3 links held by 3 pins, whose own count is 3 × 2 − 2 × 3 = 0. Grübler cannot see it, because the formula reads two totals for the whole graph and this is a statement about a subset. Neither can the rank. A rigid triangle removes exactly the freedoms the count says it does, so the constraint Jacobian is not deficient, the measured mobility is 1, and the two routes this site checks everything with agree — with each other and with the wrong answer. The assembly moves, and it moves as a mechanism with 4 links, one of which happens to be welded out of 3 pieces.
Fig. 2 Six links, seven pins, and a triangle among them. Grübler reads six and seven and returns one; the triangle is invisible to it because the formula never looks at a subset.

A graph containing one is not a mechanism with nn links — the pair table the constraint field opens with counts what each joint removes and never asks which joints a subset shares. It is a mechanism with fewer, one of whose links happens to be welded out of three pieces. The formula cannot see this and there is no version of it that could: it takes two integers as input, and the fact in question is about which links the pins run between.

That is the fourth condition on a kinematic chain, and it is where most of the arithmetic’s output goes.

How much of it there is

At six links the gap is five graphs against two. At eight it is 71 against 16. At ten it is 1,878 against 230.

One, two, sixteen, two hundred and thirty. Every planar chain of mobility one, up to ten links, counted by enumeration rather than quoted. The pins column is forced: a chain of 10 links has one degree of freedom only if it has exactly (3n − 4)/2 pins, which is why no odd link count appears. Pass the count is how many graphs satisfy Grübler's rule, are connected, are simple and give every link at least two pins. Are chains is how many of those survive the fourth condition, that no proper subchain is already a structure — and the gap between the two columns is the whole of this field's first argument: at ten links 1,878 graphs pass a rule that 230 of them deserve. Mechanisms is larger again, because a chain is not a mechanism until a link is held still, and how many different mechanisms that gives is a question about the chain's own symmetry.
Fig. 3 The census, with the two columns that are not the same question side by side. The ratio between them is 1.00, 2.50, 4.44 and 8.17 — it roughly doubles at every step.

The temptation is to treat that as a small-numbers effect that washes out. It does the opposite. On a log axis the two lines diverge, and the ratio between them roughly doubles at every step: 1.00, 2.50, 4.44, 8.17. So a designer working from a list of topologies that had passed only the count would be working from a list eight times too long at ten links, and from a longer one at every size above it.

And most of what is rejected is rejected for the simplest possible reason. Of the 1,648 ten-link graphs that are not chains, 1,501 contain a plain triangle. The remaining 147 hide a five-link or a seven-link structure, and those are the ones worth remembering: a triangle is visible in a drawing and a seven-link structure inside a ten-link graph is not.

Most of what the count lets through is a triangle. The 1,648 10-link graphs that pass the count and are not chains, by the size of the smallest structure inside them. 1,501 of them — 91 per cent — contain a triangle: three links joined by three pins, the smallest rigid thing there is, whose own count is 3 × 2 − 2 × 3 = 0. The rest hide a five- or seven-link structure, which is the case worth remembering, because a triangle is visible in a drawing and a seven-link structure inside a ten-link graph is not. Only the sizes 3, 5, 7 appear, and every one of them is odd — a rigid planar subchain needs 3(k − 1)/2 pins, so an even number of links cannot make one.
Fig. 4 The size of the smallest structure inside each rejected graph. Every size is odd, which is arithmetic rather than observation — a rigid planar subchain of k links needs 3(k−1)/2 pins.

Why the rank is no help

The natural response on this site is to reach for the second route. Build the constraint Jacobian, take its rank, and let the geometry answer.

It answers, and the answer is one.

What each instrument returns, on each kind of graph. The 8-link census, three rows, and the same three questions asked of every graph in it. Grübler returns 1 in every row — it has to, because that is what the census selected on. The rank returns 1 in the first two rows and 2 in the third. Only the third column changes across all three rows, and it is the one this site did not have before this field: a mobility computed for every subset of the links rather than for the whole. Read down the middle two columns and the site's standing pair of routes is unanimous about 62 graphs, of which only 16 are what it says they are.
Fig. 5 The eight-link census, three kinds of graph, and what each instrument returns. Only the third column changes across all three rows.

The reason is worth going through carefully, because the instinct that the rank must see something is strong and it is wrong.

A rigid triangle of three links is held by three pins. Three planar bodies carry nine coordinates between them; three pins impose six equations; the equations are independent at a generic placement, so the rank is six and three coordinates are left. Those three are the position and orientation of the triangle as a whole — exactly the freedoms a single rigid body has.

So the triangle removes precisely the freedoms the count says it removes. Nothing is redundant. Nothing is missing. The Jacobian is not deficient, the count is not wrong about the whole assembly, and the mobility genuinely is one. Put the thing together and it moves with one input, as advertised.

What is false is not the number. It is the description. The graph is not a ten-link mechanism; it is a mechanism with fewer links, and three of its links are one part.

The case where the rank does see it

There is a second kind of rejected graph and it behaves differently, which is what makes the distinction real rather than a definition.

If a subchain’s own count is not nought but below nought — four links held by six pins, say, counting 3×32×6=33 \times 3 - 2 \times 6 = -3 — then it is over-constrained. Some of its pins repeat a condition that other pins have already imposed. The constraint Jacobian loses rank, and the mobility measured from it comes out above what the count says.

Across the eight-link census the correspondence has no exceptions at all. All 46 graphs whose worst subchain sits at exactly nought measure mobility 1. All 9 whose worst subchain sits at 1-1 measure mobility 2. There is no graph anywhere in the census where the rank is partially informative.

So the rank is a perfect detector of over-constraint and a perfectly blind one for rigidity, and the line between them is the line between a constraint that repeats something and a constraint that does its job.

A third instrument

What answers the question is neither of the two. It is a count of mobility run over every subset of the links rather than over the whole, which is a different kind of computation from anything the site had before this field: not a formula and not a matrix, but 2n2^n small formulas.

That is cheap at these sizes — 1,024 subsets for a ten-link graph, a few microseconds — and it is exhaustive, so there is nothing to tune and no tolerance to choose. It also has a property neither of the others has: it says where the problem is. The rank returns a number; the subset scan returns a set of links, which can be shaded in a picture.

3 of these 6 links never move relative to one another. A graph that passes every arithmetic test and is not a mechanism of 6 links. The shaded links are a subchain that is already a structure: 3 links held by 3 pins, whose own count is 3 × 2 − 2 × 3 = 0. Grübler cannot see it, because the formula reads two totals for the whole graph and this is a statement about a subset. Neither can the rank. A rigid triangle removes exactly the freedoms the count says it does, so the constraint Jacobian is not deficient, the measured mobility is 1, and the two routes this site checks everything with agree — with each other and with the wrong answer. The assembly moves, and it moves as a mechanism with 4 links, one of which happens to be welded out of 3 pieces.
Fig. 6 The same test on a different six-link graph, with the structure it found shaded. The instrument’s output is a set of links rather than a number, so it can be drawn.

It is worth being precise about what it costs and what it does not. The scan is exponential in the link count, so it is fine to ten links and will not be fine at twenty. And it is a statement about counts of subsets, so it inherits the count’s own blind spot: a subchain whose count is one but whose particular lengths make it rigid — the parallel-bar case the constraint field opens with — is not caught here either. The three instruments do not nest. Each sees something the others do not.

Where four assortments go entirely

The scan produces one result that no amount of arithmetic could have.

At ten links there are eleven arithmetically admissible link assortments: eleven ways of distributing thirteen pins among ten links with none below two. Four of those eleven contain no mechanism whatever. Every graph with those degrees — seventy-eight of them between the four — has a structure inside it.

11 assortments are arithmetically possible and 7 contain a mechanism. The 10-link census organised the way every published table organises it: by how many links carry two pins, three, four and more. The assortments themselves are a small piece of arithmetic — the degrees must sum to twice the pin count and none may be below two — and it admits 11 of them. 4 contain no chain at all. Each of those 4 needs a link carrying six, seven or eight pins, and a link with that many pins in a chain this small always drags a structure in with it: the graphs exist, they satisfy Grübler exactly, and every one of them has a rigid subchain. That is a result the arithmetic cannot reach, because the arithmetic never looks at where a pin goes.
Fig. 7 The eleven admissible assortments. Four of them hold no chain at all, and the four are exactly the ones requiring a link with six pins or more.

What the four have in common is a link carrying six, seven or eight pins. A link with that many pins in a chain this small has to be joined to most of the other links, and a link joined to most of the other links drags a short cycle in with it. The arithmetic admits them; the adjacency refuses them; and no rearrangement helps, which is a statement about all seventy-eight rather than about any one of them.

Reading it off a drawing

The practical question is whether a person looking at a mechanism can tell. Sometimes.

A triangle is visible. Three links pinned in a ring is a shape a reader recognises immediately, and 1,501 of the 1,648 rejected ten-link graphs contain one, so most of the time the eye is enough.

A five-link structure is harder, and it is the case a designer filtering a census would never see by eye. Five links held by six pins counts 3×42×6=03 \times 4 - 2 \times 6 = 0, and there are several shapes it can take; picking one out of a ten-link drawing means checking subsets by eye, and there are 252 subsets of five to check. A seven-link structure inside a ten-link graph is hopeless: 120 subsets, each of which has to be counted, and the remaining three links are what a reader would naturally think of as the mechanism.

That asymmetry is the argument for running the scan rather than looking. The instrument costs a millisecond and is exhaustive; the eye is excellent on the common case and has no way of knowing when it is looking at one of the 147.

The rejects are not nothing

It is worth being precise about what the 1,648 rejected graphs are, because “not a mechanism” makes them sound like noise and they are something more specific and more useful than that.

Take one of them and collapse each rigid subchain to a single link. A triangle of three links held by three pins is exactly as rigid as one link, so replacing it with one link changes nothing about how the assembly moves; it changes only how many parts the description claims. Do that everywhere and what comes out is a graph with fewer links, satisfying the count, and containing no structure — which is to say a member of a smaller census.

So the rejects are not a heap of malformed objects. They are duplicates: a ten-link graph carrying one triangle describes an eight-link mechanism, one carrying two triangles describes a six-link one, and the mapping runs downward through the rows of the census. The count of 1,878 is not wrong about anything; it is inflated, and it is inflated by describing the same machines repeatedly with extra parts welded together.

That gives the ratio its proper reading. Eight to one at ten links is not a measure of how often the arithmetic goes astray — it is a measure of how many ways there are to describe a smaller mechanism as a larger one, and there are a great many because a rigid subchain can be inserted anywhere and at any size. The number should grow with the link count for exactly that reason, which is what it does.

And it says what a catalogue built on the count alone would look like to somebody using it. Not a list containing some rubbish, but a list in which the four-bar appears many times over, wearing different arrangements of triangles, under different link counts, with nothing to indicate that the entries are the same machine. A designer browsing it would find apparent variety that is not variety, which is a worse failure than an entry that is obviously broken: an obviously broken entry is skipped, and a four-bar with a triangle on it looks like a novel ten-link linkage.

The subset scan is therefore doing two jobs at once and the second is the quieter one. It rejects the graphs that are not mechanisms of their stated size, and by doing so it deduplicates the census against every smaller row. The 230 that survive at ten links are 230 genuinely ten-link mechanisms precisely because everything reducible has been sent back to the row it belongs in, and the same statement holds for the 16 at eight links and the 2 at six.

Two failures of one formula

It is worth putting the two failures of Grübler’s rule side by side, because they are opposite in every respect and the site now carries both.

The first, which the constraint field opens on, is a failure of the count in the direction of too few. Three parallel bars between two links: five links, six pins, a count of nought, and a mechanism that moves through 59 of 60 sampled positions. It happens because the lengths are special — make the bars unequal and the count is right. It is caught by the rank, immediately and unambiguously, because the special lengths are exactly what makes the Jacobian deficient.

The second is this one, and it is a failure in the direction of too many — the count claims a mechanism of nn links where there is one of fewer. It happens at generic lengths and cannot be repaired by moving anything: no choice of dimensions makes a triangle bend. It is invisible to the rank for the same reason it is permanent, since the triangle removes exactly three freedoms whatever its shape.

Two failures, opposite directions, opposite dependence on geometry, and different instruments. What they share is that the formula is being asked to answer from two integers a question that is about structure, and the surprise is not that it fails but that it took twenty-one fields for the second failure to appear — because until this field nobody had handed the formula a graph it had not already been told was a mechanism.

Why it matters that both routes agreed

The habit this site runs on is two independent routes wherever there are two. Grübler against the Jacobian rank, Grashof predicted against a swept crank, Willis against the tabular method, an analytic velocity against a finite difference. The habit has caught real defects, including a velocity solve that double-negated its right-hand side and drew perfectly for months.

This is the case where it does not help, and the shape of the failure is worth carrying rather than the instance.

Two routes agreeing is evidence about the quantity they both compute. Both of these compute the mobility of the whole assembly. Both are right about it. The question that was actually being asked — is this a mechanism with ten links — is a different question, and no amount of agreement between two answers to a different question bears on it.

That is not an argument against the habit; it is the boundary of it. The useful test is to ask what quantity a pair of routes actually agrees about, and whether it is the quantity in the claim. Here it was not, and the gap between them was 1,648 graphs.

What it changes downstream

Three things, and they are the reason this rung sits second in the field rather than late.

Every census count in this field is after the filter. The 230 at ten links, the 16 at eight, the 71 mechanisms and the 1,834 — all of them count chains rather than graphs, and quoting a raw arithmetic count would inflate every one by about eight.

A catalogue built on the count is mostly duplicates in disguise. A ten-link graph with a triangle in it describes a mechanism that is already in the eight-link census with a differently-shaped link — the same hazard the spectral test runs into one rung along, reached from the other side. Searching the 1,878 would mean meeting the same mechanism many times without any way of noticing.

A catalogue is a search space, and a requirement is a filter on it. What a census is for. Four requirements applied in turn to the 230 ten-link chains, each of them a statement about the graph alone: a link carrying four pins, a link none of whose neighbours is binary, and a way of driving it that comes apart into dyads. 26 chains survive all of them. None of this is dimensional synthesis and none of it can be — no requirement here mentions a length, an angle or a position, and every one of them can be checked before a single dimension is chosen. That is the argument for having the census at all: the design problem is a search over shapes within a topology, and knowing which topologies there are turns an open question into 26 closed ones.
Fig. 8 The census used as a search space. Every filter here reads the graph alone — and every one of them would be meaningless applied to a list that had not been filtered first.

And the site’s own vocabulary needed a word. A graph like this is called degenerate in the literature, which is a poor name for a thing that moves perfectly well — and a poor relation of a synthesis that is exactly right and cannot be built, where the defect is real and the name is accurate. The honest description is the one the picture gives: it is a smaller mechanism with a link made of several pieces, and the only defect is in what it is called.

One consequence of the collapsing argument is worth stating because it bounds how bad the situation can get. Every reject reduces to a member of a smaller row, and the smaller rows are finite and known — 1 at four links, 2 at six, 16 at eight — so the 1,648 rejected ten-link graphs describe at most 19 distinct mechanisms between them, and almost certainly rather fewer. That is the arithmetic reason the inflation is harmless once it is detected and disastrous while it is not: the redundancy is enormous, the underlying set is tiny, and nothing about a graph’s list of pins says which of the two numbers is being looked at.

What this makes readable

Essays that name this one as a prerequisite.

About the same objects

Not linked from either essay — found by the objects both name.

What links here

The 8 of 11 essays linking to this one that name the most of the same objects.

The objects this essay names

Each one links to every other essay that touches it.

ConstraintDegenerate chainDegrees of freedomGrübler's criterionKinematic chainMobilityOverconstraintRankRedundant constraintStructure