The curve as an equation

A parallelogram carries an angle, and only so far

A direction computed at the frame is no use where it is needed. A parallelogram carries one from point to point — but only between two points a fixed distance apart, and that single proviso is what makes a compiled machine quadratic in the number of terms and turns most of it into transport.

Assumes Four bars that add two angles.

The gadgets produce angles at a pivot. The summing chain needs them somewhere else. Between those two sentences is most of a compiled machine.

What a parallelogram does

Take a link from a point PP, at angle θ\theta and length ss, ending at XX. Take another point RR. Add two bars: one from XX of length PR|PR|, one from RR of length ss, meeting at YY.

The four points PP, XX, YY, RR then form a parallelogram, so YR=XPY - R = X - P, and the link RYRY has the same direction and the same length as PXPX. The angle has been copied from PP to RR.

the translator, solvedA parallelogram, carrying a direction from one point to another. It works only because the two points are a fixed distance apart, and that condition is the whole cost structure of a compiled machine. The relation it satisfies is **θ at P ↦ θ at R**, and across a sweep of 41 positions the worst departure from it is 5.6e-16 radians. Every joint here is the output of a Newton–Raphson solve on the bar lengths; nothing is placed by the formula the picture is about.θ hereθ thereθ at P ↦ θ at Rpositioned by solving, not by drawing
Fig. 1 The translator: a parallelogram carrying the direction of one link to another point. Drag the input and the output follows exactly, until it does not.

One new joint, two new bars, no freedom gained or lost. As cheap as any of the gadgets, and it does the one thing a linkage otherwise cannot: it makes a quantity available at a second place.

And the condition it comes with

Look at what the two new bars are. One is XY|XY|, which has to equal PR|PR|. One is RY|RY|, which has to equal ss.

A bar has a fixed length. So PR|PR| has to be fixed — the two points between which the direction is being carried must be a fixed distance apart. If they are not, the parallelogram cannot be built, because one of its bars would have to change length as the mechanism moves.

That is the entire cost structure of this field, in one sentence. A direction can be copied from a point to another point only along a bar that already exists.

Why the summing chain is a chain

The expansion is a sum, and the machine adds it up head to tail. Start at the pivot; the first term’s link goes from there to S1S_1; the second from S1S_1 to S2S_2; and so on, with the last vertex held on a line, which is the equation.

Term one is free: its link starts at the pivot, and the gadgets produced its direction at the pivot. Term two needs its direction at S1S_1, and OS1|OS_1| is fixed — it is the first term’s own amplitude, which is a bar — so one parallelogram carries it there.

Term three needs its direction at S2S_2. Is OS2|OS_2| fixed? No: S2S_2 is the sum of two links at angles that both move, so its distance from the pivot changes as the machine runs. There is no bar from OO to S2S_2 and there cannot be one.

What there is, is a bar from S1S_1 to S2S_2. So the direction goes to S1S_1 first — one parallelogram, along the fixed bar OS1OS_1 — and then from S1S_1 to S2S_2 — a second parallelogram, along the fixed bar S1S2S_1S_2. Two hops.

Term four takes three hops, term five four, and term NN takes N1N-1. The total is

1+2++(N1)=12N(N1)1 + 2 + \cdots + (N-1) = \tfrac{1}{2}N(N-1)

parallelograms, two bars and one joint each.

What that does to the size

For a curve with NN terms the arithmetic costs on the order of NN gadgets plus a few multiples, and the carrying costs N2/2N^2/2 parallelograms. The second wins as soon as NN is more than a handful.

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. 2 Each machine’s bars split two ways: the ones that build an angle, and the ones that carry a direction from where it was computed to where it is needed.

On the line, with two terms, the carrying is two bars of five. On the hyperbola, four of twenty. By the quintic, with eighteen terms, there are a hundred and fifty-four translators among two hundred and forty-two joints, and the carrying is three quarters of the machine.

