Weaves

A cord is a stripe with no colour in it

Warp rib, weft rib and hopsack are plain weave with its threads doubled, in the warp, the weft, or both. Six of the nine measures this site takes off a matrix cannot tell a 2/2 hopsack from a 2/2 twill, and the three that can are not the ones a weaver quotes.

Worth reading first: Plain, twill and satin · Interlacings and firmness · What a repeat repeats.

Three weaves in every manual are given a paragraph each and no explanation. Warp rib, weft rib and hopsack — also called repp, cord, matt and basket, depending on the trade and the century — are presented as constructions in their own right, each with its own drawing.

They are one construction, applied three ways. Take plain weave and double its threads: the picks, the ends, or both. Everything that distinguishes the three from each other and from their parent follows from which of the three was chosen, and none of it requires a new idea.

Plain weave, doubled. Plain weave, then the same weave with its picks grouped in 2, its ends grouped in 2, and both — which are a warp rib, a weft rib and a hopsack — and a 2/2 twill beside them for comparison. The rules under the drafts bracket the threads that lift together on every pick and so lie touching. Each doubling multiplies the cloth's own unit by 2: 2, then 4, then 8 intersections. The hopsack and the twill interlace equally often and are drawn from different rules. The setts under each draft are the densest that weave may be set at with a 0.25 mm yarn, and a rib's two are 0.750 apart where every other weave here is square.
Fig. 1 Plain weave, then the same weave with its picks grouped in twos, its ends grouped in twos, and both — a warp rib, a weft rib and a hopsack — with a 2/2 twill beside them. The rules under each draft bracket the threads that lift together on every pick and therefore have no weft passing between them. Each doubling multiplies the cloth’s own unit by two: two intersections, then four, then eight. The harness does not move at all, and the setts under each draft — the densest that weave may be set at with a quarter-millimetre yarn — move once and then stop.

Doubling is grouping, and grouping is the stripe turned inward

A stripe is a partition of the ends into bands, each following its own rule. A doubled weave is a partition of the ends into groups of two, all following the same rule — the same move at a scale so small that nobody calls it a stripe.

What makes it more than a change of scale is what happens inside a group. Two adjacent ends whose columns are identical lift together on every pick, so no weft ever passes between them: nothing holds them apart and in a finished cloth they lie touching. The grouping is computed from the matrix itself, by machinery written for mock leno, where the same fact is used to open a hole. Here it is used to close one.

So the pair behaves as a single coarse thread, and the cord a reader sees running across a warp rib is that pair, plus the next pair, plus the next. The cord is not woven; it is the absence of anything separating two threads. It is the same kind of object as the twill diagonal — a visible feature belonging to no thread — except that here it is a feature belonging to two.

The three names then say only which system was grouped. A warp rib is plain weave extended in the warp direction: each end floats over two picks and under two, the picks fall into pairs, and the cord runs across the piece. A weft rib is the same in the other system. A hopsack is both, and is cloth.js’s basket under the woollen trade’s name for it. The naming is by which system is extended rather than by which way the cord runs, which is why half the books appear to disagree with the other half; every construction below is stated as a rule and the name is a label on it.

The finding: firmness cannot see a hopsack

Set a 2/2 hopsack beside a 2/2 twill and ask the site’s own machinery to tell them apart.

The longest float is two in both. The interlacings per intersection are 0.500 in both — half plain weave’s, which is the number firmness is. The balance is 0.500 in both. Both are one cloth. And the densest either can be set at, under the model in cloth.js where a thread takes one diameter across the cloth and each interlacing takes one more, is 26.67 threads per centimetre in both directions for both weaves at a quarter-millimetre yarn.

Six measures, six identical answers. And the two cloths behave nothing alike. A hopsack is loose, spongy and coarse in appearance; a 2/2 twill is firm and fine and has a line running through it. The reason is where the floating threads are: a hopsack’s two lie side by side and act as one thread twice as thick, and a twill’s are staggered so that no two ends ever float together.

