<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en"><generator uri="https://jekyllrb.com/" version="4.3.3">Jekyll</generator><link href="https://alexander-reeves.github.io/feed.xml" rel="self" type="application/atom+xml"/><link href="https://alexander-reeves.github.io/" rel="alternate" type="text/html" hreflang="en"/><updated>2026-09-20T21:06:14+00:00</updated><id>https://alexander-reeves.github.io/feed.xml</id><title type="html">blank</title><subtitle>Alexander Reeves is an SNSF Postdoc.Mobility Fellow in Astrophysics at the University of Oxford, working on combined-probe cosmology, the effective field theory of large-scale structure, and differentiable inference pipelines. </subtitle><entry><title type="html">A hanging chain is not a parabola. A suspension bridge is.</title><link href="https://alexander-reeves.github.io/blog/2026/catenary-hanging-chain/" rel="alternate" type="text/html" title="A hanging chain is not a parabola. A suspension bridge is."/><published>2026-01-03T10:00:00+00:00</published><updated>2026-01-03T10:00:00+00:00</updated><id>https://alexander-reeves.github.io/blog/2026/catenary-hanging-chain</id><content type="html" xml:base="https://alexander-reeves.github.io/blog/2026/catenary-hanging-chain/"><![CDATA[<p>Hang a chain between two points and it settles into a curve that looks like a parabola and isn’t. It’s a hyperbolic cosine — the catenary.</p> <p>That distinction sounds like pedantry, and for a long time I filed it that way. It isn’t, and the reason is the best thing about this problem. The parabola here is not a failed approximation to the chain. It is the <em>exact</em> solution to a different problem, and which of the two curves you get depends on nothing more than how the weight is distributed along the thing that’s hanging. A chain under its own weight gives you cosh. A suspension bridge gives you a parabola, exactly, with no approximation anywhere.</p> <p>So it’s worth doing properly. Below: the shape from a force balance, the same shape from minimising energy, what the one free parameter means, and then the comparison that makes the distinction sharp.</p> <div class="row mt-3"> <div class="col-sm mt-3 mt-md-0"> <figure> <picture> <source class="responsive-img-srcset" srcset="/assets/img/catenary_diagram-480.webp 480w,/assets/img/catenary_diagram-800.webp 800w,/assets/img/catenary_diagram-1400.webp 1400w," sizes="95vw" type="image/webp"/> <img src="/assets/img/catenary_diagram.png" class="img-fluid rounded z-depth-1" width="100%" height="auto" data-zoomable="" loading="lazy" onerror="this.onerror=null; $('.responsive-img-srcset').remove();"/> </picture> <figcaption class="caption">A uniform chain of length $L$ hanging between two points at the same height.</figcaption> </figure> </div> </div> <p>Take a chain of length $L$ and uniform mass per unit length $\rho$, and hang it from two points at the same height. The only assumption we need is that the chain is perfectly flexible and doesn’t stretch. Flexible means it has no bending stiffness, so it can only pull along its own tangent — that’s what makes the problem tractable. Everything else follows.</p> <h2 id="balancing-forces">Balancing forces</h2> <p>Look at the piece of chain from the lowest point out to some point along the curve. Three forces act on it: the tension $T_0$ pulling back at the bottom, the tension $T_1$ pulling along the tangent at the far end, and its own weight hanging down.</p> <div class="row mt-3"> <div class="col-sm mt-3 mt-md-0"> <figure> <picture> <source class="responsive-img-srcset" srcset="/assets/img/catenary_force_diagram-480.webp 480w,/assets/img/catenary_force_diagram-800.webp 800w,/assets/img/catenary_force_diagram-1400.webp 1400w," sizes="95vw" type="image/webp"/> <img src="/assets/img/catenary_force_diagram.png" class="img-fluid rounded z-depth-1" width="100%" height="auto" data-zoomable="" loading="lazy" onerror="this.onerror=null; $('.responsive-img-srcset').remove();"/> </picture> <figcaption class="caption">Forces on the highlighted segment: $T_0$ at the bottom, $T_1$ along the tangent, and the weight $W$ of the segment.</figcaption> </figure> </div> </div> <p>At the lowest point the chain is horizontal, so the tension there is purely horizontal. That’s $T_0$, and it’s the same everywhere — nothing has a horizontal force on it except the two tensions. Balancing horizontally and vertically:</p> \[T_1 \cos\theta = T_0, \qquad T_1 \sin\theta = \rho g s ,\] <p>where $s$ is the arc length of the segment. Divide, and $T_1$ disappears:</p> \[\tan\theta = \frac{\rho g\, s}{T_0} .\] <p>But $\tan\theta$ is just the slope, so</p> \[y' = \frac{s}{a}, \qquad a \equiv \frac{T_0}{\rho g} .\] <p>That combination $a$ is the whole problem. Horizontal tension over weight per unit length — it has units of length, and it’s the only parameter that appears anywhere.</p> <p>The annoying part is that $s$ is an integral of the thing we’re solving for, $s = \int_0^x\sqrt{1+y’^2}\,\mathrm{d}x’$. The fix is to differentiate, which turns the integral back into its integrand:</p> \[y'' = \frac{1}{a}\sqrt{1 + y'^2} .\] <h2 id="the-same-thing-from-energy">The same thing, from energy</h2> <p>The chain settles into whatever shape minimises its potential energy, subject to being a fixed length. That’s a constrained variational problem:</p> \[U = \rho g \int y \sqrt{1 + y'^2}\, \mathrm{d}x \quad\text{subject to}\quad \int \sqrt{1 + y'^2}\, \mathrm{d}x = L .\] <p>Throw in a Lagrange multiplier $\lambda$, drop the overall $\rho g$, and you’re extremising something with integrand</p> \[F(y, y') = (y + \lambda)\sqrt{1 + y'^2} .\] <p>Now, $F$ doesn’t depend on $x$ explicitly. That’s worth noticing, because it means the Euler–Lagrange equation has a first integral — the Beltrami identity, $F - y’\,\partial F/\partial y’ = \text{const}$. (If you’ve done Lagrangian mechanics this is the same statement as energy conservation for a time-independent Lagrangian, with $x$ playing the part of time. I find it easier to remember that way than as a separate result.)</p> <p>Grinding through it, the $\sqrt{1+y’^2}$ terms collapse rather nicely:</p> \[(y + \lambda)\sqrt{1 + y'^2} - \frac{(y+\lambda)\,y'^2}{\sqrt{1 + y'^2}} = \frac{y + \lambda}{\sqrt{1 + y'^2}} = \text{const} .\] <p>Call that constant $a$, shift the origin to absorb $\lambda$, differentiate once, and you land on exactly the equation from the force balance.</p> <p>The two routes agreeing is not a surprise, but comparing them tells you something neither gives alone: the Lagrange multiplier that enforces the length constraint <em>is</em> the horizontal tension. Which makes sense — tension is the chain’s way of refusing to stretch.</p> <h2 id="actually-solving-it">Actually solving it</h2> <p>Set $p = y’$. The equation separates:</p> \[\frac{\mathrm{d}p}{\sqrt{1+p^2}} = \frac{\mathrm{d}x}{a} \;\Longrightarrow\; \sinh^{-1}p = \frac{x}{a} ,\] <p>taking the lowest point at $x=0$ where $p=0$. So $y’ = \sinh(x/a)$, and integrating,</p> \[y = a \cosh\!\left(\frac{x}{a}\right) .\] <p>The constant of integration has been spent putting the origin a distance $a$ <em>below</em> the bottom of the chain. That horizontal line is the <strong>directrix</strong>, and it’s worth measuring from — it’s what makes the rest of the formulae come out clean rather than cluttered with offsets.</p> <p>So $a$ is three things at once: the ratio of tension to weight, the height of the vertex above the directrix, and the radius of curvature at the vertex. Pull harder, $a$ grows, the chain flattens.</p> <p>There’s also only one catenary. Since $y/a = \cosh(x/a)$, changing $a$ rescales both axes by the same factor — every catenary is a magnified copy of every other one. That’s exactly why it can masquerade as a parabola over a limited stretch.</p> <figure> <img class="repo-img-light img-fluid rounded z-depth-1" src="/assets/img/catenary_family_light.png" alt="A family of catenary curves y=a cosh(x/a) for a between 0.4 and 4.0, coloured by a, with the directrix marked" loading="lazy" data-zoomable=""/> <img class="repo-img-dark img-fluid rounded z-depth-1" src="/assets/img/catenary_family_dark.png" alt="A family of catenary curves y=a cosh(x/a) for a between 0.4 and 4.0, coloured by a, with the directrix marked" loading="lazy" data-zoomable=""/> <figcaption class="caption">The family $y = a\cosh(x/a)$. The vertex of each curve sits at $y = a$ above the directrix.</figcaption> </figure> <h2 id="the-part-that-isnt-elegant">The part that isn’t elegant</h2> <p>In a real problem you don’t know $a$. You know the span and how much chain you’ve got. Hang it between $x = \pm b$ with total length $L$; the arc length integral is unusually kind, because $\sqrt{1+\sinh^2 u} = \cosh u$:</p> \[L = \int_{-b}^{b}\cosh\!\left(\frac{x}{a}\right)\mathrm{d}x = 2a\sinh\!\left(\frac{b}{a}\right) .\] <p>With $u = b/a$ that’s</p> \[\frac{\sinh u}{u} = \frac{L}{2b} .\] <p>And that’s where it stops being pretty. The left side climbs monotonically from 1, so there’s exactly one solution whenever the chain is longer than the gap — but you cannot write it down. You solve it numerically and move on. Every textbook glides over this; it’s the only genuinely ugly step in an otherwise very tidy problem.</p> <p>Once you have $a$, the sag is $a[\cosh(b/a) - 1]$.</p> <figure> <img class="repo-img-light img-fluid rounded z-depth-1" src="/assets/img/catenary_sag_light.gif" alt="Animation of a chain sagging further as more chain is paid out over a fixed span, next to a plot of sag over span against length over span" loading="lazy" data-zoomable=""/> <img class="repo-img-dark img-fluid rounded z-depth-1" src="/assets/img/catenary_sag_dark.gif" alt="Animation of a chain sagging further as more chain is paid out over a fixed span, next to a plot of sag over span against length over span" loading="lazy" data-zoomable=""/> <figcaption class="caption">Paying out more chain over a fixed span, solving for $a$ numerically at each frame.</figcaption> </figure> <p>Watch the start of that animation. The sag shoots up and then crawls. Expanding for a nearly taut chain, $\sinh u/u \approx 1 + u^2/6$, so $u \approx \sqrt{6\,\epsilon}$ where $\epsilon$ is the fractional excess length — the sag goes like the <em>square root</em> of how much extra chain you have.</p> <p>Put numbers on it: a cable strung 1% longer than its span sags about 6% of the span. That factor of six is why power lines are tensioned so fussily, and why they droop visibly on a hot day. Steel expands by something like $10^{-5}$ per degree; thirty degrees of summer buys you a few hundredths of a percent in length, and the square root turns that into centimetres of extra sag. Transmission line clearances are set with exactly this calculation.</p> <h2 id="where-galileos-parabola-actually-lives">Where Galileo’s parabola actually lives</h2> <p>Expand the cosh:</p> \[y = a + \frac{x^2}{2a} + \frac{x^4}{24a^3} + \cdots\] <p>For a shallow chain, $\lvert x \rvert \ll a$, the first term past the constant is a parabola and the correction is suppressed by $x^2/12a^2$.</p> <p>Which is worth a short historical aside, because Galileo is usually blamed for getting this wrong and he didn’t. Here he is, in the Fourth Day:</p> <blockquote> <p>Besides I must tell you something which will both surprise and please you, namely, that a cord stretched more or less tightly assumes a curve which closely approximates the parabola. […] the coincidence is more exact in proportion as the parabola is drawn with less curvature or, so to speak, more stretched; so that using parabolas described with elevations less than 45° the chain fits its parabola almost perfectly.</p> <p>— Galileo, <em>Two New Sciences</em> (1638), Fourth Day, trans. Crew &amp; de Salvio, <a href="https://galileoandeinstein.phys.virginia.edu/tns_draft/tns_280to295.html">p. 310</a></p> </blockquote> <p>“Closely approximates”, not “is”. And the qualification is the $x^2/12a^2$ above, stated in words: less curvature means larger $a$, and the error falls as $1/a^2$. He even gives a threshold — under 45° it “fits almost perfectly”. The usual charge against him seems to come from the next line, where Sagredo points out you could use a chain to <em>draw</em> parabolas, which is a remark about draughtsmanship rather than a claim about curves.</p> <p>The exact shape had to wait: Jungius showed it wasn’t a parabola before his death in 1657 (published 1669), Huygens knew by 1646 at seventeen, and the closed form came in 1691, after Jakob Bernoulli set it as a public challenge and Huygens, Leibniz and Johann Bernoulli each solved it inside a year. Huygens named it <em>catenaria</em>, from the Latin for chain.</p> <figure> <img class="repo-img-light img-fluid rounded z-depth-1" src="/assets/img/catenary_vs_parabola_light.png" alt="Three panels comparing a catenary with a parabola of the same span and sag, at length-to-span ratios of 1.02, 1.30 and 2.20, with residual panels" loading="lazy" data-zoomable=""/> <img class="repo-img-dark img-fluid rounded z-depth-1" src="/assets/img/catenary_vs_parabola_dark.png" alt="Three panels comparing a catenary with a parabola of the same span and sag, at length-to-span ratios of 1.02, 1.30 and 2.20, with residual panels" loading="lazy" data-zoomable=""/> <figcaption class="caption">Catenary against a parabola with the same span and sag. At $L/\mathrm{span}=1.02$ they differ by 0.2% of the sag; by 2.20 it's about 10%.</figcaption> </figure> <p>But here’s the bit I actually like. Go back to the force balance and change one thing: suppose the weight is distributed uniformly per unit <em>horizontal distance</em> rather than per unit <em>arc length</em>. Then the weight of the segment is $wx$ instead of $\rho g s$, and</p> \[y' = \frac{w\,x}{T_0} \quad\Longrightarrow\quad y = \frac{w\,x^2}{2T_0} ,\] <p>a parabola, exactly, with no approximation anywhere.</p> <p>That’s not a contrived case. It’s a suspension bridge: the roadway deck hangs from the main cable and vastly outweighs it, so the load really is uniform per unit horizontal distance. The main cables of the Golden Gate are parabolas. A chain hanging under nothing but its own weight is a catenary. Same equation, two different load distributions, two different curves — and the shape tells you which.</p> <h2 id="tension-is-just-height">Tension is just height</h2> <p>One more result, close to free. Since $T = T_0/\cos\theta$ and $\cos\theta = 1/\cosh(x/a)$,</p> \[T(x) = T_0\cosh\!\left(\frac{x}{a}\right) = \rho g\, y .\] <p>The tension anywhere on the chain is $\rho g$ times its height above the directrix. Not the arc length to that point, not the span, not how much chain is hanging below — just the height. Two points level with each other carry identical tension no matter what the chain does in between.</p> <figure> <img class="repo-img-light img-fluid rounded z-depth-1" src="/assets/img/catenary_tension_light.png" alt="A chain coloured by its tension, next to a plot showing tension is exactly linear in height above the directrix" loading="lazy" data-zoomable=""/> <img class="repo-img-dark img-fluid rounded z-depth-1" src="/assets/img/catenary_tension_dark.png" alt="A chain coloured by its tension, next to a plot showing tension is exactly linear in height above the directrix" loading="lazy" data-zoomable=""/> <figcaption class="caption">Tension along the chain, and the relation $T = \rho g y$. The right-hand panel looks trivial, which is the point.</figcaption> </figure> <p>This is also why chains part at the top. The supports are the highest points, so they carry the most tension, larger than at the bottom by $\cosh(b/a)$.</p> <h2 id="upside-down">Upside down</h2> <p>Flip a catenary and every tension becomes a compression. Masonry is hopeless in tension and excellent in compression, so an inverted catenary is the arch shape that stands up with no bending anywhere in it.</p> <p>Hooke knew this in 1675 and published it as an anagram — a way of claiming priority without telling anyone the answer, which was apparently normal behaviour at the time. Decoded, it reads <em>“as hangs the flexible line, so but inverted will stand the rigid arch”</em>.</p> <p>Gaudí took it literally. For the Colònia Güell chapel he built the whole structure upside down out of string weighted with birdshot, let gravity find the shape, photographed it, and turned the photograph over. An analogue computer for a problem that has no closed-form solution — which, given the transcendental equation above, is a more reasonable approach than it sounds.</p> <h2 id="if-you-want-to-push-further">If you want to push further</h2> <p>The symmetric equal-height chain is the easy case. Three directions out:</p> <ul> <li><strong>Unequal supports.</strong> Still $y = a\cosh((x-x_0)/a)$, you’ve just lost the symmetry that put the vertex at the origin. Two unknowns now, fixed by the two endpoints and the length. The vertex can end up outside the span entirely, in which case the chain is never horizontal anywhere.</li> <li><strong>Non-uniform density.</strong> The cosh dies immediately. The nicest special case is the <em>catenary of equal strength</em>, where you taper the cross-section so the stress is constant along the chain; that gives $y = -a\ln\cos(x/a)$, which has vertical asymptotes and so a maximum possible span.</li> <li><strong>Stretch.</strong> Let the chain be elastic and the arc length becomes an unknown function of the tension. This is what you need for real steel cable, and it’s much less fun.</li> </ul> <p>For the classical material, Lockwood’s <em>A Book of Curves</em> has a good short chapter, and <a href="https://mathworld.wolfram.com/Catenary.html">MathWorld</a> collects the standard results including the catenoid. For the Beltrami identity in its natural home, Arnold’s <em>Mathematical Methods of Classical Mechanics</em>.</p> <p>The two diagrams at the top came out of <a href="https://github.com/alexander-reeves/alexander-reeves.github.io/blob/master/assets/jupyter/catenary_diagram.ipynb">a notebook</a> and everything below them from <a href="https://github.com/alexander-reeves/alexander-reeves.github.io/blob/master/assets/img/generate_catenary_figures.py">this script</a>. Change the numbers and see what happens.</p>]]></content><author><name></name></author><category term="math"/><category term="physics"/><category term="calculus"/><category term="variational-principles"/><summary type="html"><![CDATA[Deriving the catenary two ways, and why the parabola is not a failed approximation but the exact answer to a different problem]]></summary></entry></feed>