The curve as an equation

A compiled machine and its own scale

A linkage compiled from a polynomial has bars whose lengths are the polynomial's coefficients and joints whose angles are its phases. Scale it and every coefficient scales — so the machine computes the same polynomial multiplied by a constant, which is a different polynomial with the same roots.

Assumes A demand that is an equation.

A compiled machine is built rather than searched for: every monomial of a polynomial becomes a cosine, every cosine becomes a link, and the linkage closing is the equation being satisfied.

Its parameters are therefore of a very particular kind, and the scaling question has an unusually clean answer.

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. 1 A machine compiled from an equation, whose bar lengths are the equation’s coefficients.

The parameters are coefficients and phases

A compiled linkage’s bars have lengths equal to the polynomial’s coefficients, and its gadgets impose phases that are the polynomial’s angles.

That is a genuinely unusual parameter list and it is worth being clear that it is literal rather than an analogy. A term of the polynomial with coefficient 2.4 becomes a bar 2.4 units long; a term with a phase of 40° becomes a gadget set to 40°. The compiler reads the polynomial and emits a parts list, and the parts list’s numbers are the polynomial’s numbers.

So the parameter list splits the same way a spatial loop’s does: some parameters are lengths and some are angles, and a scaling acts on the first and not the second.

Scale the machine. Every coefficient is multiplied by k. Every phase angle is unchanged.

The polynomial the machine evaluates goes from P to kP, and that is a different polynomial.

A compiled linkage’s bars have lengths equal to the polynomial’s coefficients, and its gadgets impose phases that are the polynomial’s angles.

Scale the machine. Every coefficient is multiplied by k. Every phase angle is unchanged.

The polynomial the machine evaluates goes from P to kP, and that is a different polynomial.

Same curve, different function

Those two statements have to be reconciled and the reconciliation is the essay’s content.

The machine’s job is to trace a curve, and the curve is where the polynomial vanishes. P = 0 and kP = 0 have exactly the same solution set for any non-zero k, so the scaled machine traces the same curve.

But the polynomial it evaluates — the value it returns at a point off the curve — is multiplied by k. That value is not nothing: it is what the linkage’s closure error is, and it is what a numerical routine following the curve reads.

The two readings correspond to two things a reader might mean by the machine computes P. It satisfies P = 0, and satisfaction is preserved. It evaluates P, and evaluation is not.

So a scaled compiled machine is a machine for the same variety and a different function. Both readings are correct and they answer different questions: what does it draw, and what does it compute.

A curve is a shape and a polynomial is not. That is a distinction algebraic geometry makes routinely and mechanism kinematics does not, and here it is forced by a machine that instantiates both.

Those two statements have to be reconciled and the reconciliation is the essay’s content.

The compilation is a shape and the machine is a size

Splitting the object the way this survey splits everything gives a clean statement.

The compilation — which polynomial, which gadgets, in which arrangement, with which phases — is entirely dimensionless. It is a combinatorial structure with angles in it, and no scaling touches any of it.

The machine is that compilation multiplied by a size. Every bar’s length is a coefficient times the common factor, and the factor is free.

So a compiled machine factors exactly the way a chain and its lengths do: a discrete part with no numbers and a continuous part that is all numbers, joined by a construction.

The difference is that here the continuous part is one number rather than many. A four-bar’s chain is fixed and its four lengths are free; a compiled machine’s structure is fixed and its coefficients are fixed by the polynomial, leaving only the overall scale.

A compiled machine has one continuous parameter, which is the fewest of any mechanism on this site, and it is the one parameter that changes nothing about what the machine does.

The working arc is a shape

The field’s own characteristic quantity behaves as the pattern predicts.

A compiled machine’s working arc is the range of its input over which every gadget stays in the closed form it was compiled for. Past that range a gadget flips and the machine computes something else.

A gadget’s flip condition is a condition on angles — a reflector’s singularities are at μ = θ and μ = θ ± π/2, and both inputs are whole-number combinations of arm angles. No length appears.

So the working arc is a shape, unchanged by scaling, and a compiled machine at any size stops working at the same input angles.

That is worth having because the working arc is the field’s main practical limitation. It is a property of the compilation — which gadgets, in which arrangement — rather than of the machine’s size, so making a machine bigger buys nothing and neither does making it smaller.

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. 2 The order the gadgets are composed in, which decides the working arc and contains no length.
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. 3 And the assemblies the machine admits, which is a count.

Where the two readings matter differently

Which of same curve and different function is the right reading depends on what the machine is for, and both uses exist.

As a curve tracer — a machine that draws a prescribed shape — only the variety matters, so the scaling is a free parameter and a designer should use it. Make the machine whatever size fits the bench.