What sees a hopsack and what does not. Every quantity this site takes off a weave matrix, computed for a 2/2 hopsack and a 2/2 twill. 6 of the 9 give the same answer for both — the float length, the interlacing rate, the balance, the layer count and the densest setting in each direction — and 3 do not: the shaft count, the fundamental domain and the largest group of threads that nothing separates. Setts are at a 0.25 mm yarn under the model in cloth.js, where a thread takes one diameter and each interlacing takes one more.
Fig. 2 Every quantity this site takes off a weave matrix, computed for a 2/2 hopsack and a 2/2 twill. Six agree — the float length, the interlacing rate, the balance, the layer count and the densest setting in each direction — and three do not. The three that see the difference are the shaft count, the area of the fundamental domain and the largest group of threads that nothing separates, and none of the three is a number a mill quotes when it quotes a cloth.

What does see it

Three measures separate them, and the list is worth being precise about because it is not the list a reader would guess.

The shaft count. A 2/2 twill needs four shafts and a 2/2 hopsack needs two, because a shaft is a distinct column and the hopsack has only two distinct columns however wide it is drawn. That is a factor of two in the harness, on cloths that every firmness measure calls identical.

The fundamental domain. The unit a cloth actually has is the repeat divided by the number of translations that leave it alone, and the hopsack’s is eight intersections against the twill’s four. The twill is written on sixteen squares and is a cloth of four; the hopsack is written on the same sixteen and is a cloth of eight.

The thread grouping. threadGroups returns runs of [2, 2] in both directions for the hopsack and [1, 1, 1, 1] for the twill. This is the one that is actually about the cloth’s behaviour, and it is the one the site added last and for another purpose entirely.

The honest summary is uncomfortable. The measures that separate a hopsack from a twill are all about the notation or the loom, and the measure that is about the fabric was borrowed from a figure about holes. Firmness, float length and setting — the three quantities a weaver would name if asked how a cloth behaves — are blind here, and they are blind for a structural reason: every one of them is a count over the matrix and none of them asks where the counted things are.

A rib is unbalanced by construction

The ribs are the interesting members of the family because the doubling is applied to one system only, and everything comes out asymmetric.

A 2/2 warp rib interlaces 0.750 times per intersection — squarely between plain weave’s 1.000 and the hopsack’s 0.500 — because grouping the picks divides the warp-direction interlacings by two and leaves the weft direction exactly where it was. That is an identity rather than a measurement, and assertRibDoubling checks it at construction: a rib whose interlacing count is not what its own doubling predicts is not built.

The setting is where it becomes practical, and the result has no free parameter in it. At a quarter-millimetre yarn a 2/2 warp rib jams at 20.00 ends per centimetre and 26.67 picks per centimetre — and those are not two arbitrary numbers. The first is exactly plain weave’s, and the second is exactly the hopsack’s. A warp rib may be set as densely in the warp as plain weave and as densely in the weft as a hopsack, and the yarn diameter cancels out of the comparison entirely, so it is true of any yarn.

The two setts stand at (k + 1) to 2k — three to four at a doubling of two, two to three at a doubling of three, five to eight at a doubling of four — and the gap widens as the group does. So a rib cannot be set square, and a mill that sets one square is setting one of its two systems slack. The unbalanced cloth is usually a choice; here it is the construction.

Plain weave, doubled. Plain weave, then the same weave with its picks grouped in 3, its ends grouped in 3, and both — which are a warp rib, a weft rib and a hopsack — and a 3/3 twill beside them for comparison. The rules under the drafts bracket the threads that lift together on every pick and so lie touching. Each doubling multiplies the cloth's own unit by 3: 2, then 6, then 18 intersections. The hopsack and the twill interlace equally often and are drawn from different rules. The setts under each draft are the densest that weave may be set at with a 0.25 mm yarn, and a rib's two are 0.667 apart where every other weave here is square.
Fig. 3 The same family at a doubling of three. The ribs now float over three picks and under three, the hopsack is written on thirty-six squares, and the harness is still two shafts for each of the three. The units are two, six and eighteen intersections, so the multiplication holds: each doubling multiplies the fundamental domain by three, and the hopsack gets it twice. The rib’s two setts are now 20.0 and 30.0 per centimetre, a ratio of two to three where the doubling of two gave three to four.

