The Cloth That Comes Off in Two Pieces
A weaving draft is a grid of over and under, and it looks as though any grid you like would make cloth. It would not. Some drafts weave two entirely separate fabrics, one lying on top of the other, touching nowhere, and the loom gives no sign: the shuttle goes through, the pattern appears, and the piece falls into halves when you cut it off. Weavers use this on purpose and call it double cloth. The test that tells the two cases apart is below, and you can operate it. Then the count, which nobody seems to have run: of the 65,536 four by four drafts, 22,730 are cloth. Of the rest, 144 pass the check this site itself was using, and still come off in two pieces.
Click a square to flip which thread goes over
The repeat
warp over weft over
The cloth, and what holds it
What falling apart means
Cloth is held together by nothing but the crossings. A warp thread that always passes over a given weft thread is never caught by it, and if that is true of every crossing between one set of threads and another, then the first set is simply lying on the second. Nothing is holding them. Lift, and they separate.
So write the draft as a grid, one row per pick of the weft, one column per warp end, and put a 1 where the warp passes over. The draft falls apart when you can split the threads into two non-empty groups, an upper and a lower, so that at every crossing between the groups the upper thread passes over. Call the upper warps A and the upper picks B, and the two lower sets C and E, and the condition is exactly two blocks of the grid being constant:
| warps A (up) | warps C (down) | |
|---|---|---|
| picks B (up) | anything | all 0 |
| picks E (down) | all 1 | anything |
The instrument above searches every such split. It does not search all 2n × 2n of them, because once you choose the upper warps A each pick has its own answer independent of the others: it can go down if it runs under every warp of A, it can go up if it runs over every warp of C, and if it can do neither then A is ruled out. That drops the search to 2n and is what makes the census below possible at all.
How many drafts are cloth?
The obvious way to count is to walk all 2n² grids, and it dies at n = 6, where there are 68,719,476,736 of them. The independence just described rescues it. Carry the set of candidate A that are still alive as you add picks one at a time; two grids with the same alive set have the same future, so they can be counted together. At n = 7 the number of distinct alive sets reached is 567,189, against 562,949,953,421,312 grids.
| repeat n | drafts, 2n² | are cloth | share |
|---|
The share climbs. At small repeats most grids are not cloth, and the crossover is between four and five: 34.7% of four by four drafts hang together, 52.3% of five by five, and 88.2% of eight by eight. That direction is the intuitive one once you see it, since a bigger repeat gives more opportunities for some crossing to spoil every possible split, and spoiling every split is all that hanging together means.
The last row is thinner evidence than the others and should be read that way. Everything up to n = 7 is produced twice over, and n = 5 is brute-forced outright. At n = 8 there are 18,446,744,073,709,551,616 drawdowns, so nothing walks them, and the count rests on a single run of the one method, forty-three minutes and 7,876,927 states. It is not left on that alone. Three million uniformly random eight by eight drawdowns, tested by the search rather than by the counting program, give a cloth proportion of 0.882029 with a two-sigma interval of 0.000372, against the 0.882054 the count implies, which is a deviation of 0.16 standard errors. And the count must not exceed A283624 at n = 8, because a constant row or column separates a fabric immediately: it does not, by 234,016,406,913,744. Two consistency checks are not a second enumeration, and this row is flagged rather than trusted equally.
The check we were using, and what it misses
This site already had a weaving layer,
Two Threads That Never Disagree,
which proves how many shafts a pattern needs and lets you drive a loom in both directions.
Its engine carries a function called hangsTogether, and what that function
actually tests is whether every thread is tied down at least once: no column and no row
entirely constant. A thread that floats over the whole repeat is lying on the surface, so
the test is a real and necessary one.
It is not sufficient, and the double cloth preset above is the reason. Every thread in it is tied down. It still comes off in two pieces.
What that cost, measured rather than estimated
Up to a three by three repeat the weaker test is exactly right: all 102 drafts it passes are cloth, and there is no counterexample to find. The first ones appear at four by four, and there are 144 of them. At five by five, 69,600; at six by six, 46,285,200. As a share of the drafts that pass, the error shrinks with n (0.63%, then 0.39%, then 0.099%) while the raw count grows.
The 144 have a closed form, and it is a pleasing one. Every single one is a double cloth of two two by two layers, and both layers are forced to be plain weave: pick 2 of the 4 warps for the upper layer (6 ways), 2 of the 4 picks (6 ways), then the only arrangement of the free upper block that ties its threads down is plain weave (2 ways, being the two phases), and the same below. 6 × 6 × 2 × 2 = 144. The smallest thing that can hide from the tied-down test is two tabbies stacked.
The part that should not be true, and is
Clapham's criterion, in the arithmetic form Rasmussen sets out, reads nothing about the drawdown except how many times each thread passes over. Sort the picks so their counts increase and the warps so theirs decrease, and the fabric falls apart exactly when some prefix of each meets a certain equation at zero. Where the crossings are does not enter it.
Which says something strange about cloth. Take any draft that holds, shuffle the ones around inside it however you like, and so long as every thread still goes over the same number of times as before, it still holds. Take one that separates, and no rearrangement that preserves those counts will save it. Whether cloth holds is a fact about the counts, not about the pattern.
That is a strong enough claim to be worth doubting, so it was tested rather than believed. Group every drawdown by its pick counts and warp counts and ask whether any group contains both a cloth and a separation: at 4×4 there are 221 such groups and not one is split, at 3×5 there are 152 and not one is split. A group that mixed the two answers would have killed it, and none does.
It also sharpens the 144. Among the 22,874 drawdowns with every thread tied down there is exactly one failing profile, four picks going over 1, 1, 3 and 3 times against four warps going over 3, 3, 1 and 1 times, and every drawdown with that profile falls apart. Three descriptions, one set: two stacked tabbies, 6 × 6 × 2 × 2, and a single arithmetic signature.
The check
Recomputed in your browser, now
running…
Everything on this page comes out of
research/hang-together/, and none of it rests on a single implementation.
The separation test is written twice here: once as a plainly correct search over all
2n × 2m splits of warps and picks, and once as the
fast search over A alone that the page and the census use. They agree on every drawdown
up to four by four across eight shapes, 74,386 in all. The census is then a third
implementation, the alive-set count, and brute force reproduces it exactly at n = 5 over
all 33,554,432 drafts: 17,564,070 cloth, 17,633,670 passing the weaker test, 69,600 in
the gap between them.
Three checks we did not write
Three implementations agreeing is worth less than it looks when one directory wrote all three, so the test is also run against work that is not ours.
Clapham's criterion in arithmetic. Rasmussen states it as a function E(s,t) of the sorted pick and warp counts, never negative, and zero exactly when the fabric separates. It shares no code and no idea with our search, and it returns our answer on every drawdown up to four by four, 70,160 of them. Her paper also prints two 4×4 examples side by side, one that holds and one that does not, and says which is which and where the second one splits. Our search agrees with her on both, and finds the separation exactly where her text says it is, at the first two picks and the first two warps. Those two matrices are fixtures in the verifier.
Clapham's own procedure. His decision method is not a subset search at all. Rank the rows and the columns by how many warp-over cells they carry, sort by rank, and then look for an all-warp block and an all-weft block meeting at their corners. It sorts and scans where ours enumerates, so a shared bug is unlikely. Across every drawdown up to four by four, 70,160 grids, it returns our answer every time. Griswold adds that equal-ranked lines may be broken in any order, which is a claim and so was tested too: three different tie orders, all 65,536 four by four grids, no case where the order changed the verdict.
Clapham's theorem. A second paper of his gives a condition that never decides a fabric and only ever certifies one, quoted here as Griswold prints it: if every weft thread passes both over and under more than one quarter of the warp threads, and if every warp thread passes both over and under more than one quarter of the weft threads, then the fabric hangs together. That is an outside constraint our search must never violate. Over the 4×4, 5×5 and 4×6 drawdowns, 405,200 of them satisfy the condition and not one is called fallen-apart by us. The control can also fail in the other direction, which matters: it is strictly weaker, missing 17,179,990 genuine cloths at 5×5, and the five-end satin above is the example Griswold himself names.
That check can be pushed much further than enumerating drawdowns allows, because both halves of it turn out to be facts about the counts alone. The theorem's condition already is one, since a weft passing over more than a quarter of the warps and under more than a quarter is just its count sitting strictly inside a band, and by the paragraph above the verdict is one too. So sweeping degree profiles rather than drawdowns settles the theorem for every fabric of a given order, not only the small ones. 752,750 profiles satisfy the condition at orders 2 through 12, and not one of them falls apart. Profiles that no matrix could realise are left in the sweep on purpose: they only make it harder to pass.
A discrepancy in the source, left as we found it
Griswold prints a table of the over-and-under counts his quoted theorem requires. For 9
of its 13 rows the table asks for one more thread than the words do: at 5 threads the
words give 2 and the table says 3, at 9 they give 3 and it says 4, at 13 they give 4 and
it says 5. The table is ceil(n/4) + 1; the sentence is the least integer
greater than n/4.
The profile sweep above resolves half of this and not the other half, and the two halves are worth keeping apart. It resolves the mathematics: the sentence is enough, at every order to 12, so the table asks for more than the theorem needs. It says nothing at all about the transcription, because we have not read Clapham 1985 and cannot know whether Griswold's sentence is Clapham's. So the page states the discrepancy and does not choose, and the control uses the sentence, being the weaker requirement and therefore the harder test to pass. (An aside that puzzled us until we did the arithmetic: the sweep is far smaller at orders 4, 8 and 12 than at 7 or 11, because when four divides the order the strict bounds exclude a whole value at each end.)
Where this sits in the record
The two questions the census answers turn out to have different histories. The weaker count, drawdowns with no constant row or column, is already published: it is OEIS A283624, with a closed form, and its terms are 1, 0, 2, 102, 22874, 17633670, 46959933962, which match the middle column of our gap table exactly at every n we computed. That is a useful thing to find, because it is an outside check on our enumeration that we did not have to arrange.
The hang-together count does not appear to be there. Searching the OEIS for the terms, and for the vocabulary (hangs together, falls apart, prefabric, isonemal, Clapham, Enns), returns nothing that counts it; the prefix 0, 2, 102 does return A283624, which is how you know the search reaches this neighbourhood, and the two sequences part company at n = 4, 22,730 against 22,874. The OEIS does hold the neighbouring weaving work, including A005441 for isonemal fabrics of period exactly n, but isonemal fabrics are those with a transitive symmetry group on the threads, a far smaller and differently-chosen family. A published enumeration of all n by n drawdowns that hang together is something we looked for and did not find, in the OEIS or outside it. That is a statement about our search.
The assumption that needed its own control
The draft is one repeat of an infinite fabric, so warp j and warp j + n are different threads that happen to cross identically. A split of the real fabric is a split of infinitely many threads and need not respect the repeat at all, while everything above searches only splits that do. That is a real gap in the argument, so it was tested rather than waved through: tile each draft into 2, 3 and 4 repeats, which lets threads of the same class land on opposite sides, and search again. Across every draft up to four by four the unrolled search found no separation the single repeat had missed, and lost none either. That is evidence at these sizes, not a proof at all sizes, and it is stated that way on purpose.
What this page does not claim
- None of the mathematics is ours. The question is Grünbaum and Shephard's, from 1980, and the decision procedures were published by Clapham in 1980, Enns in 1984 and Delaney in 1984. What this page contributes is the enumeration, run and shown, and a test a stranger can operate.
- We have read one source in full and five not at all. Griswold's exposition we read end to end, and every quotation here is from it. Grünbaum and Shephard 1980, Clapham 1980, Clapham 1985, Enns 1984 and Delaney 1984 we have not read. Where this page states what those papers say, it is reporting Griswold reporting them, and it says so each time.
- It says nothing about whether cloth is good. A draft can hang together and still be unweavable in practice, or ugly, or so floaty it snags. Hanging together is the floor, not the ceiling. Griswold makes the same point: long floats may not make a stable fabric, but they hang together, however loosely.
- The model is the standard one for a two-way, two-fold fabric: two thread families at right angles, one layer, each crossing decided independently. Triaxial weaves, multiple warp beams, and anything with more than two thread directions are outside it.
- The census counts grids, not weaves as a weaver would count them. Two drafts that differ by sliding the repeat one thread along are different grids and the same cloth. Counting up to symmetry is a different and also interesting number, and it is not the one here.
Sources
- Ralph E. Griswold, When a Fabric Hangs Together (Or Doesn't), University of Arizona, 14 July 2004, revised 11 October 2004. PDF. Read in full. The source of Clapham's procedure, the quoted theorem, and the table discussed above.
- Branko Grünbaum and G. C. Shephard, Satins and Twills: An Introduction to the Geometry of Fabrics, Mathematics Magazine 53 (1980), 139 to 161. Not read; paywalled. Named by Griswold as where the question is raised.
- C. R. J. Clapham, When a Fabric Hangs Together, Bulletin of the London Mathematical Society 12 (1980), 161 to 164. Not read.
- C. R. J. Clapham, The Bipartite Tournament Associated with a Fabric, Discrete Mathematics 57 (1985), 195 to 197. Not read. Griswold's source for the quarter theorem.
- T. Enns, An Efficient Algorithm Determining When a Fabric Hangs Together, Geometriae Dedicata 15 (1984), 259 to 260. Not read.
- C. Delaney, When a Fabric Hangs Together, Ars Combinatoria 21-A (1986), 71 to 79. Not read. Griswold's reference gives this as 15 (1984), 71 to 70, which cannot be right; the 1986 details are the ones Thomas's and Malkevitch's bibliographies agree on, and we have taken theirs.
- Shelley L. Rasmussen, On 3-Harness Weaving: Cataloging Designs Generated by Fundamental Blocks Having Distinct Rows and Columns, Electronic Journal of Combinatorics 15 (2008), #R1. Open access, read. The source of the E(s,t) form of Clapham's criterion and of the two worked 4x4 examples used as fixtures here.
- OEIS A283624, matrices with no constant row or column, and A005441, isonemal fabrics of period exactly n, which cites the Grünbaum and Shephard catalogues.