As a computer — a machine that evaluates a function, which is how Kempe’s construction is usually motivated — the value matters, so the scaling changes the output by a known factor and has to be accounted for. A machine that reads high by k is a machine whose readings need dividing.

And as a constraint — a machine used to hold something on a curve — only the variety matters again.

Two of the three uses are indifferent to the scale and one is not, and the one that is not is indifferent in a way that is trivially correctable: multiply by 1/k. So the free parameter is genuinely free in every practical sense, which is not something the survey has been able to say about any other machine’s unrecoverable direction.

The size of a compiled machine is a real problem

The field’s other characteristic quantity is the machine’s own bulk, and here the scaling result is uncomfortable.

A compiled machine is large: a polynomial of modest degree becomes a linkage of dozens of bars, and the field’s own accounting is about how the bar count grows with the degree.

That count is a count, so it is scale-free — a machine of a hundred bars is a machine of a hundred bars at any size.

What is a length is the ratio between the machine’s largest bar and its smallest, and that ratio is set by the polynomial’s coefficients. A polynomial whose coefficients span four orders compiles to a machine whose bars span four orders, and that is a machine nobody can build: the small bars are shorter than the pins joining them.

The buildability of a compiled machine is a question about the coefficients’ ratios, which is a shape, so it does not improve by making the machine bigger. Scaling multiplies every bar equally and leaves the ratio where it was.

That is the sharpest practical consequence of the scaling result in this field, and it is a discouraging one: the standard escape from a part being too small — make everything bigger — does not work here, because the small bar is small relative to the big one.

A machine that is its own equation

Worth pausing on why this field produces such a clean answer, because the reason is what makes the field interesting in the first place.

In every other field the relation between a mechanism and the mathematics is one of modelling: the machine exists, somebody writes equations for it, and the equations are a description. The parameters are lengths that happen to appear in the description.

Here the relation runs the other way. The equation exists, the machine is compiled from it, and the parameters are the equation’s coefficients — not numbers that appear in a model of the machine, but the machine’s own reason for being the shape it is.

So questions about the machine and questions about the polynomial are the same questions, and a scaling of the machine is a scaling of the polynomial. That identity is what makes the answer here so much sharper than anywhere else in this survey: there is no modelling step in between for a subtlety to hide in.

A compiled machine is the one mechanism on this site whose parameters have an independent meaning, and every result in this essay follows from taking that meaning seriously.

Normalising the polynomial

There is a repair available and it is the algebraic one.

A polynomial can be scaled freely without changing its variety, so the compilation is free to choose k. Choosing it to make the largest coefficient one, or to minimise the spread, is a normalisation, and it is the compiler’s decision rather than the designer’s.

That is exactly the scale freedom this essay is about, put to use. The machine’s overall size is a free parameter of the compilation, and the compiler should set it — which is a small piece of engineering the field’s own compiler does not currently do.

What it cannot fix is the ratio. Normalising moves every coefficient by one factor and leaves their spread untouched, so a polynomial with a badly conditioned coefficient set compiles to a badly proportioned machine whatever normalisation is chosen.

Fixing that needs a different polynomial for the same curve — multiplying by a unit, or choosing different coordinates — which is algebra rather than mechanism design and is not something this field does.

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. 4 What a manufacturing error does to a compiled machine, whose bars are coefficients and whose errors are therefore errors in a polynomial.

A tolerance on a bar is a tolerance on a coefficient

The field’s tolerance question acquires an unusual reading here, and it is the reading that makes compiled machines fragile.

A bar’s length is a coefficient. So a manufacturing error on a bar is an error in a polynomial’s coefficient, and the machine traces the curve of the perturbed polynomial rather than an approximation to the curve of the intended one.

That is a different kind of error from a four-bar’s. A four-bar built slightly wrong traces a slightly different curve of the same family; a compiled machine built slightly wrong traces the exact curve of a slightly different polynomial, which can be a curve of a different shape entirely if the perturbation crosses a discriminant.

A small error in a coefficient can be a large change in a variety, and near a discriminant it is. That is an algebraic-geometry fact rather than a mechanism one, and it arrives here because the machine’s parameters are coefficients.

The practical consequence is that a compiled machine’s tolerance question cannot be answered by the ordinary sensitivity apparatus alone: the derivative of the traced curve with respect to a bar length is well defined and is not the whole story where the curve’s topology can change.

What identifying one would recover

Apply the field’s own question, which has a neat answer here.

Measure a compiled machine’s input and output angles. Those readings are dimensionless, so by the standing argument the scale is invisible: the coefficients come back up to one common factor.

