Computation has become indispensable in the sciences and other technical fields. Sometimes the computation is so light we don't even think about it — using a
graphing calculator to plot 1D
functions or find
roots. For instance, in the
finite square well problem in
quantum mechanics, the following equation must be solved for $$z$$:%% \tan(z) = \sqrt{(z_0/z)^2 - 1}. %%Such
transcendental equations lack
closed-form solutions and must be solved graphically or
numerically. Pre-
digital-age, this would have required tabulated values or a
slide rule!
High-performance computing is typically used in conjunction with theoretical and experimental lines of investigation. On occasion, computational results are surprising, and can lead researchers to reformulate their thinking. The
Fermi-Pasta-Ulam-Tsingou (FPUT) problem was an early computational experiment in
nonlinear dynamics. It was conducted in 1953 at
LANL on a
vacuum tube computer and involved simulating the motion of a 1D chain of $$N$$ identical masses coupled by springs of force response:%% F(x) = -kx - \beta x^3. %%For the
linear case (
Hookean springs, $$\beta = 0$$), the results were as expected: each of the $$N$$
normal modes retained its initial share of the total energy. With significant amounts of
nonlinearity ($$\beta/k > 1$$), the system displayed the expected
ergodic behavior, with energy eventually spreading to all modes. For small amounts of nonlinearity ($$\beta/k \sim 0.1$$), the system was expected to thermalize, but instead displayed quasi-periodic behavior, with energy cycling among a few select modes.
For systems where
randomness plays a role,
analytic results can be verified with computation using
pseudo-random number generators. Stochasticity is common in
biological systems, one example being
genetic drift in populations — alleles from one generation are randomly sampled to form the next. Such processes can easily be simulated using
MCMC methods. Taking suitable averages over
independent realizations of the
stochastic process then enables comparison with theory values.
One of my roles in our work,
Khromov et al., 2018, was to write and run a
parallel simulation code to facilitate such comparisons. Implementing the
population genetics algorithm was straightforward, but
sampling required some care — the theory depends on a
mutation-
selection-
drift steady state allele frequency distribution. Samples could only be taken once the steady state was reached and with adequate time in between (if replacing
ensemble average with time average). Of course, both of these times were dependent on
parameter values and other factors.