The cloth that was called impossible
Worth reading first: The crimp ratio is not a measurement · Peirce against the racetrack, measured · Crimp, and why cloth narrows when it is pulled.
Every cloth this site computes with comes out of one table: eight constructions with their setts and counts, each a plain weave, each chosen so that the ordering between them is right even though none of them is a measurement of a particular fabric. The table has carried a note since the cloth table was written, and the note says something specific and embarrassing.
A real 44-end poplin in 15 tex cotton has no solution in this model at all — the circular section asks for more room than the sett leaves — so the poplin row here is set at 32 ends per centimetre. The densest shirtings in the trade are outside a circular model’s reach — which would also have put them past the sett a plain weave admits at all.
It is quoted in an essay. It has been read, reasonably, as a statement about Peirce’s geometry.
It is false. The cloth solves.
What the solver was doing
Peirce’s geometry has two unknown weave angles and one closure condition: the two crimp heights must add to the cloth’s thickness. That is one equation short, so a crimp ratio is supplied from outside and the solver bisects on h₁, the share of the thickness the warp’s crimp takes, until the ratio comes out right.
The bisection ran on the interval from no warp crimp to all of it, and it handled an unreachable state by concluding it had gone too far and pulling the upper end down.
That is correct at one end of the range and wrong at the other, and the two failures are indistinguishable in the code. Too small an h₁ leaves the weft a height it cannot reach. Too large an h₁ does the same to the warp. A state can be refused for either reason, and treating every refusal as “too far” makes the search walk downwards from any midpoint it cannot evaluate.
For a loosely set cloth that never bites, because the feasible interval contains the midpoint and the first probe lands inside it. For a densely set one it is fatal. When the warp is set very close, the weft has almost no room to bend across it — it can supply at most 0.098 mm of a cloth 0.312 mm thick — so every reachable state has more than two thirds of the thickness in the warp, and the feasible interval is the top third of the range. The midpoint is outside it. The first probe fails, the upper end comes down, and the search spends two hundred halvings converging on a region where nothing exists.
What the interval actually is
It has a closed form and no search is needed for it.
A thread bending across a spacing p cannot rise higher than it does at the angle where its straight portion has just vanished, and that angle is arcsin(p/D). Call the height there its reach. Then the warp must supply at least the thickness the weft cannot reach, and at most what it can reach itself:
For the 44-end poplin that is 0.213 mm to 0.312 mm — a real interval, a third of the range wide, and containing a crimp ratio of one comfortably. The solver now computes it before it searches, and refuses a ratio outside the range the construction admits by naming the range rather than by returning the nearest state it could find.
That last clause is the repair that matters. The old solver did not fail; it returned an answer. It handed back the last state it managed to evaluate, at whatever crimp ratio that happened to be, with nothing in the return value distinguishing it from a solution. A figure asking for a ratio of two on a closely spaced pair was drawn at 1.754 and captioned as two, for a long time, on a page whose whole subject is that the ratio is a free choice.
The third time this shape has appeared here
It is the same defect as the relaxation solver’s, found a long time ago and recorded then: it kept the last state it could solve and returned it when the requested value was unreachable, saying nothing; and its bisection treated both ways of failing as the same way. The words fit this one without alteration.
Two solvers, written years apart, for different quantities, failing identically. That is not a coincidence and it is worth naming as a pattern rather than as two bugs. A bisection over a feasible region has three outcomes and most implementations have two. The value is reached; the value is not reached because the search should go one way; the value is not reached because the search should go the other. Collapsing the last two into “not reached” is the natural way to write the loop, it costs nothing on well-conditioned inputs, and it fails silently and plausibly on exactly the inputs that are interesting — the dense cloths, the extreme constructions, the edges of a range where something is actually being learnt.
The general repair is the same in both cases and is not a better search: compute the feasible interval first, from the geometry, in closed form. A search that knows where it is allowed to look cannot be told the wrong direction by a refusal.
The sharper result underneath
Fixing the search turns up something the missing row never suggested.
Sweeping the sett a hundredth of an end at a time, the interval of admissible crimp ratios narrows as the warp is set closer, and at 44.18 ends per centimetre its lower end passes one. Past that sett a poplin of these counts cannot divide its crimp equally at all: there is no arrangement of the two threads, at any weave angle either can take, that puts the same fractional excess in both.
So the site’s standing assumption is not merely wrong for a dense shirting. It is unavailable, and the sett at which it becomes unavailable is a computable property of the construction rather than a rule of thumb.
The direction is the one the geometry forces and it is worth stating as a mechanism. A closely set warp leaves the weft short spans to bend across. Short spans reach low. So the weft cannot supply its share of the thickness however it is arranged, the warp has to make up the difference, and the warp making up the difference is exactly a warp with more crimp. Past some sett the shortfall is more than an equal division can absorb.
Which is why the row was lost where it was
The 44-end poplin sits at 44.0 ends against a limit of 44.18 — well inside the sett its own yarn admits, which is why nothing about the construction looked suspicious. Its feasible interval exists, contains a ratio of one, and is a fifth of an end from not containing it.
That is precisely the condition under which a bisection on the whole range fails and a bisection on a slightly looser cloth does not. The 40-end poplin solves under the old solver, because its interval is wide enough to catch a probe. The 44-end one does not. The note in the table was written by somebody who tried a real construction, got a refusal from a solver that had been trustworthy on every previous cloth, and drew the reasonable conclusion.
The reasonable conclusion was wrong, and the way it was wrong is worth more than the row. A tool that has behaved correctly on every input so far is not evidence about a new input, and the inputs where it first misbehaves are the ones at the edge of what has been tried — which are the ones being tried because they are interesting.
What was counted, and how
The equal-crimp limit is enumerated rather than solved: the sett is swept from 43 to 45 ends per centimetre in hundredths, the admissible interval computed in closed form at each, and the first sett at which one falls outside it recorded. That is 200 evaluations for a number that could in principle be got by inverting an inequality, and the inequality would need its own proof; the site’s habit is to ask rather than to derive when asking is cheap.
Five poplins are checked as a sequence — 32, 40, 44, 48 and 52 ends — and the assertion is not that any of them behaves in a stated way. It is that equal crimp is lost exactly once, going from admitted to not admitted and never back. A monotone loss is what a geometric limit looks like. Anything else would mean the interval computation had a hole in it, which is the failure mode this whole rung is about.
The 44-end poplin is separately asserted to solve, which is the direct contradiction of the table’s note and is the thing that would silently regress if the solver were ever rewritten.
The row has not been added to the table, and that is a deliberate deferral rather than an oversight. A ninth cloth would move every table, bracket and quoted range on this site — some forty essays carry numbers taken over the eight — and the dense shirtings are worth a treatment of their own rather than a row. The table’s note now says what is true and why the row is still 32 ends.
The check that would have caught it
Worth naming, because it is cheap and this site did not have it.
A solver that refuses should be asked, once, whether the thing it refused is genuinely unavailable or merely unreachable — and the way to ask is to compute the feasible set rather than to try the search again. For Peirce’s geometry that is four lines of closed form and it is now what the solver does before it searches.
The general version is a habit rather than a gate: when a model refuses an input that ought to be ordinary, suspect the search before the model. A refusal that arrives on a normal-looking fabric is far more likely to be a numerical boundary than a physical one, and the difference is decidable.
The heights have their own limit, and it is a closed form
The 44.18 is a limit on the crimp ratio, found by sweeping. There is a second and simpler question the same interval answers — when can the two crimp heights be equal? — and that one has an answer in closed form with no search anywhere in it.
The reach of a thread bending across a span p is its height at the angle where its straight portion has just vanished. Substituting that angle into Peirce’s two equations, everything cancels but a square root:
reach(p) = D(1 − √(1 − (p/D)²)).
Equal heights means each system supplies D/2, so each must reach at least that far. Setting reach(p) ≥ D/2 gives √(1 − (p/D)²) ≤ ½, which is
p ≥ (√3 ÷ 2) · D ≈ 0.866 D,
in both directions. For a square cloth of equal diameters, D is twice one diameter and the condition becomes a cover of 1/√3 = 0.5774 or less.
Checked against the poplin the essay is about: its two diameters sum to 0.3116 mm, so the end spacing must be at least 0.2699 mm and the sett at most 37.1 ends per centimetre. The 44-end poplin is well past that — at 44 ends the weft can reach only 0.098 mm of a cloth 0.3116 thick, which is the 31.5 per cent the solver’s own diagnosis reports.
Two things are worth taking from putting the two limits side by side.
Equal heights and an equal crimp ratio are not the same condition, and they are far apart. The poplin loses equal heights at 37.1 ends and equal crimp at 44.18 — a gap of nearly a fifth. So a cloth can divide its crimp equally while dividing the thickness very unequally, which is what the 44-end poplin does: at a ratio of one its warp carries more than two thirds of the height. The crimp ratio is a poor proxy for how the thickness divides, and this collection has quietly used one to reason about the other.
And the closed form is the check the swept limit deserves. A number found by sweeping a hundredth of an end at a time is a number nobody can verify by hand; the height limit is one line of algebra, it lands where the solver’s own reach diagnosis lands, and it confirms that the interval computation is doing what it says. That is the same relation between the two that the essay recommends throughout — compute the feasible set where a closed form exists, and search only where one does not.
The height limit also has the cleaner statement for a reader. A plain weave more than about three fifths covered cannot share its thickness equally between its two systems, whatever its counts, because the reach of a bending thread is a function of one ratio and nothing else.
Where the model stops
The interval is a circular-section interval. A flattened thread is thinner, so the cloth is thinner, so there is less thickness to divide and both systems can reach more of it — which widens the interval and pushes the equal-crimp limit to a denser sett. The 44.18 is therefore a limit for a relaxed cloth of round threads, and a pressed cloth is a different cloth. How much denser has not been computed and is recorded as not done.
It is a plain-weave interval. A twill’s thread passes over more than one crossing before it turns, so it reaches further for the same spacing and the whole calculation moves. Real dense shirtings are frequently twills, and this argument does not reach them.
And the crimp ratio it is about is still an input. The rung below supplied an energy argument that predicts it; this rung is about which values are available rather than which is preferred, and the two questions are separate. A construction can admit a ratio that the energy would never choose, and can fail to admit the one the energy prefers — in which case the cloth sits at the nearest end of its interval, which is a boundary state and is a different physical situation from an interior minimum.
The generalisation
A model that refuses an input is making a claim, and the claim is usually about the solver.
That is the whole lesson and it generalises past textiles without alteration. A refusal is the one output nobody checks, because a refusal looks like the model being careful. It is trusted in exactly the circumstances where trust is least warranted — an unusual input, a boundary case, a first attempt at something outside the range the code was written against — and the report it produces reads as a fact about the world.
The specific form is worth carrying too: when a search fails, ask whether the feasible set is empty or merely awkwardly placed, and answer that question by computing the set rather than by trying harder. In this case the set was a third of the range wide and sat entirely above the midpoint. No amount of restarting, tightening or increasing the iteration count would have found it.
Who found it, and when
Peirce’s geometry is 1937 and the one-equation-short character of it is stated in the original: the crimp ratio has to come from somewhere else, and the somewhere else Peirce names is measurement.
The observation that the very densest shirtings strain a circular model is standard and correct — a 44-end poplin in 15 tex is a genuinely tight construction and the section is genuinely close to jamming. What is not standard is that it strains the model less than it strains a search over it.
The finding here is this site’s and it is the kind that only appears in a collection with a rule about enumerating rather than quoting. The note in the table was believed for a long time because nothing ever asked the solver a question it could answer only by looking in the right third of its own range.
Where the ladder goes next
Sideways, the same solver repair is what let the two section models be compared as one model, because the flattened geometry has to be solved at aspect ratios where the feasible interval is narrow.
Along this ladder, the ratio the energy prefers and the interval the geometry admits need putting together properly for the dense case — a construction whose preferred ratio is outside its admissible interval sits at a boundary, and boundary states have not been studied here at all.
What links here
Computed from the collection rather than written here: the essays that point at this one.
Shares its objects with
Essays naming at least two of the same things, that neither author linked.
- A flattened thread is a record of a force — both name crimp height, crimp ratio, weave angle, yarn diameter
- A hole is a channel, not an opening — both name cover factor, crimp height, sett, yarn diameter
- A pick density is a force budget — both name census, jamming, sett, specification
- The hairs are what touch — both name cover factor, sett, specification, yarn diameter
- The hole between four threads — both name cover factor, jamming, sett, specification
- The most a cloth can give back — both name cover factor, jamming, sett, weave angle
Named objects
A flat tag is an object no other essay names yet.
CensusCover factorCrimp heightCrimp ratioJammingPeirce modelSettSpecificationWeave angleYarn diameter