Up to one common factor is exactly what the polynomial is determined to anyway. So an angle-only measurement of a compiled machine recovers its polynomial completely, in the only sense in which a polynomial defining a curve is determined at all.

There is a caveat and it is the field’s own. Past its working arc a gadget flips and the machine computes a different polynomial — one term’s frequency altered — so a measurement that strayed outside the arc would be fitting two functions to one data set. The arc is a shape, so it is the same arc at every size, and a plan can be kept inside it from the drawing.

That is the one identification in this survey where the plan’s constraint is structural rather than about conditioning: the poses must lie inside a range decided by the compilation, and inside it everything works.

The phases are dimensionless and are recovered directly. So the whole compilation — which curve, which gadgets, which arrangement — is recoverable from a protractor.

Apply the field’s own question, which has a neat answer here.

That is the one mechanism in this survey where the unrecoverable direction costs nothing whatever. Every other machine’s missing size is a real quantity somebody wanted; here it is a gauge freedom the mathematics already quotients out.

The gadgets themselves

Running the probe over the compilation’s building blocks confirms the split at the level below the machine.

A translator carries a length along and its length is a parameter: a size. An adder combines two angles and its own bars’ lengths cancel out of what it computes: the angle it produces is a shape. A reflector applies a phase, which is dimensionless. A multiplier applies a whole-number frequency ratio, which is a count.

So the gadget vocabulary spans three of the four classes — sizes, shapes and counts — and every gadget’s function is dimensionless while some of them have lengths inside.

That is worth having because it says where a compilation’s sizes come from. They come from the translators and from nothing else; the angle-manipulating gadgets contribute structure and no scale.

A compiled machine’s size lives entirely in the bars that carry lengths, and a compilation with many angle gadgets and few translators is one whose bulk is mostly structural rather than dimensional.

The same four bars, and the bar that tells them apart. Left, a parallelogram; right, the crossed assembly of exactly the same four lengths. In the parallelogram the midpoints of the two opposite sides are one side-length apart — here 1.000, and it stays that as the linkage moves — and in the crossed assembly they are 0.115. So a bar between those two midpoints admits the first and refuses the second. That is the brace: two rigid attachments and one bar, and it is the whole repair of Kempe's argument.
Fig. 5 The bracing that holds a gadget in its intended configuration, which is structure rather than dimension.
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. 6 And a compilation with more terms, whose bar count grows and whose overall scale is still one free number.

When a hidden direction costs nothing

Every other machine in this survey has an unrecoverable direction that somebody wanted. This one has an unrecoverable direction that was never information, and the difference is worth stating as a rule rather than as a curiosity.

A compiled linkage’s bar lengths are a polynomial’s coefficients. Scale the machine by k and every coefficient is multiplied by k, so the machine now computes k·p(z) rather than p(z) — a genuinely different polynomial. But the curve the machine draws is where its output vanishes, and k·p(z) vanishes exactly where p(z) does. Same curve, different function, and the thing the scaling changed is the one thing the curve was never determined to.

So the missing direction is a gauge freedom: a redundancy in the description rather than a fact about the object. A projective geometer would say the coefficient vector was only ever defined up to a scalar and the machine has been carrying a representative of an equivalence class all along.

That gives the general form. A null direction costs nothing exactly when the quantity it hides was a gauge freedom of the problem rather than a property of the machine, and the site now has instances of both to compare against. A four-bar’s missing size is a property: somebody has to cut the bars, and cutting them at the wrong size builds the wrong machine. A platform’s missing frame origin is a gauge: nothing about the machine changes if the origin moves. A compiled linkage’s missing scale is a gauge with respect to the task — the curve — and a property with respect to the workshop, which still has to cut bars to some length.

That last case is the interesting one, because it shows the classification is not a property of the null direction alone. It depends on what the machine is for. The same unrecoverable scaling is free if the machine is being used to draw a curve and matters if the machine is being copied, and no amount of looking at the spectrum distinguishes those.

The test is not in the mathematics. Ask what would be different if the hidden direction took another value, and then ask whether anybody would mind. On this machine the answer is a polynomial with different coefficients and the same roots, which nobody minds. On a four-bar it is a machine that does not fit in the space it was designed for, which somebody does.

Two of the three uses a compiled linkage is put to are indifferent to the scale, and the third — reading a coefficient off a bar — is indifferent up to a factor of 1/k that is trivially corrected once one bar is measured. So the free parameter here is genuinely free in every practical sense, which is not something the survey has been able to say about any other machine’s unrecoverable direction, and the sharpness comes from the machine being its own equation with no modelling step in between for a subtlety to hide in.

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.

CoefficientCompiled machineGadgetIdentifiableImplicit equationKempe linkageScale invarianceWorking arc