And because NN itself is roughly d2d^2 for a curve of degree dd, the carrying is roughly d4d^4. A universality construction’s size is a fourth power of the degree, and the fourth power comes from transport rather than from algebra.

That is the answer to why these machines are astronomically large, and it is not the answer anybody guesses. The guess is that the algebra of a high-degree curve is complicated. The algebra is a few dozen bars. What is expensive is that a linkage has no way to refer to a quantity computed elsewhere — no variables, no names, no wires — and every reference has to be built out of matter, one parallelogram per unit of distance.

The machine compiled from a rectangular hyperbola. xy − 0.5, compiled: 20 bars and 20 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 36 equations, converged to 4.2e-16, and the polynomial at the tracing point is 2.2e-16.
Fig. 3 The one transport that is free: the arm’s first link is a bar, so one parallelogram carries the second arm angle back to the pivot.

The one place the proviso is satisfied for free

There is exactly one transport in a compiled machine that is not part of the ripple, and it is the first one built.

The arm’s second angle β\beta is the direction of the link from QQ to PP — the elbow to the tip. The gadgets need it at the pivot OO, and OQ|OQ| is the arm’s first link, which is a bar. So one parallelogram OO, QQ, PP, PP' carries it home: bars OPOP' of length \ell and PPPP' of length \ell, and the direction of OPOP' is β\beta.

That single parallelogram is what makes the whole architecture possible. Without it, β\beta would only be available at a point that moves relative to everything else, and no gadget could reach it. With it, both arm angles are links from one fixed pivot, all the arithmetic can be done there, and the only transport left is the ripple out to the chain.

It is also, as it happens, the machine’s one genuinely simultaneous solve. Everything else places joint by joint; the arm’s tip and this parallelogram’s fourth vertex are determined together, as a pair, which is a fact about the machine’s graph rather than about its size and is the subject of its own rung.

Ordering the terms does not help, and it is worth knowing why

The obvious optimisation is to reorder the sum so the expensive terms are early. It does not work, and the reason is that the cost is symmetric.

Whatever order the terms are put in, term at position kk takes k1k-1 hops, and the total is (k1)\sum (k-1), which does not depend on the order at all. Reordering moves cost between terms and does not change the sum.

What reordering does affect is something else, and it turned out to matter. At a hop, the parallelogram’s two sides are the direction being carried and the chain bar it is being carried along. If those two are parallel, the parallelogram is a straight line, its two bars become one equation, and the machine’s Jacobian loses a rank. An early version of the compiler produced a cubic’s machine with eight ranks missing from a hundred and thirty-four, and the machine would not move at all — every joint frozen, every residual growing exactly in proportion to the driving angle, and no gate on this site able to say why.

The repair is to choose the machine’s starting configuration so that no two term directions are parallel, scored from the closed forms rather than by compiling and testing. Ordering is untouched; what changed is where the machine starts.

What the ripple looks like as a picture

The bookkeeping above is dry and the object it describes has a shape worth seeing.

Draw the summing chain from the pivot outward: a polygon whose sides are the term links, opening out to the last vertex on its line. Now hang off it, at each vertex, the parallelograms carrying every later term’s direction past that vertex. The first vertex carries N1N-1 of them, the second N2N-2, and the last carries none.

What that looks like is a triangle of parallelograms, thickest at the pivot and tapering to nothing at the far end, with the chain running along its edge. On the small machines it is a few quadrilaterals. On the quintic it is a fan of a hundred and fifty-four, and it is most of what a picture of the machine shows.

The colours in that figure are the argument, and they are why a machine of four hundred bars is drawn as a mass of coloured lines rather than as a diagram a reader could follow joint by joint. Following it joint by joint is not possible and nothing is gained by pretending; what can be seen at a glance is how much of it is one thing.

