Dataslope logoDataslope

Limits of Manual Calculation

Why humans hit a wall long before computers existed — and why the wall is shaped exactly like the problems computational science now solves

Before there were computers, there were computers — and they were people. From the late seventeenth century through the Second World War, a "computer" was someone whose job it was to perform long arithmetic calculations by hand, often for astronomy, navigation, ballistics, or engineering. The most famous of them — Mary Somerville, Henrietta Swan Leavitt, the women of the Harvard Observatory, the Computers of the U.S. Army's Aberdeen Proving Ground — produced the mathematical infrastructure on which modern science was built.

This page is about the wall those human computers hit, and why every single brick of that wall is still the focus of the field we now call scientific computing.

A tiny problem that explodes

Consider one of the oldest problems in physics: predicting where the planets will be a thousand years from now. Newton's laws describe the motion of any one planet around the sun perfectly — but as soon as you add a third gravitating body, the equations no longer have a closed-form solution. The only way forward is to march the system in tiny time steps, evaluating the forces, updating the velocities, updating the positions, and repeating. Billions of times.

A human computer working ten hours a day, six days a week, might manage a few thousand arithmetic operations. Predicting Jupiter for a century needs billions. The arithmetic is not hard. The volume is impossible.

Let us simulate, in Python, exactly how fast the work piles up.

Code Block
Python 3.13.2

Tens of thousands of human-years for a problem your laptop will solve in a fraction of a second. This gap — between what is mathematically defined and what is humanly computable — is the gap that scientific computing exists to close.

Tables of numbers were the original "API"

For centuries the workaround was to precompute answers and publish them in books. Logarithm tables, trigonometric tables, astronomical ephemerides, ballistics tables — these were the high-bandwidth interfaces between mathematicians who could derive functions and practitioners who needed values.

The Nautical Almanac

The British Nautical Almanac, first published in 1767, listed the position of the sun, moon, and planets at six-hour intervals for an entire year. Hundreds of human computers worked for months to produce each annual edition. A navigator at sea would then interpolate between the tabulated values to find the celestial position they needed — interpolation, by hand, in a rocking ship.

We still use this idea today, but the table lives in memory and the interpolation runs in microseconds. Try it.

Code Block
Python 3.13.2

The cubic spline error is on the order of 10610^{-6} — better than any printed table ever managed, computed in microseconds, with no humans involved.

The three walls

Every problem human computers ran into can be sorted into one of three categories. Each one is still a chapter of computational science.

1. The wall of volume

Some problems simply require more arithmetic than a human can ever perform. Numerical weather prediction is the canonical example — Lewis Fry Richardson famously spent six weeks in 1916 doing by hand what we now consider a six-hour forecast for a single grid cell, and his answer was wildly wrong because his time step was too large.

2. The wall of precision

Long calculations accumulate error. When a human computer carries seven decimal digits through ten thousand operations, the last digits become noise. We will see in the next chapter that even modern computers, with 16 digits of precision, can lose every single one to a poorly written formula.

3. The wall of dimensionality

Many problems are not just long but high-dimensional. Optimizing a function of two variables can be done with paper and pencil. Optimizing a function of two thousand variables — say, training the weights of a neural network — requires an entirely different toolbox of gradient methods, sparse representations, and stochastic sampling.

A small taste of why precision matters

Here is a calculation that a careful human computer would have performed accurately, but that a naive computer program gets catastrophically wrong. The math is identical; only the form of the expression differs.

Code Block
Python 3.13.2

The "naive" column drifts and then collapses to zero. The "rewritten" column stays accurate. The math has not changed; only the numerical method has. This is the entire reason numerical analysis is a discipline rather than a footnote.

The seed of an idea

By the 1930s, scientists had reached a point where the questions they wanted to ask — how do shock waves form? how do neutrons diffuse? how do galaxies cluster? — could be stated in a few lines of mathematics, but answered only by tens of millions of arithmetic operations. The pressure to build a machine that could do this work was enormous. The Second World War turned that pressure into funding, and computational science was born.

That is the story of the next chapter.

Check your understanding

QuestionSelect one

Which of the following was not a category of "wall" that human computers ran into and that modern scientific computing was created to overcome?

Volume — sheer number of arithmetic operations required

Precision — accumulated round-off in long calculations

Dimensionality — problems with thousands of variables

Syntax — the absence of structured programming constructs

QuestionSelect one

In the page's "1 − cos(x) / x²" example, both expressions are mathematically identical. Why does the naive version collapse to zero for tiny xx?

Python's math.cos is buggy for small arguments

The CPU is rounding x2x^2 to zero

1cos(x)1 - \cos(x) subtracts two nearly equal numbers and loses almost all of its significant digits — a phenomenon called catastrophic cancellation

The cubic spline interpolation introduced rounding error

On this page