Classical Mechanics
Normal Modes
How a tangle of coupled oscillators secretly contains a set of perfectly independent, single-frequency dances
Normal modes are the independent vibration patterns of coupled oscillators — each ringing at one frequency, given by the eigenvalues of K/M.
- DefinitionSingle-frequency patterns of a coupled system
- Frequenciesω² = eigenvalues of K/M
- CountN masses give exactly N modes
- Molecules3N − 6 vibrational modes (nonlinear)
- Mode shapesEigenvectors of the dynamical matrix
- Key propertyAny motion = weighted superposition of modes
Interactive visualization
Press play, or step through manually. The visualization is yours to drive — try it before reading on.
Watch the 60-second explainer
A condensed visual walkthrough — narrated, captioned, under a minute.
Definition
Couple two pendulums with a weak spring and let them swing. The motion looks hopelessly complicated — energy sloshes back and forth, each bob tracing an irregular path. But hidden inside that mess are exactly two simple, eternal patterns. In one, both bobs swing together perfectly in step. In the other, they swing in perfect opposition. Each of those patterns oscillates at a single, fixed frequency forever. Those are the system's normal modes.
A normal mode is a collective motion in which every part of a coupled system oscillates at the same frequency, with fixed relative amplitudes and phases. The whole system moves as if it were a single simple harmonic oscillator. The magic claim — and it is provable — is this:
Any free motion of the system, no matter how complicated it looks, is a weighted superposition of its normal modes.
The complicated dance is not really complicated. It is just two (or N) simple dances added together, each running at its own clock speed.
How it works — the eigenvalue problem
Write Newton's law for the whole system in matrix form. Collect every coordinate (displacement of mass 1, mass 2, …, mass N) into a vector x. Then:
M · x'' = −K · x
Here M is the mass matrix (diagonal, holding each mass) and K is the stiffness matrix (holding all the spring constants and their couplings). The off-diagonal entries of K are exactly what make the equations tangled — they couple one mass's motion to another's.
Now guess that the whole system oscillates at one frequency ω, with a fixed shape a:
x(t) = a · cos(ω t) → x'' = −ω² · x
Substitute and the time dependence cancels, leaving a pure linear-algebra problem:
(K − ω² M) · a = 0
This is the generalized eigenvalue problem. A nonzero shape a exists only when the matrix is singular:
det(K − ω² M) = 0
That determinant is the characteristic equation. Its roots are the squared normal-mode frequencies. In words:
ω² = eigenvalues of K/M (more precisely, of M⁻¹K, the dynamical matrix), and the mode shapes are the eigenvectors.
The eigenvalues are always real and non-negative because M and K are symmetric positive (semi-)definite — a guarantee that every normal frequency is a real, physical oscillation rather than a runaway exponential.
A worked example with concrete numbers
Take two equal masses m = 1 kg on a line, each tied to a fixed wall by a spring of stiffness k = 100 N/m, and coupled to each other by a middle spring of stiffness k_c = 50 N/m. The stiffness and mass matrices are:
M = [ 1 0 ] K = [ k+k_c −k_c ] = [ 150 −50 ]
[ 0 1 ] [ −k_c k+k_c ] [ −50 150 ]
Because the masses are equal, K/M = K. Its eigenvalues come from the symmetry of the problem. The two eigenvectors are obvious by inspection: (1, 1) and (1, −1).
- Symmetric mode (1, 1): both masses move together. The middle spring never stretches, so it contributes nothing. ω₁² = k/m = 100, so ω₁ = 10 rad/s (f₁ ≈ 1.59 Hz).
- Antisymmetric mode (1, −1): the masses move oppositely. The middle spring stretches maximally, adding 2k_c of restoring stiffness. ω₂² = (k + 2k_c)/m = 200, so ω₂ = 14.14 rad/s (f₂ ≈ 2.25 Hz).
Two masses, two modes — exactly as promised. Now suppose you pull only mass 1 aside by 2 cm and release. Decompose that initial condition into the modes: (2, 0) = 1·(1, 1) + 1·(1, −1). Both modes start with 1 cm amplitude. As they run at 10 and 14.14 rad/s, they drift out of phase, and the energy sloshes entirely from mass 1 to mass 2 and back. The beat period is 2π / (ω₂ − ω₁) = 2π / 4.14 ≈ 1.52 s. That sloshing is the visible fingerprint of two nearby modes interfering.
Counting modes — N masses, 3N − 6 molecules
The counting rule is exact and worth memorizing:
| System | Degrees of freedom | Normal modes | Note |
|---|---|---|---|
| N masses on a line | N | N | One mode per degree of freedom |
| N point masses free in 3D | 3N | 3N | Three components each |
| Nonlinear molecule, N atoms | 3N | 3N − 6 vibrational | Subtract 3 translations + 3 rotations |
| Linear molecule, N atoms | 3N | 3N − 5 vibrational | Only 2 rotational DOF |
| Water (H₂O, bent, N=3) | 9 | 3 | Symmetric stretch, bend, asym. stretch |
| CO₂ (linear, N=3) | 9 | 4 | Two bends are degenerate |
| Benzene (C₆H₆, N=12) | 36 | 30 | 3·12 − 6 = 30 vibrations |
Why subtract 6 for a molecule? Of the 3N coordinates, three combinations describe the molecule sliding as a rigid body (translation) and three describe it tumbling (rotation). Those motions have zero restoring force, so they correspond to ω = 0 — they are not vibrations. A nonlinear molecule of N atoms therefore has exactly 3N − 6 vibrational normal modes; a linear one has 3N − 5, because rotation about its own axis carries no inertia.
Variants and regimes
- Identical masses, identical springs. The mode shapes are pure sinusoids along the chain. A chain of N equal masses has frequencies ωⱼ = 2ω₀·sin(jπ / 2(N+1)) for j = 1…N — a discrete dispersion relation.
- Continuous limit (N → ∞). The chain becomes a string. The normal modes become the standing-wave harmonics with fₙ = n·f₁, the familiar overtone series of a guitar string. Normal modes are the discrete ancestors of standing waves.
- Degenerate modes. Symmetry can force two modes to share a frequency, as with the two perpendicular bending modes of CO₂. Any combination of degenerate modes is itself a valid mode.
- Damped systems. With damping, M·x'' + C·x' + K·x = 0. If C is "proportional" (a blend of M and K) the same eigenvectors still decouple the system, each mode now a damped oscillator. Otherwise the modes become complex.
- Quantized modes. Quantize each electromagnetic field mode and you get photons; quantize each crystal lattice mode and you get phonons. The energy of one mode comes in lumps of ℏω.
- Driven modes → resonance. Apply a periodic force at a mode's frequency and amplitude grows without bound (until damping or nonlinearity limits it). That is resonance, the driven cousin of the free normal mode.
Computing modes — diagonalizing K/M in code
// Two equal masses, wall springs k, coupling spring kc.
// Solve the eigenvalue problem (K - w^2 M) a = 0 analytically for the 2x2 case.
function twoMassModes(m, k, kc) {
// K = [[k+kc, -kc], [-kc, k+kc]], M = m*I
// Eigenvalues of K/m: symmetric uses eigvec (1,1), antisymmetric (1,-1)
const w1sq = k / m; // symmetric: coupling spring idle
const w2sq = (k + 2 * kc) / m; // antisymmetric: coupling spring fully engaged
return [
{ name: "symmetric", shape: [1, 1], omega: Math.sqrt(w1sq) },
{ name: "antisymmetric", shape: [1, -1], omega: Math.sqrt(w2sq) },
];
}
const modes = twoMassModes(1, 100, 50);
modes.forEach(md =>
console.log(`${md.name}: omega = ${md.omega.toFixed(2)} rad/s (f = ${(md.omega/(2*Math.PI)).toFixed(2)} Hz)`)
);
// symmetric: omega = 10.00 rad/s (f = 1.59 Hz)
// antisymmetric: omega = 14.14 rad/s (f = 2.25 Hz)
// Reconstruct the motion of mass 1 after pulling ONLY mass 1 by x0.
// Decompose (x0, 0) = (x0/2)(1,1) + (x0/2)(1,-1): each mode gets half.
function massPosition(t, x0, modes) {
const c = x0 / 2;
// mass 1 = +symmetric + antisymmetric ; mass 2 = +symmetric - antisymmetric
const x1 = c * Math.cos(modes[0].omega * t) + c * Math.cos(modes[1].omega * t);
const x2 = c * Math.cos(modes[0].omega * t) - c * Math.cos(modes[1].omega * t);
return [x1, x2];
}
console.log(massPosition(0, 0.02, modes)); // [0.02, 0] -- all energy in mass 1
// Beat period: energy fully transfers in pi/(w2-w1) seconds
const beat = Math.PI / (modes[1].omega - modes[0].omega);
console.log(`Energy reaches mass 2 after ${beat.toFixed(2)} s`); // ~0.76 s (half-beat)
For larger systems you stop hand-solving and feed K and M to a numerical eigensolver (LAPACK's dsygv, NumPy's scipy.linalg.eigh(K, M)). The cost of a full eigendecomposition is O(N³), which is why structural engineers reduce a million-element finite-element model to its first few hundred modes before analysis.
Where normal modes show up
- Molecular spectroscopy. Each vibrational mode absorbs infrared light at its own frequency. The 3N − 6 modes of a molecule are its IR fingerprint — how chemists identify compounds and how climate scientists know CO₂ traps heat (its bending mode sits right in Earth's thermal-emission band).
- Structural and civil engineering. Buildings and bridges have natural modes. Engineers compute them so that wind, traffic, or earthquakes never resonantly drive one. The 1940 Tacoma Narrows collapse was a torsional normal mode driven by wind.
- Crystals and solids. Lattice normal modes are phonons; they carry heat and sound through a solid and set its heat capacity (Debye model).
- Musical instruments. A drumhead, guitar body, or bell rings in its normal modes; their frequencies and overtones define its timbre.
- Seismology and asteroseismology. The whole Earth — and the Sun — rings in normal modes after big events. Measuring their frequencies reveals the interior structure.
- Quantum field theory. Photons and phonons are quantized normal modes; the entire particle picture of light grows from this idea.
Common pitfalls and misconceptions
- Thinking modes are separate physical objects. Modes are not pieces of the system; they are independent patterns the whole system can express. The real motion is their sum.
- Confusing normal modes with resonances. Normal modes are free-oscillation properties; resonance is the large response when you drive at a mode frequency. The mode exists with or without driving.
- Forgetting the rigid-body modes. When counting molecular vibrations, the 3 translations + 3 rotations (zero-frequency modes) must be subtracted — that's the entire reason for the −6.
- Assuming the lowest mode is always symmetric. It usually is for simple chains, but symmetry, masses, and boundary conditions decide. Solve the eigenproblem; don't guess.
- Ignoring degeneracy. Equal eigenvalues mean a whole plane of valid modes — pick a convenient orthogonal pair, and remember any rotation of them is equally valid.
- Using K/M loosely when masses differ. The frequencies are eigenvalues of M⁻¹K, not of K alone. Only when all masses are equal does K/M reduce to scaling K by 1/m.
Why the modes decouple — the deeper structure
The reason normal modes are so powerful is a theorem of linear algebra: two symmetric matrices, one of them positive-definite, can be simultaneously diagonalized. The kinetic energy is ½ x'ᵀ M x' and the potential energy is ½ xᵀ K x. There exists a change of variables x = P·q (P built from the eigenvectors) that turns both quadratic forms into pure sums of squares at once.
In the new coordinates q₁, q₂, …, qₙ — the normal coordinates — the Lagrangian splits cleanly:
L = Σ ½(q'ⱼ² − ωⱼ² qⱼ²)
Every coupling term has vanished. The equation of motion for each normal coordinate is simply q''ⱼ = −ωⱼ² qⱼ — an isolated simple harmonic oscillator. The hard N-dimensional coupled problem has become N independent one-dimensional problems. This is the entire payoff of the eigen-decomposition: it finds the coordinate system in which a complicated machine is secretly just a row of independent springs, each humming at the square root of its eigenvalue.
The same trick scales without limit. For a continuum it gives Fourier modes; for the electromagnetic field it gives photons; for a crystal it gives phonons. Whenever nature couples many oscillators, look for the basis in which they fall apart — that basis is the normal modes.
Frequently asked questions
What is a normal mode?
A normal mode is a pattern of motion in which every part of a coupled system oscillates at the same single frequency and in fixed phase relationship. In a normal mode the whole system moves like one giant simple harmonic oscillator — all parts reach their extremes at the same instant. The special frequencies at which this is possible are the normal (or natural) frequencies, and the spatial shapes are the mode shapes (eigenvectors). Any free motion of the system is a weighted sum of its normal modes.
How do you find the normal mode frequencies?
Write Newton's equations as M·x'' = −K·x, where M is the mass matrix and K the stiffness matrix. Assume a solution x = a·e^(iωt). Substituting gives the eigenvalue problem (K − ω²M)·a = 0. Nontrivial solutions require det(K − ω²M) = 0, the characteristic equation. Its roots are the squared frequencies: ω² are the eigenvalues of M⁻¹K (often written K/M). The corresponding eigenvectors a are the mode shapes.
How many normal modes does a system have?
A system with N independent degrees of freedom has exactly N normal modes. N masses constrained to move along a line give N modes; N point masses free in 3D give 3N modes. For a molecule you subtract the rigid-body motions: 3 translations and 3 rotations leave 3N − 6 vibrational modes for a nonlinear molecule, or 3N − 5 for a linear one (which has only 2 rotational degrees of freedom). Water (N=3) has 3·3 − 6 = 3 vibrational modes; CO₂ (linear, N=3) has 3·3 − 5 = 4.
Why does the symmetric mode of two coupled pendulums have a lower frequency than the antisymmetric mode?
In the symmetric (in-phase) mode the two masses move together, so the coupling spring between them is never stretched — it does no work, and the restoring force comes from gravity alone. The frequency is just ω₀ = √(g/L). In the antisymmetric (out-of-phase) mode the masses move oppositely, stretching the coupling spring maximally, which adds restoring force. More stiffness means higher frequency: ω = √(g/L + 2k/m). More restoring force always means a faster oscillation.
What is the difference between a normal mode and a resonance?
A normal mode is a free-oscillation property of an undriven system — its natural frequency and shape. Resonance is what happens when you drive that system at (or near) one of its normal-mode frequencies: the amplitude builds up dramatically because energy is pumped in phase with the natural motion. So normal modes are the targets; resonance is the dramatic response you get when an external force aims at one of them. The Tacoma Narrows bridge collapse excited a torsional normal mode.
What are beats and how do normal modes explain them?
Start two coupled identical pendulums with one swinging and the other still. That initial condition is an equal mix of the symmetric mode (frequency ω₁) and antisymmetric mode (frequency ω₂). The two modes drift in and out of phase, so energy sloshes completely from one pendulum to the other and back. The sloshing period is 2π/(ω₂ − ω₁) — the beat period. This is the textbook signature that a system has two close normal modes.
Why can normal modes be treated as independent oscillators?
Because the transformation to normal coordinates diagonalizes both the kinetic and potential energy simultaneously. In the new coordinates q₁, q₂, ..., the equations of motion decouple completely: each obeys q'' = −ω²q, a plain simple harmonic oscillator with no coupling term. The cross-terms that made the original equations tangled vanish. This is exactly why eigen-decomposition of K/M is so powerful — it converts one hard coupled problem into N easy independent ones.
Do normal modes apply to continuous systems and quantum mechanics?
Yes. A string or membrane is the N → ∞ limit: its normal modes are the standing-wave harmonics, with frequencies fₙ = n·f₁. In quantum mechanics, quantizing each normal mode of the electromagnetic field gives photons, and quantizing crystal lattice modes gives phonons. The energy of a quantized mode comes in units of ℏω. So the same eigenvalue machinery scales from two pendulums all the way to quantum field theory.