As built

Exactness a micron destroys

Lengthen one bar of a compiled machine by a ten-thousandth and its tracing point leaves the curve. On the smallest machine the error comes out smaller than it went in; on a fifty-bar one it comes out ninety times larger — and the bars that matter are the reflectors, which are the cheapest part of the machine.

Assumes A length is a range.

Every exact statement on this site meets this field eventually. Peaucellier’s cell draws a straight line exactly and a made one does not. Bennett’s linkage moves because its lengths satisfy a condition and a made one is unbuildable to size. The pattern is old and the question is always the same: how far from exact does an artefact land.

The compiled machines are the largest exact mechanisms this site has produced, and this rung asks the question of them.

The machine compiled from a lemniscate. x^4 + 2x^2y^2 + y^4 − 1.2x^2 + 1.2y^2, compiled: 50 bars and 39 joints, painted by what each part is for. The two-link arm at the pivot carries the tracing point; the reflectors and means build each term's angle; the rigid offsets fix the constant φₖ and the amplitude; the translators carry those directions out along the summing chain, whose last vertex is held on a line. That last constraint is the equation. Every joint drawn is the output of a Newton–Raphson solve on 74 equations, converged to 2.7e-15, and the polynomial at the tracing point is 8.9e-16.
Fig. 1 The machine every bar of which is lengthened in turn: fifty bars compiled from a lemniscate.

The measurement

Take a compiled machine. Lengthen one of its bars by 10410^{-4}, re-solve from the unperturbed configuration, and read the polynomial at the tracing point. Repeat for every bar in turn.

The polynomial was zero before and is not zero after. How far from zero is the whole answer, and the ratio of that to the error put in is the amplification.

One bar made 0.0001 too long, one bar at a time. Every bar of the machine compiled from a lemniscate lengthened by 0.0001 in turn, the machine re-solved, and the polynomial read at the tracing point. It is no longer zero anywhere. The worst bar takes it to 9.1e-3 — an amplification of 91 — and the median bar to 2.8e-4. The bars that matter are the reflectors, which are the cheapest part of the machine; the translators, which are most of it, barely move the answer at all. Size and fragility live in different parts.
Fig. 2 Every bar of one compiled machine lengthened in turn, and the polynomial read at the traced point. The dashed line is the error that went in.

Two things are visible immediately, and only one of them was expected.

What was expected, and what the numbers said instead

It is worth recording the expectation this measurement was set up against, because it was wrong in both of its halves.

The expectation was that the amplification would be roughly one and roughly constant. Roughly one, because a linkage is a geometric object and a small change in a length ought to produce a small change in a position; roughly constant, because there is no obvious mechanism by which a bigger machine would be worse — the errors are independent, and independent errors combine as a square root rather than a product.

Both halves failed. The amplification reaches ninety, and it grows.

The square-root intuition is the one worth examining, because it is the tolerance field’s standard tool and it is right about almost everything else on this site. It applies when errors add: a stack of dimensions accumulates deviations that are as likely to cancel as to reinforce, so the expected total goes as the square root of the count.

Here the errors do not add. An error in an angle at the bottom of a multiplication chain is multiplied by the integer the chain multiplies by, and no amount of independence helps with a factor.

Every curve in the catalogue, compiled and counted. The bar count is not a formula: it is the number of bar constraints the compiled mechanism actually carries, asked of the object rather than predicted. A line costs five bars and a quintic four hundred and thirteen, which is the field's central number — exactness is paid for in size. The all-revolute column replaces the one prismatic pair that closes the chain with a Peaucellier cell, which costs seven bars whatever the curve, so it is more than half the machine on a line and a rounding error on a quintic. The last column is the polynomial evaluated at the traced point, worst over each machine's working arc.
Fig. 3 The machines being perturbed, with their sizes: the amplification follows the depth of the arithmetic rather than the count.

It grows with the machine

A line, five bars: 0.860.86. The worst bar produces an error at the tracing point smaller than the one put in. That is the ordinary situation for a small mechanism and it is why nobody worries about a four-bar’s tolerances more than about anything else.

A hyperbola, twenty bars: 1.441.44.

An ellipse, thirty-four bars: 8.58.5.

A cubic, a hundred and one bars: 1818.

A lemniscate, fifty bars: 9191.

The trend is up and it is not smooth — the lemniscate, at fifty bars, is worse than the cubic at a hundred and one, because what governs is the deepest chain of angle arithmetic rather than the total count.

Extrapolating is unwise, and the direction is not in doubt. The bigger the construction, the further the artefact is from it, which is a bad property for an approach whose whole selling point is exactness.