Every way the same bars can be put together. The machine compiled from a rectangular hyperbola has 4 parallelograms, and a parallelogram's four bars also close as an antiparallelogram — so there are 16 ways to assemble it. One mark per way. 4 of them put the tracing point on the curve, 4 put it somewhere else, and 8 do not close at all. The ones that are wrong are not broken: they satisfy every bar to 9.6e-15 while the polynomial at their tracing point reads 1.5e-1. This is the gap in Kempe's original argument, and no tolerance on the closure could ever have found it.
Fig. 4 What every parallelogram costs: two closures each, so sixteen ways to assemble a machine with four of them.
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. 5 What the proviso costs when it is only nearly satisfied: one bar of the machine made a ten-thousandth too long, one bar at a time. The parallelograms are where the error goes, because a parallelogram that is not exactly one carries the wrong angle and every later gadget inherits it.

The second assembly, which is the field’s central problem

The translator has a property the rung on branches is entirely about, and it is worth meeting it here, where the mechanism is small enough to see.

A parallelogram is four bars. Four bars with equal opposite sides close two ways: as a parallelogram, and crossed, as an antiparallelogram. Both satisfy every bar exactly. In the crossed assembly the copied link does not have the direction of the original, and the translator is carrying the wrong angle.

Nothing about that is a failure of the linkage. It is a four-bar with two assembly branches, which is the ordinary situation for a four-bar and among the first things this collection drew. What is unusual is the consequence: a machine with kk translators has 2k2^k ways to be put together, most of them compute a different function, and every one of them satisfies its constraints perfectly.

The hyperbola’s machine has four translators and sixteen assemblies. Eight of them close; four put the tracing point on the curve and four put it somewhere else.

The machine compiled from an ellipse. x^2 + 2.2y^2 − 1.6, compiled: 34 bars and 29 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 54 equations, converged to 7.4e-16, and the polynomial at the tracing point is 2.2e-16.
Fig. 6 A compiled machine with the transport painted apart from the arithmetic. The fan of parallelograms is the cost this rung is about.

Transport is not unique to this construction

It is worth widening the point for a moment, because the constraint that costs so much here is not an artefact of one clever nineteenth-century idea. It is a property of linkages.

A linkage’s only currency is distance. A bar asserts that two points are a fixed distance apart, and every other constraint on this site — a slider on a guide, a pin in a slot, a rigid attachment — is a statement about where points are relative to other points. There is no operation in the vocabulary that says this angle here is the same as that angle over there without building something between them.

So any construction that computes a quantity in one place and needs it in another pays a transport cost, and the cost is proportional to how far apart they are, measured in bars. The strand field has the only mechanism on this site that does anything else: a cable carries a length along a path without a bar per unit of path, which is exactly why it is a member with no length of its own and why it needs its own field.

A compiled machine cannot use a strand, because what it has to carry is a direction and a strand carries a length. So it pays.

What the translator is not

Two things a reader might reasonably expect the translator to do, which it cannot.

It does not change a length. A parallelogram copies both direction and magnitude, because its opposite sides are bars. Changing a length is the rigid offset’s job — a triangular link with a different reach — and the two are separate pieces for that reason.

It does not reach a moving point at a varying distance. This is the proviso restated, and it is the one that costs. There is a tempting alternative construction — add all the term vectors at the pivot with a tree of parallelograms rather than a chain — and it fails on exactly this point: a partial sum’s distance from the pivot varies, so the parallelogram that would add the next vector to it needs a bar of changing length. Vector addition with rigid bars is only available at a fixed baseline, and the chain is the arrangement that supplies one at every step.

That failed alternative is worth recording rather than quietly not mentioning, because it is the first thing anybody tries, and the reason it fails is the same one sentence as everything else in this rung.

The cost that is not paid, and why it is worth noticing

Against all that expense, one thing is genuinely free, and the asymmetry says something about what kind of object a linkage is.