The unbalance is bounded, and nearly all of it arrives at the first doubling

The rib’s two setts stand at (k + 1) to 2k, and that expression is worth pushing rather than tabulating, because it says something the table of cases hides.

It has a limit. As the doubling grows, (k + 1) ÷ 2k falls to one half and stops. A rib can never be more than twice as densely settable in one system as in the other, however far the grouping is taken — not at a doubling of ten, not at a hundred. The construction that looks unbounded in every other respect is bounded in this one.

And the approach is fast. Plain weave sits at a ratio of one and the limit is one half, so the whole range available is half. A doubling of two gives three quarters, which is exactly halfway to the limit. A doubling of three gives two thirds, two thirds of the way. In general a k-fold rib has travelled 1 − 1/k of the distance a rib can ever travel.

So the first doubling buys half the effect and every doubling after it buys less.

That is a design statement rather than an observation, because the other quantity is not bounded at all. The float length is k and grows without limit, and the float limit is what actually stops a cloth being made. Going from a doubling of two to a doubling of four adds a quarter of the available unbalance and doubles the float.

Which is a quantitative account of something the manuals give as a preference: ribs are made at two and three, occasionally four, and essentially never beyond. The reason is not that larger ribs are ugly. It is that the property being bought saturates while the property being spent does not, and the two curves cross early.

Nothing in that argument mentions yarn, because the ratio is a ratio of interlacing counts and the diameter cancels out of it — so the crossing point is the same for a fine cotton and a coarse wool.

The largest cloth on the smallest harness

What a repeat repeats noted in passing that a 2/2 basket has the largest fundamental domain of the three weaves it compared — eight intersections against the 2/2 twill’s four and plain weave’s two — and left the reason as an observation about the diagonal being broken.

The doubled family says exactly what is happening. Each doubling multiplies the fundamental domain by the size of the group. Plain weave’s unit is two. A k-fold rib’s is 2k, because the doubling in one direction destroys half of the diagonal periods and keeps the rest. A k-fold hopsack’s is 2k², because it happens twice. At k = 2: two, four, eight. At k = 3: two, six, eighteen. At k = 4: two, eight, thirty-two.

Set that beside the harness and the two run in opposite directions. Every one of these weaves needs two shafts, whatever k is, because the doubling adds no distinct column. So a 4/4 hopsack is a cloth of thirty-two intersections woven on two shafts, and a 2/2 twill is a cloth of four intersections woven on four.

That relation is not general. For all three of the standard four-end weaves the shaft count times the fundamental domain comes to exactly sixteen, which is the area of the repeat, and it reads like a law — but running it over the four-by-four sweep says it holds for 48 of the 22,874 drafts, about one in five hundred. The weaves that obey it are almost exactly the weaves anybody weaves, and that is a fact about which drafts are useful rather than a fact about matrices.