How much of a compiled machine is computing anything. Each machine's bars split two ways: the ones that build an angle — reflectors, means, rigid offsets, the arm — and the ones that carry a direction from where it was computed to where it is needed. On the smallest machines the arithmetic is nearly all of it. By the quintic the carrying is 80 per cent, and it goes on rising, because the arithmetic grows with the number of terms and the carrying grows with the number of pairs of them. That is the answer to why a universality construction is enormous, and it is not about the algebra being hard.
Fig. 4 What the machine is made of: three quarters transport, a quarter arithmetic. The fragile quarter is the small one.

The fragile parts are not the numerous ones

The second finding is the one worth the rung, because every expectation set up by the cost accounting points the other way.

Three quarters of a large compiled machine is parallelograms carrying directions from where they were computed to where they are used. A quarter is angle arithmetic: reflectors, means, rigid offsets, the arm.

The worst offenders are reflectors, every time. On the lemniscate’s machine the worst reflector bar produces 9.1×1039.1\times10^{-3} and the worst translator bar 2.0×1042.0\times10^{-4} — a factor of forty-five between them, with forty-five times as many translators.

The reason is what each part does. A reflector performs arithmetic on an angle: its output is a function of its inputs, that output feeds another reflector, and the whole chain multiplies an angle up by as much as five. An error at the bottom of that chain is multiplied along with the angle. A translator copies: an error in it shifts one copied direction by a first-order amount, and nothing downstream compounds it.

So the amplification tracks the depth of the angle arithmetic, not the number of parts, which is why the lemniscate — whose terms reach frequency four — is worse than the cubic, whose terms reach three.

The part to make carefully is not the part there is most of. That is a bad shape for a manufacturing problem: a builder’s attention naturally goes to the repeated element, and the repeated element is the forgiving one.

Four strokes, laid on the line they are supposed to be. Each mechanism's traced path, rotated and scaled so its two ends sit on the horizontal axis, so the vertical axis is exactly the departure from straightness as a fraction of the stroke. Watt's is the classic figure of eight and Chebyshev's is the symmetric bow; the two exact mechanisms are flat at this scale and at every scale. The vertical axis spans about a fifth of the stroke and the exact traces are invisible on it — which is the honest way to draw the difference between an error of nine per cent and an error of 10⁻¹⁴.
Fig. 5 What the perturbation costs where it can be seen: the strokes the exact machines draw, laid on the line they are supposed to be. A ten-thousandth in one bar is the difference between a stroke that lies on the line and one that does not.

The median is the other half of the answer

Quoting the worst bar is right for a design decision and it is not the whole picture, so the distribution is worth reading as well as its maximum.

On the lemniscate’s fifty-bar machine the worst bar gives 9.1×1039.1\times10^{-3} and the median bar gives 2.8×1042.8\times10^{-4} — a factor of thirty-three between them. Most of the machine barely matters.

That is a much better situation than the headline suggests, and it is the shape a builder could act on. If the reflectors were made to a tolerance ten times tighter than everything else, the machine’s worst amplification would fall by nearly an order of magnitude at a cost of tightening a quarter of its parts.

A tolerance budget is not uniform and this machine’s is very far from uniform. The tolerance field’s own machinery says exactly this about a four-bar — that its four lengths do not matter equally, and that knowing which matters is worth more than tightening all of them — and the same argument at a scale of fifty bars is the same argument with more room in it.

Two routes, and what the gap between them says

The site’s usual discipline here is two independent routes to a sensitivity: once by perturbing and re-solving, and once from the Jacobian in closed form. The two agreeing is what makes either trustworthy.

The second route is a chain rule through the constraint system and it is cheaper than the first, not dearer. A bar’s residual is |b − a| − L, so the whole system’s derivative with respect to bar i’s length is a vector carrying −1 in that bar’s row and nothing anywhere else. Differentiating the closure conditions gives

J · ∂q/∂L =  e

one right-hand side per bar against one Jacobian. Where the perturb route pays a full non-linear solve per bar — fifty solves on a fifty-bar machine — this pays a decomposition once and a back-substitution per bar.

The two do not agree exactly, and they must not. The perturb route is exact for the machine it actually solves; the Jacobian route is exact for the linearisation of it. They differ by the perturbation’s own second-order term, so a check that demanded a match to some tolerance would be choosing the tolerance after seeing the answer. What can be demanded is that the difference behaves.

It does. Halving the perturbation halves the disagreement, over five halvings, on every machine in the catalogue where there is anything to fit: fitted slopes run 0.99 to 1.06 against a prediction of exactly one. On the four smallest machines the two agree to better than a hundredth of a per cent at every step and there is no slope to fit, which is the same statement with nothing left over.

