Change of Basis
Translating coordinates and matrices from one basis to another, revealing that many matrices describe the same map.
Coordinates depend on the basis
A vector is an abstract object, but its coordinates depend on the chosen basis. If P is the matrix whose columns are the new basis vectors expressed in the old coordinates, then a vector with new coordinates c has old coordinates Pc, and conversely old coordinates x become new coordinates P^{-1} x. Choosing a convenient basis is often the first step in simplifying a problem.
How a matrix transforms
A linear map has different matrix representations in different bases. If A represents the map in the old basis, then B = P^{-1} A P represents the same map in the new basis. Matrices related this way are called similar, and they share all basis-independent quantities: eigenvalues, trace, determinant, rank, and characteristic polynomial.
Why change basis
The right basis makes structure visible. Diagonalization chooses the eigenvector basis, where the matrix becomes diagonal and its action is pure scaling. The SVD uses two orthonormal bases to reduce any matrix to a diagonal of singular values. Principal component analysis rotates data into a basis aligned with its variance. Each is a change of basis chosen to expose the essential behavior.
Orthonormal changes
When the new basis is orthonormal, the change-of-basis matrix is orthogonal, so P^{-1} = P^T and B = P^T A P. Such transformations preserve lengths, angles, and conditioning, which is why numerical methods favor orthonormal changes of basis wherever possible.
import numpy as np
A = np.array([[2.0, 0.0], [0.0, 3.0]])
P = np.array([[1.0, 1.0], [0.0, 1.0]]) # new basis in old coords
B = np.linalg.inv(P) @ A @ P
print(np.isclose(np.trace(A), np.trace(B))) # invariant
Transforming plasma equations into field-aligned or flux coordinates is a physical change of basis that turns anisotropic operators into a form where the dominant physics separates cleanly.