What sees a hopsack and what does not. Every quantity this site takes off a weave matrix, computed for a 3/3 hopsack and a 3/3 twill. 6 of the 9 give the same answer for both — the float length, the interlacing rate, the balance, the layer count and the densest setting in each direction — and 3 do not: the shaft count, the fundamental domain and the largest group of threads that nothing separates. Setts are at a 0.3 mm yarn under the model in cloth.js, where a thread takes one diameter and each interlacing takes one more.
Fig. 4 The same nine measures at a doubling of three, and a coarser yarn. A 3/3 hopsack and a 3/3 twill agree on six of them and differ on three, exactly as the 2/2 pair does — the blindness is not an accident of the smallest case. The setts have moved, because they are a property of the yarn as well as of the weave, and the two weaves have moved together.
2/2 basket: written at 4×4, repeating on 8. On the left the draft as written, with the smallest rectangle that tiles it outlined. On the right the same draft with every translation that leaves it unchanged marked from the top left corner: there are 2 of them, so a fundamental domain holds 8 intersections rather than the 16 the rectangle claims and the 16 the point paper carries. Nothing in the drawing on the left says so.
Fig. 5 The hopsack’s unit, from the essay that first counted it. One non-trivial translation where the 2/2 twill has three, so a fundamental domain of eight intersections against the twill’s four. The weave everybody describes as a simplification of plain weave is, by this measure, the largest cloth of the three — and it is woven on the fewest shafts.

What was counted, and how

Everything above is computed from the doubled matrices themselves — the family comparison, the densest settings and the unit areas — and all three run while the figures draw.

warpRib and weftRib are generated from the rule — end j is up on pick i when ⌊i/k⌋ + j is even, and its transpose — and each asserts its own doubling before it is returned. hopsack calls cloth.js’s basket and relabels it rather than writing a second body for it: a matt, a hopsack and a basket are one weave with three trade names, and a second implementation would be the divergence the fleet’s shared-kit rule exists to prevent.

The comparison table is every quantity the site takes off a matrix — floats, interlacings, balance, layers, maximumSett in both directions, shafts, periodLattice and threadGroups — computed for both weaves and sorted by comparing the two values, not by choosing. A new measure added to cloth.js would put itself in the right column without anything here being edited, and the assertion that runs beside it requires firmness and float length to be in the blind column and shafts and the fundamental domain to be in the other.

The setting identities are asserted rather than described: the rib’s warp sett is required to equal plain weave’s and its weft sett to equal the hopsack’s, to within floating-point equality, and the ratio is required to differ from one.

The corded stripe, which costs nothing

Put the family back into a stripe and one more result falls out, which follows from the column sets and not from anything about cords.

A column of a draft records only the pick grouping — which picks that end is up on — so a warp rib and a hopsack of the same k have identical column sets. A warp rib’s ends are single and a hopsack’s are paired, and that difference is invisible to a column. So a cloth striping the two needs two shafts in total, and the whole cloth, cords and ground alike, weaves on the plainest harness there is.

The same argument the other way says a weft rib’s columns are plain weave’s exactly, because a weft rib’s ends alternate every pick just as plain weave’s do. So plain ground with weft-rib cords is also two shafts, and a warp rib beside a weft rib is four, which is the sum.

What a striped harness costs. Every pair of the site's standard weaves, with the number of shafts a stripe of the two needs — the number of distinct columns in the union of their matrices, counted at a common repeat of 12 picks. The diagonal is each weave on its own. Of the 10 pairs, 3 share a column at all, and in every one of those the smaller set is contained in the larger, so the second weave is free.
Fig. 6 Where the doubled weaves sit in the harness-cost table. The 2/2 basket — the hopsack — is the one weave here that costs nothing beside a 2/2 twill, and it costs the full sum beside plain weave and beside a 3/3 basket. The columns drawn below say why: doubling changes the period of a column, so a 2/2 basket and a 3/3 basket have nothing in common at all, and neither has anything in common with the weave both are made from.
A stripe of a corded stripe: a warp rib beside a hopsack. a corded stripe: a warp rib beside a hopsack, written as one draft of 4 picks and 16 ends. Each band is generated from its own rule and the whole matrix is measured as one: 2 shafts, which is the number of distinct columns in the union of the two bands, against 2 if every column were shared and 4 if none were. The bands have 2 columns in common.
Fig. 7 Eight ends of a 2/2 warp rib beside eight of a 2/2 hopsack, on two shafts. Two weaves that look quite different on point paper and are the same two columns, because a column says which picks an end is up on and nothing about its neighbours. The whole striped cloth weaves on the harness plain weave needs.

Where the model stops