The badly conditioned machines are where this earns its place. The lemniscate’s compiled linkage has a condition number of 8.8 × 10⁴ and amplifies a bar error seventy-six fold, and at a perturbation of 4 × 10⁻⁶ its linearisation is 16.3% out — falling to 7.4%, 3.5%, 1.7% and 0.86% as the step is halved. That is not a defect in either route. It is the honest statement that on that machine a sensitivity quoted from a linearisation is good to one significant figure at a micron, and a reader planning to trust one needs to know which machine they are on.

The second route also found something the first could not: a bar whose closed-form response is exactly nought. Several are — the reflector bars that lie along a line the tracing point does not depend on — and the perturb route reports them at 3 × 10⁻¹¹, which is its own solver noise for that step. Two routes distinguish a zero from a small number and one route cannot.

What the perturbation actually moves

One detail of the measurement is worth stating, because it decides what the number means.

The perturbed machine is re-solved from the unperturbed configuration, so the solver finds the nearest configuration satisfying the new bar lengths rather than some other assembly. That is the right question — a made machine with a slightly long bar sits near where the ideal one would, not somewhere else entirely — and it is a choice that could have been made differently and would then be measuring something else.

The re-solve converges in every case; none of the two hundred and fifty perturbations across the catalogue produced a machine that would not close. That matters, because a mechanism can respond to a length error in two ways: by moving to a nearby configuration, or by having no nearby configuration at all. The second happens to overconstrained mechanisms, where a small error makes the loop unclosable and the mechanism simply does not go together.

An unbraced compiled machine is not overconstrained, so it takes up the error by moving, and what is measured is how far that movement carries the tracing point. A braced one has a hundred and fifty-four redundant equations and would behave like Bennett’s linkage instead — errors it cannot absorb by moving. That measurement is not made here and would be a different rung.

Where the error comes out, as a distance

The polynomial’s value at a point is not a length, and a builder would want one, so the same measurement is worth reading the other way.

Alongside the polynomial residual the measurement records how far the tracing point moved from where the unperturbed machine put it. On the lemniscate’s machine the worst bar moves it by a few thousandths of the arm’s own length — which is to say by about what the error put in, geometrically, and by a great deal more than that measured against the curve.

The two readings differ because the polynomial’s gradient at a point is not one: a curve along which pp changes slowly tolerates a large displacement for a small residual, and one where it changes quickly does the opposite. So the amplification of ninety is an amplification in the polynomial’s units, and converting it to a distance off the curve needs the gradient there.

That conversion is not done, and the residual is quoted because it is the quantity the specification is written in. The specification says p=0p = 0 and the measurement says how far from zero pp is, which is the comparison the field’s claim is about; a distance would be a different and equally reasonable thing to report, and mixing them would be the error.

Exactness is not bought with links. Five straight-line mechanisms, each measured over its own working arc — walked out to its dead centres and back a tenth — and each plotted at its own bar count. Watt's four bars are wrong by 9.0 per cent of the stroke and Chebyshev's by 12.4; Peaucellier's seven are exact. There is nothing in between, and adding bars to an approximation does not walk down the axis: the compiled machine is exact for the same reason Peaucellier is — an exact algebraic relation — and its extra bars buy generality rather than accuracy.
Fig. 6 The ideal axis this measurement disturbs: two approximations at nine and twelve per cent, three exact mechanisms fourteen decades below them.

What this does to the frontier

The comparison of straight-line mechanisms puts Watt’s four bars at nine per cent of the stroke and the exact mechanisms at 101410^{-14}, with fourteen decades of empty axis between them. That comparison is for ideal mechanisms.

Give every mechanism a length tolerance of a thousandth and the picture changes. Watt’s linkage is still out by nine per cent, because a thousandth is lost inside it. Peaucellier’s cell is out by something like a thousandth, so the gap closes from fourteen decades to about two. A compiled machine with an amplification of ninety is out by nearly a tenth — worse than Watt.

That is the sharpest thing this field has to say about universality, and it is not about size. A compiled machine large enough to be interesting is, when built to any tolerance anybody could hold, less accurate than the four-bar approximation it was supposed to improve on.

Exactness is a property of a design and accuracy is a property of an artefact, and the second is what a machine delivers.

It is worth being careful about what that comparison does and does not say. It is not that compilation is a bad method; it is that the quantity a compiled machine is optimal in — exactness of the relation — is not the quantity an artefact preserves. The same sentence applies to Peaucellier’s cell and has for a hundred and fifty years, and the only thing new here is the size of the amplification.

Why a ten-thousandth, and what happens at other sizes

The perturbation is 10410^{-4} on bars whose lengths are of order one, so it is a relative error of a hundredth of a per cent — roughly what a competent machine shop holds on a moderate part without trying, and a hundred times better than a casual one.

