Normal Coordinates and Decoupled Oscillators
~8 min read · Tier toggle changes depth (T1 plain · T2 standard · T3 rigour)
You should be comfortable with the generalized eigenvalue problem \( K \mathbf{v} = \omega^2 M \mathbf{v} \) and the concept of orthogonal eigenvectors for symmetric matrices. Familiarity with the Lagrangian formulation of coupled oscillators is assumed.
Why this matters
Normal coordinates transform a complex, coupled mechanical system into a set of independent, simple harmonic oscillators.
In the previous lecture, we established that the normal modes of a system correspond to the eigenvectors of the generalized eigenproblem. However, solving for the physical coordinates \( q_i(t) \) remains difficult because the equations of motion are coupled. By introducing normal coordinates \( \xi_r \), we perform a linear transformation that decouples the system entirely. This is not merely a mathematical trick; it reveals the fundamental independent degrees of freedom of the system. Each normal coordinate oscillates at a single, distinct frequency, allowing us to analyze energy exchange, resonance, and stability with far greater clarity than is possible in the original coupled basis.
The Idea: From Coupling to Independence
Imagine a system of three masses connected by springs. If you pull one mass, the motion is transmitted through the springs, causing all masses to move in a complex, intertwined pattern. The equations describing this motion are coupled: the acceleration of mass 1 depends on the positions of masses 2 and 3, and vice versa. This makes the system hard to solve intuitively.
Normal coordinates provide a new way of describing the same motion. Instead of tracking the position of each individual mass, we track the amplitude of each independent "mode" of vibration. Think of a guitar string: it can vibrate in its fundamental mode, its second harmonic, and so on. These modes are independent; you can excite the fundamental without necessarily exciting the second harmonic. For a discrete system of masses and springs, normal coordinates are the discrete equivalents of these independent vibrational patterns. By expressing the system's state in terms of these normal coordinates, the complex coupled motion simplifies into a collection of independent oscillators, each moving at its own natural frequency. The total motion is simply the superposition of these independent oscillations.
Simultaneous Diagonalization
The core mathematical result, derived in D-132, is that for a conservative system with symmetric positive-definite mass matrix \( M \) and symmetric positive-semidefinite stiffness matrix \( K \), there exists a single linear transformation matrix \( A \) that diagonalizes both matrices simultaneously. This is possible because the eigenvectors of the generalized eigenproblem \( K \mathbf{v} = \omega^2 M \mathbf{v} \) are orthogonal with respect to both \( M \) and \( K \).
We define the normal coordinates \( \boldsymbol{\xi} \) via the transformation \( \mathbf{q} = A \boldsymbol{\xi} \). The matrix \( A \) is constructed such that its columns are the normalized eigenvectors. The conditions for this transformation are:
Here, \( I \) is the identity matrix, and \( \Omega \) is a diagonal matrix containing the squared normal frequencies. This simultaneous diagonalization is the key to decoupling. It ensures that the kinetic energy \( T \) becomes a sum of squares of the normal velocities, and the potential energy \( V \) becomes a sum of squares of the normal displacements, with no cross-terms.
Decoupled Equations of Motion
Substituting the transformation \( \mathbf{q} = A \boldsymbol{\xi} \) into the original coupled equations of motion \( M \ddot{\mathbf{q}} + K \mathbf{q} = 0 \), we obtain:
Using the diagonalization conditions from the previous section, this simplifies dramatically:
Since \( I \) is the identity matrix, this matrix equation breaks down into \( n \) independent scalar differential equations:
Each equation describes a simple harmonic oscillator with frequency \( \omega_r \). The solution for each normal coordinate is:
where \( C_r \) and \( \phi_r \) are constants determined by the initial conditions. The physical coordinates are then recovered by summing the contributions of all normal modes: \( q_i(t) = \sum_{r=1}^n A_{ir} \xi_r(t) \).
Energy in Normal Coordinates
The Lagrangian \( L = T - V \) takes a particularly simple form in normal coordinates. The kinetic energy becomes:
and the potential energy becomes:
Notice the absence of cross-terms like \( \dot{\xi}_r \dot{\xi}_s \) or \( \xi_r \xi_s \) for \( r \neq s \). This means that the energy associated with each normal mode is independent of the others. The total energy of the system is simply the sum of the energies of the individual normal modes:
This independence of energy is a direct consequence of the orthogonality of the normal modes. It implies that, in the absence of damping or external driving, energy does not flow between different normal modes. Each mode oscillates independently, preserving its own energy constant.
The derivation
Decoupling into Normal Coordinates
For a conservative system of n coupled oscillators about a stable equilibrium, with symmetric positive-definite mass matrix M and symmetric positive-semidefinite stiffness matrix K, there exists a single linear change of coordinates q = A ξ that simultaneously diagonalizes both matrices — ATM A = I and ATK A = Ω = diag(ω12, …, ωn2) — reducing the coupled equations M q̈ + K q = 0 to n independent scalar harmonic oscillators ξ̈r + ωr2 ξr = 0. The ξr are the normal coordinates.
A common misconception is that normal coordinates are unique. In fact, the transformation matrix \( A \) is unique only up to the sign of each eigenvector and the ordering of the modes. If \( \omega_i = \omega_j \) (degenerate frequencies), any linear combination of the corresponding eigenvectors is also a valid set of normal coordinates. In such cases, the "normal modes" are not uniquely defined, and the choice of basis within the degenerate subspace is arbitrary. This degeneracy can lead to energy exchange between modes if the system is perturbed, a phenomenon known as mode coupling. C
Worked example
Problem. Consider a system of two identical masses \( m = 1.0\ \mathrm{kg} \) connected by three identical springs, each with spring constant \( k = 100\ \mathrm{N/m} \). The masses are on a frictionless horizontal surface, with the outer springs attached to fixed walls. Determine the normal frequencies and the normal coordinates for a general initial condition where mass 1 is displaced by \( 0.1\ \mathrm{m} \) and mass 2 is at rest, with both masses initially at rest.
- Set up the mass and stiffness matrices. For this symmetric system, \( M = \begin{pmatrix} m & 0 \\ 0 & m \end{pmatrix} \) and \( K = \begin{pmatrix} 2k & -k \\ -k & 2k \end{pmatrix} \).
- Solve the generalized eigenvalue problem \( \det(K - \omega^2 M) = 0 \). This yields \( \omega_1^2 = \frac{k}{m} \) and \( \omega_2^2 = \frac{3k}{m} \). Thus, \( \omega_1 = 10\ \mathrm{rad/s} \) and \( \omega_2 = \sqrt{300}\ \mathrm{rad/s} \approx 17.32\ \mathrm{rad/s} \).
- Determine the eigenvectors. For \( \omega_1^2 \), the eigenvector is \( \mathbf{v}_1 = \begin{pmatrix} 1 \\ 1 \end{pmatrix} \). For \( \omega_2^2 \), the eigenvector is \( \mathbf{v}_2 = \begin{pmatrix} 1 \\ -1 \end{pmatrix} \).
- Normalize the eigenvectors with respect to \( M \). Since \( M = m I \), the normalization condition is \( \mathbf{v}^T M \mathbf{v} = 1 \). For \( \mathbf{v}_1 \), \( m(1^2 + 1^2) = 2m \), so the normalized vector is \( \mathbf{a}_1 = \frac{1}{\sqrt{2m}} \begin{pmatrix} 1 \\ 1 \end{pmatrix} \). Similarly, \( \mathbf{a}_2 = \frac{1}{\sqrt{2m}} \begin{pmatrix} 1 \\ -1 \end{pmatrix} \).
- Construct the transformation matrix \( A = \begin{pmatrix} \frac{1}{\sqrt{2m}} & \frac{1}{\sqrt{2m}} \\ \frac{1}{\sqrt{2m}} & -\frac{1}{\sqrt{2m}} \end{pmatrix} \). Because \( A^T M A = I \), the inverse transformation is \( \boldsymbol{\xi} = A^T M \mathbf{q} \) (not \( A^T \mathbf{q} \), unless \( M = I \)).
- Initial conditions: \( \mathbf{q}(0) = (0.1, 0)^T\ \mathrm{m} \) and \( \dot{\mathbf{q}}(0) = 0 \). Then \( \boldsymbol{\xi}(0) = A^T M \mathbf{q}(0) = \sqrt{m/2}\,(0.1,\ 0.1)^T \), so \( \xi_1(0) = \xi_2(0) = 0.1/\sqrt{2} \approx 0.0707\ \mathrm{kg^{1/2}\,m} \) for \( m = 1.0\ \mathrm{kg} \), and \( \dot{\boldsymbol{\xi}}(0) = 0 \).
- Each normal coordinate oscillates on its own: \( \xi_1(t) = 0.0707 \cos(10 t) \), \( \xi_2(t) = 0.0707 \cos(17.32 t) \).
- Back to the masses, \( \mathbf{q} = A \boldsymbol{\xi} \): \( q_1(t) = 0.05[\cos(10t) + \cos(17.32t)]\ \mathrm{m} \) and \( q_2(t) = 0.05[\cos(10t) - \cos(17.32t)]\ \mathrm{m} \). At \( t = 0 \) these give 0.1 m and 0, as required; energy then passes back and forth between the two masses.
Units check. With the normalisation \( A^T M A = I \), \( A \) has units \( \mathrm{kg^{-1/2}} \), so the normal coordinates carry \( \mathrm{kg^{1/2}\,m} \) and \( \tfrac{1}{2}\dot{\xi}^2 \) is an energy in joules; \( q = A\xi \) comes back in metres.
Three quick tests
- Why must the mass matrix \( M \) be positive-definite for the simultaneous diagonalization to work?
Answer
To ensure that the kinetic energy is positive for any non-zero velocity, which is a physical requirement for a stable system. It also guarantees that the eigenvectors can be normalized to form an orthonormal basis with respect to \( M \). - If two normal frequencies are equal (\( \omega_1 = \omega_2 \)), what happens to the uniqueness of the normal coordinates?
Answer
The normal coordinates are no longer unique. Any linear combination of the corresponding eigenvectors is also a valid normal mode, leading to a degenerate subspace where the basis is arbitrary. - Does energy flow between different normal modes in an ideal, undamped system?
Answer
No. In an ideal, undamped system, the energy associated with each normal mode is conserved independently. There is no energy exchange between modes unless the system is perturbed or driven externally.
Problem set for PU-201 →
Each derivation in this unit ends with five graded problems with full solutions.
Lecture notes drafted with a local model and checked line by line by the editor; every number in the worked example was recomputed.