The group is not a thick thread. Two ends with nothing between them lie touching in a finished cloth, and the model says only that no weft passes between them. Whether they behave as one thread of twice the diameter depends on twist, on hairiness and on how much the finisher has done to the cloth, and none of those is in a matrix. The hopsack’s coarseness is a consequence of the grouping and is not computed here.

The setting model is one model. The setts quoted come from cloth.js’s maximumSett, in which a thread takes one diameter and each interlacing takes one more. It is a counting model and not a geometry, and Peirce’s circular thread gives different numbers. What survives either model is the ratio, because it is a ratio of interlacing counts and the diameter cancels.

Nothing here says how many threads to group. A hopsack of eight would have a unit of 128 intersections on two shafts, and would also be a cloth with floats eight threads long that no finish would hold together. The limit is a float limit and belongs to a different ladder; the arithmetic in this essay would happily carry on.

And the ribs are not corduroy. A cord raised by cutting floats is a third thread system and is not in a binary matrix at all. The cord in a rib is two threads of the ordinary cloth lying together, which is a much smaller claim and the only one this essay makes.

The weaves everything else is built from. Plain, twill and satin on point paper. Reading across, the floats lengthen and the interlacings fall — and every property a weaver cares about follows from that one trade.
Fig. 8 The three drafts at two repeats each, which is how the eye can most easily be misled. The basket in the middle is the 2/2 hopsack, and against the 2/2 twill on the right every measure of firmness agrees. What differs is that the basket’s filled squares come in pairs and the twill’s are staggered, and everything a weaver would notice about the two cloths comes from that and from nothing else.

Who found it, and when

The doubled plain weaves are as old as the loom and were named long before anybody wrote a draft as a matrix. Repp, rib, cord, matt, hopsack, basket and Panama are all in use, they do not partition the constructions cleanly, and the same cloth appears under three of them in three countries.

The systematic presentation belongs to the nineteenth-century design manuals and reaches its settled form in Watson’s Textile Design and Colour, where the ribs and the matts are set out as “weaves derived from plain” and are constructed exactly as they are here — by extending the plain order in one direction or in both. Grosicki’s revisions keep that framing, and it is the right one; what the manuals do not do is measure the result, because measurement of a draft was not available to them.

What the trade has always known and stated as a warning is the rib’s setting. A repp is warped densely and picked coarsely, and the reason given is that the cord wants to stand up. The arithmetic says the same thing in a form that can be checked: the two densest setts differ by (k + 1) to 2k, and setting one system to the other’s number puts that system slack whatever the yarn.

What appears to be new is the blindness. The site has been quoting interlacings per intersection as the firmness number since its earliest essays, and this is the first cloth on which it demonstrably fails — not by being inaccurate, but by returning exactly the right answer to a question that turns out not to be the question.

Where the ladder goes next

This is the base rung of the rib weaves, and the ladder above it is about what grouping does to the surface rather than to the matrix: the cord’s height, the way a rib takes a print, and what happens when the two systems are grouped by different amounts.

Beside it, a stripe is a partition of the warp is the same partition at a coarser scale, and a hole with nothing crossing is the same grouping used to open the cloth rather than to close it.

What the pictures here cannot show. Every draft is drawn as squares of equal size, so the two ends of a group are two columns of the drawing and in cloth they are one thread’s width apart with nothing between them. The whole argument is that the grouping matters and the point paper cannot draw it — which is why the brackets are ruled underneath rather than shown in the grid, and why the coarseness of a hopsack has to be asserted from the grouping rather than seen in the figure.

What links here

Computed from the collection rather than written here: the essays that point at this one.

Reads more easily once this is understood

Essays that name this one as worth reading first.

Shares its objects with

Essays naming at least two of the same things, that neither author linked.

Named objects

A flat tag is an object no other essay names yet.

FirmnessFloatFundamental domainHopsackInterlacingPlain weaveSettShaftsThread groupWarp ribWeft rib