Distance costs and rotation does not. A rigid offset applies any fixed angle at no charge, so the phase angles in the expansion — eighteen real numbers on the quintic, each of them an arbitrary angle — is absorbed into triangular links that would have been there anyway. Likewise the amplitudes: eighteen arbitrary lengths, spanning a factor of a hundred, and not one extra bar between them.

So a compiled machine’s size depends on the integers in its specification and not at all on the reals. Perturb every coefficient of the polynomial by a per cent and the machine is the same size, with different lengths. Change one coefficient to zero and a term may vanish and take a whole column of the ripple with it.

That is an unusual sensitivity profile and it is the opposite of the tolerance field’s usual one, where what matters is how a small change in a length propagates. Here a small change in a coefficient does nothing structural at all, and an exact cancellation does everything.

A machine with one thing in it that must be solved at once. Each compiled machine's joints, walked in the order they can be placed: a joint goes down as soon as two things already placed decide where it is. Every one of these machines unwinds completely, and each contains exactly one pair that has to be solved together — the arm and the parallelogram that carries its second angle back to the pivot. Nothing larger than a dyad appears in a machine of two hundred and forty joints. The topology field's four-bar, at four, has no such decomposition at all; a compiled linkage is enormous and structurally trivial, which are not the same axis.
Fig. 7 The architecture, walked: everything places in order except the arm and the parallelogram that carries its second angle home.

The shape of the whole machine, now visible

Four constructions and a summing chain, and the next rung puts them together and runs the result.

The arm gives the coordinates. One parallelogram carries the second arm angle back to the pivot, which is legal because the arm’s first link is a bar of fixed length. All the arithmetic happens at the pivot, where every angle is a link from one point and the gadgets can reach them. Then each term’s direction is offset to its own phase and length, carried out along the chain, and added head to tail. The last vertex is held on a line, and that constraint is the polynomial.

One freedom, whatever the size. The arm has two, the equation takes one, and every gadget in between adds exactly as many equations as it adds unknowns.

That last property is worth stating because it is what makes the construction a construction rather than a search. Nothing in the machine is free to be chosen after the fact. Given the polynomial, the expansion is determined; given the expansion, the gadget graph is determined; given the graph, every bar length is determined. There is no tuning step, and there is nothing to tune.

The one number to carry from this rung

If a reader keeps one thing from the four gadgets and the chain, it should be the split.

A compiled machine’s arithmetic is cheap and its transport is quadratic. The reflectors and means that turn two angles into eighteen integer combinations of them come to a few dozen bars. The parallelograms that move those eighteen directions out along a chain of eighteen vertices come to a hundred and fifty-four.

Every later rung reads that split. The cost rung plots it. The branch rung counts the assemblies it creates — 2k2^k of them, one per parallelogram. The brace rung removes them, at the cost of one redundant equation per parallelogram, which on the quintic is a hundred and fifty-four redundant equations added on purpose. And the tolerance rung finds, against every expectation the split creates, that the translators are the part a made machine can afford to get wrong.

There is a design reading of the transport cost that generalises past this machine. A parallelogram carries a direction from one place to another and it costs four bars and four joints to move it a fixed distance — so transport is priced by distance, and any construction that needs a quantity at a place other than where it was computed pays in proportion to how far it has to go. That is an unusual kind of cost in kinematics, where most quantities are available wherever the mechanism reaches, and it is what makes the compiled machine quadratic: the number of transports grows with the number of terms and the distance grows with it too. It also says what a designer would look for to escape it. Anything that makes a quantity available at several places at once — a shaft carrying an angle to wherever a bevel gear is fitted, a strand carrying a length along a route, a rotating member with several outputs — is a broadcast rather than a transport, and its cost does not grow with distance. Which is a real difference between mechanism families and it is invisible until somebody counts a machine that needs the same angle in four hundred places.

What this makes readable

Essays that name this one as a prerequisite.

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.

Assembly branchLinkageOverconstraintParallelogram linkageRigid bodySumming chainTranslator