Choosing it fixes the units of the answer and nothing else, because the response is linear at this size. Halve the perturbation and every number halves; the amplification is a ratio and does not move. That was checked rather than assumed: at 10510^{-5} the worst amplification on the lemniscate reads within a per cent of the same ninety.

What would change it is a perturbation large enough to move the machine near one of its singular configurations, where the response stops being linear and the machine’s sensitivity rises without bound. That happens at errors far larger than any tolerance and it is worth knowing the boundary exists: the amplification quoted here is a small-error amplification and the machine has configurations where no such number applies.

A sensitivity is a derivative and a derivative is a local statement. The tolerance field has the same caution about every linear sensitivity it computes, and the caution is sharper here because a compiled machine’s working arc ends at a singularity rather than merely containing one somewhere.

Where the amplification comes from, structurally

It is worth asking whether the growth is intrinsic or an artefact of this construction, because the answer decides whether a better construction would help.

The angle chains are intrinsic. Any construction reaching frequency mm has to multiply an angle by mm, and multiplying an angle by mm multiplies an angular error by mm as well. That is arithmetic and no gadget set avoids it.

What is not intrinsic is the depth of the chain. Doubling and adding reaches mm in about log2m\log_2 m steps, and each step multiplies the accumulated error by two, so the total factor is about mm — the same as a chain of m1m-1 additions would give. A construction with a cleverer multiplier would have the same error growth and fewer parts.

So the honest statement is that the amplification is a property of integer angle multiplication, and the machine’s size is a property of transport, and improving the second does nothing for the first. A smaller universal construction would be exactly as fragile.

Bars against terms, over the whole catalogue. One mark per compiled machine. The bar count rises much faster than the term count, and the reason is the summing chain: term k has to have its direction carried to the k−1th vertex of the chain, one parallelogram per hop, so the carrying costs a translator for every pair of terms. Nine curves, from five bars to four hundred and thirteen, on a term count that goes from one to eighteen.
Fig. 7 Why the chain is not the problem: its errors enter once, linearly, however long it is.

One consolation, and it is small

Against all of that there is one thing in a compiled machine’s favour as an artefact, and it deserves its sentence.

The errors do not accumulate along the summing chain. A chain of eighteen links added head to tail is exactly the shape the stack-up machinery was built for, and the natural fear is that the last chain vertex carries the sum of eighteen independent errors. It does — and the closing constraint only reads the chain’s horizontal component, which is a projection, and the errors’ contributions to it are what the measurement already counts.

So the chain contributes its errors once, linearly, in the ordinary way. Nothing about the length of the chain makes it worse than the number of bars in it would suggest, which is why the translators come out as the forgiving part despite there being so many of them.

The depth of the arithmetic is what costs, and the arithmetic is shallow: five levels on a quintic. A construction reaching frequency fifty would be another matter entirely, and nothing in this catalogue goes there.

Where this leaves the practice field

This field’s question has always been what survives contact with parts, and its answers have been a series of reductions: an exact linkage is exact to its tolerance, a stack-up is worse than the worst part, clearance is a link with freedoms of its own.

The compiled machines add a case at the far end of a scale the field has not reached before, and they add one thing that is genuinely new to it.

The amplification is a function of the design’s depth rather than of its part count. Everywhere else on this site the sensitivity analysis is about how many dimensions stack and how their tolerances combine — a question of counting and of statistics, where the root-sum-square is a good answer because the errors are independent. Here the errors are not stacking; they are being multiplied, by an integer the construction chose, and no statistical treatment of independent errors captures that.

That is the residue worth carrying. A mechanism that adds lengths has a tolerance problem the field’s existing machinery handles. A mechanism that does arithmetic has one it does not, because arithmetic has gain and addition does not.

The fragile parts not being the numerous ones is the finding, and its practical shape is a caution about where a tolerance budget goes. The instinct on a machine of fifty bars is to spread the accuracy evenly, or to spend it on whatever there is most of; the measurement says the sensitivity is concentrated in the reflectors, which are the cheapest and least regarded part of the machine. So a budget allocated by cost, by part count, or by intuition puts the accuracy in the wrong place — and the error is not marginal, since the amplification runs to ninety times on a fifty-bar machine. Sensitivity is not correlated with anything a bill of materials records, which is the whole reason it has to be computed. That is the same conclusion the four-bar’s length sensitivities reach on a mechanism small enough to check by hand, arriving here on one where nobody could have guessed.

About the same objects

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

What links here

Essays that link to this one from their own argument.

The objects this essay names

Each one links to every other essay that touches it.

Compiled linkageError amplificationExact mechanismLength errorSensitivityStack-upTolerance