The grid and the invariant rays
A matrix is an action with coordinates attached
A two-by-two matrix can be read as four entries, but the entries are not the most durable fact. They describe what a linear rule does to two chosen basis vectors. Change the basis and the entries change, even when the physical transformation does not. The durable object is the rule that maps an input vector x to an output vector Ax.
Linearity means two constraints hold. Scaling the input scales the output by the same amount, and transforming a sum gives the sum of the transformed parts. If x = u + v, then Ax = Au + Av. This permits a difficult motion to be understood by decomposing the input into simpler directions, transforming those directions separately and recombining them.
Read the columns as controlled interventions
There is a practical way to recover the action hidden inside the table. Feed the transformation the first basis vector e₁ = (1, 0). The output is the first column. Feed it e₂ = (0, 1). The output is the second column. For the shear matrix A = [[1, 1], [0, 1]], the first probe returns (1, 0) and the second returns (1, 1). The machine leaves horizontal motion unchanged but adds one horizontal unit for every vertical unit.
Now take x = (3, -2). Linearity lets us predict its image without applying four memorised arithmetic rules: x = 3e₁ - 2e₂, so Ax = 3Ae₁ - 2Ae₂ = (1, -2). The columns are therefore not four unrelated constants. They are the outcomes of two basis interventions, sufficient to predict every other input. A different basis would ask different probe questions and produce different columns, while preserving the same underlying action.
A grid stretched around two invariant rays
The smallest useful definition
Take a non-zero vector v. Apply the transformation. If the result remains on the same line through the origin, then v is an eigenvector. The transformation may stretch it, shrink it or reverse it, but it does not send it into a new direction. The scalar multiplier is the eigenvalue λ.[1]
If λ = 2, one pass doubles distance along the ray. If λ = 0.5, it halves it. If λ = -1, the vector reverses direction while keeping length. If λ = 0, that direction collapses to the origin. These are not four unrelated cases. They are four forms of one question: what does the transformation do to a direction that it cannot bend away from itself?
How the invariant directions are found
The equation Av = λv can be rearranged as (A - λI)v = 0. A non-zero solution exists only when A - λI collapses at least one direction, which means its determinant is zero. This is why the characteristic polynomial appears. It is not a ritual for manufacturing special numbers. It asks which attempted scale factors make the transformed and scaled copies line up.
For A = [[3, 1], [0, 2]], the determinant of A - λI is (3 - λ)(2 - λ). The eigenvalues are 3 and 2. Their eigenvectors may be chosen as v₁ = (1, 0) and v₂ = (-1, 1). The ordinary vertical vector is not itself invariant, but it decomposes as (0, 1) = v₁ + v₂. After k steps it becomes 3kv₁ + 2kv₂ = (3k - 2k, 2k). The eigenbasis reveals two independent rates inside a trajectory whose visible coordinates remain coupled.
One-step agreement can conceal different eigenstructure
flowchart LR A["Opening case"] --> B["The grid and the invariant rays"] B --> C["Repetition becomes selection"] C --> D["Modes in working systems"] D -. "re-test" .-> A classDef first fill:#0a1424,stroke:#007D68,stroke-width:2px,color:#e6f3ff classDef step fill:#0a1424,stroke:#3f7da0,stroke-width:1px,color:#e6f3ff class A first class B,C,D step
Repetition becomes selection
Why powers of a matrix simplify in the right basis
Suppose a square matrix has enough independent eigenvectors to form a basis. Put those eigenvectors into the columns of a matrix S, and put their eigenvalues on the diagonal of Λ. Then A = SΛS-1. The inverse S-1 expresses the current state in modal coordinates, Λ scales each mode independently, and S returns to the original coordinates.[2]
Now apply A repeatedly. Adjacent factors S-1S cancel, leaving a power only on the diagonal matrix. This is the algebraic form of the stretching-sheet story.
This equation explains persistence without anthropomorphic language. A mode with |λ| > 1 grows. One with |λ| < 1 decays. One with |λ| = 1 preserves magnitude, though it may reverse or rotate. If one magnitude is strictly larger than the rest and its initial coefficient is non-zero, its direction eventually dominates after normalisation. Numerical eigensolvers exploit the same filtering principle: repeated matrix polynomials amplify selected invariant components and attenuate others.[3]
Three modal amplitudes under repeated transformation
A recurrence that discovers the golden ratio
The Fibonacci rule says the next number is the sum of the previous two. That verbal recurrence can be written as one matrix transformation:
The matrix has eigenvalues φ = (1 + √5)/2 and -1/φ. The first has magnitude about 1.618. The second has magnitude about 0.618. Unless the initial state is specially chosen to cancel the first mode, repeated updates suppress the second relative to the first. Consequently, the ratio Fₙ₊₁/Fₙ approaches φ.
The Fibonacci state aligns with its dominant eigenvector
When no real ray is invariant
A real matrix can have no real eigenvector in a two-dimensional plane. A pure rotation by an angle other than 0 or 180 degrees bends every real ray. Its eigenvalues and eigenvectors live in the complex numbers. This is not a mathematical trick added after the fact. A complex-conjugate pair is a compact way to encode two coupled real behaviours: radial scaling and angular rotation.
For a rotation-contraction matrix, the eigenvalue has the form reiθ. The modulus r multiplies radius each step. The phase θ adds an angle each step. If r < 1, trajectories spiral inward. If r = 1, they orbit without radial decay. If r > 1, they spiral outward.
A complex eigenpair becomes a real spiral
Modes in working systems
Probability mass that forgets its starting point
Consider a system that moves among three states. Its state vector does not record one definite location. It records a probability distribution. A column-stochastic transition matrix P moves probability mass from the current distribution to the next one. A stationary distribution π satisfies Pπ = π, so it is an eigenvector with eigenvalue 1.[4]
Take the synthetic transition matrix below. Its dominant eigenvalue is 1, and the remaining eigenvalues are approximately 0.521 and 0.379. The corresponding stationary distribution is approximately (0.336, 0.361, 0.303). Any initial difference along the smaller modes decays. The spectral gap therefore controls how quickly the system forgets where it began, subject to the chain’s structural conditions.
Stationarity is an invariant distribution, not a frozen state
The same mathematics appears in historical link ranking. PageRank treated the web as a directed link graph and computed a recursively defined importance distribution over pages.[5] The point here is not that modern search ranking is reducible to the original algorithm. It is that a global pattern can be the eigenvector fixed by repeated local transfers.
Estimating modes from observations
Sometimes the matrix is known because an engineer designed it. Sometimes only a sequence of snapshots is available. Dynamic mode decomposition fits a linear evolution map between successive observations and decomposes that map into spatial modes and temporal rates. It has become a widely used way to extract dynamic patterns from time-series data, especially in fluid mechanics.[6]
The method’s usefulness can tempt an overreach. A fitted eigenmode may summarise regularity in observed data without being a unique physical cause. Hidden variables, forcing, noise and nonlinear state dependence can generate the same fitted mode. A mode becomes a mechanism claim only after interventions show that changing the relevant state component changes the trajectory as predicted.
Why eigenstructure enters machine intelligence
A recurrent system repeatedly updates a hidden state. Near a fixed point, a nonlinear update ht+1 = f(ht, ut) can be approximated by its Jacobian matrix with respect to the state. The Jacobian’s eigenstructure then describes local directions of contraction, persistence, oscillation or expansion. This is one reason spectral design appears in recurrent neural networks and implicit models.
Unitary recurrent architectures were proposed partly to keep eigenvalue magnitudes at one and reduce vanishing or exploding long-range dynamics.[7] Deep equilibrium models instead solve for a fixed point of a repeated nonlinear layer, and later work regularised the fixed-point Jacobian to improve convergence stability.[8][9] These results show that spectral structure can affect optimisation and state dynamics. They do not show that eigenvalues alone determine learning, memory or intelligence.
The example exposes three distinct questions. The spectrum asks whether local perturbations eventually vanish. The eigenvectors ask which coupled patterns carry the two rates. Direct powers of J ask whether a transient crosses a real decision boundary. Convergence is a property of an infinite horizon; acceptability belongs to the horizon at which an action is released.
A local eigenmode can be valid inside one boundary and wrong outside it
stateDiagram-v2 [*] --> Claim state "A matrix is an action with<br/>coordinates attached" as Claim state "Read the columns as controlled<br/>interventions" as Test state "The smallest useful definition" as Revision Claim --> Test: expose mechanism Test --> Decision: evidence survives Test --> Revision: rival survives Revision --> Claim: narrow or rebuild Decision --> [*]
When the spectrum lies by omission
Two stable spectra, two incompatible short-term stories
The clean modal picture assumes more than the existence of eigenvalues. It assumes the eigenvectors form a usable coordinate system. Symmetric and, more generally, normal matrices are especially friendly because they admit orthogonal eigenvectors. Modal components do not require large cancelling coefficients, and the matrix norm of each power is tightly governed by the eigenvalue magnitudes.
Non-normal matrices can behave differently. Their eigenvectors may be far from orthogonal. Representing an ordinary state in that basis can require large positive and negative modal coefficients that nearly cancel at the start. As the coefficients decay at different rates, the cancellation can temporarily disappear. The state grows before it eventually shrinks.
Identical eigenvalues, radically different transient gain
This is not a rare technicality confined to contrived two-by-two matrices. Nonnormality is central in fluid stability, control, numerical iteration and network dynamics. Trefethen showed that for matrices far from normal, eigenvalues may have little to do with finite-horizon quantities such as ‖An‖, and that pseudospectra can reveal sensitivity and transient growth missed by the spectrum alone.[10] Earlier work on hydrodynamic stability demonstrated why spectrally stable linearised flows can still exhibit large transient amplification.[11]
A defective matrix makes the issue sharper. If there are fewer independent eigenvectors than dimensions, no eigenbasis exists. A Jordan block contributes polynomial factors such as kλk-1 in addition to the exponential λk. Even when |λ| < 1, the polynomial factor can delay decay. In numerical work, a Schur decomposition is often safer because it always exists over the complex numbers and uses an orthonormal basis, though its triangular form does not pretend the modes are independent.
The modal trust audit
Practitioners often jump directly from a plotted spectrum to a story about modes. The missing step is an assurance test for whether the modal coordinates deserve explanatory weight. The following audit is a practitioner synthesis grounded in matrix perturbation and numerical linear algebra.[12][13][14]
The audit does not produce a consciousness score, intelligence score or universal stability certificate. It answers a narrower question: at the declared horizon and perturbation scale, may this eigenstructure be used as the primary explanation of repeated behaviour?
Seven gates before a modal claim
The first gate is operator scope. Specify what state is transformed, whether the same operator is repeated and where any inputs or forcing enter. The second is invariance. For every reported pair, compute a residual such as ‖Av - λv‖/(‖A‖‖v‖). A visually persuasive arrow is not an eigenvector if this residual is large.
The third gate is completeness. Check whether the proposed eigenvectors span the analysed state space. If they do not, use invariant subspaces, Jordan structure or an orthonormal Schur basis rather than pretending each coordinate evolves independently. The fourth is conditioning. The condition number of the eigenvector matrix S estimates how strongly small state or operator errors can distort modal coefficients. There is no universal safe threshold, so report the value alongside the numerical precision and perturbation scale that matter in the application.
The fifth gate is finite-horizon gain. Calculate or bound max₀≤k≤H ‖Ak‖ for the actual decision horizon H. If inputs persist, inspect forced response as well, because a stable unforced system can amplify repeated disturbances. The sixth is perturbation stability. Recompute the spectrum, subspaces and predicted rates after small structured changes to the operator. A mode that changes identity under harmless perturbations is a fragile explanatory object.
The final gate is intervention. Add, remove or vary the state component associated with the proposed mode and test whether the subsequent trajectory changes with the predicted rate and pattern. This step separates a descriptive decomposition from a causal account. Passing all seven gates permits a bounded claim: eigenstructure is the primary explanation for this operator, state region, perturbation scale and horizon. Failing a gate does not invalidate the matrix. It changes the representation and evidence needed next.
The modal trust audit yields a typed conclusion
The audit checks operator scope, eigenpair residual, spectral separation, basis geometry, finite-horizon gain and perturbation stability. Teal cells permit an eigenmode explanation, saffron cells limit it to local or asymptotic use, and coral cells reject it as unsafe.
Executable lab: make the hidden assumptions visible
The browser lab below accepts any real two-by-two matrix, an initial vector and an iteration horizon. It draws the trajectory and reports eigenvalues, spectral radius, non-normality, eigenvector conditioning when a real basis exists, and the largest finite-horizon gain maxk≤H‖Ak‖₂.
The lab encodes three assumptions. The same linear operator is applied at every step. The state has exactly two real coordinates. Floating-point arithmetic is adequate for the selected values. A positive result means the trajectory, modal rates and finite-horizon gain agree well enough to justify an eigenmode account at this scale. A negative result does not prove chaos or nonlinearity. It means the spectrum alone is not a sufficient explanation and should be supplemented by direct simulation, Schur structure, singular-value growth or perturbation analysis.
Interactive eigen-dynamics lab
The interactive lab accepts a real two by two matrix, an initial vector and a horizon. It plots repeated states and reports eigenvalues, spectral radius, eigenbasis conditioning, non-normality, peak finite-horizon gain and the final state.
One mode grows and one decays. The real eigenbasis is well-conditioned, so modal selection is a good explanation for this configured horizon.
How to apply the lab as an experimental protocol
Start with the “Mode selector” preset and vary only the second eigenvalue. Record how the convergence direction changes as the spectral gap closes. Next choose “Rotation-decay” and vary the radius while keeping the angle fixed. Then compare “Markov mixing” with a periodic swap matrix such as [[0,1],[1,0]]. Finally choose “Non-normal transient” and reduce the off-diagonal entry from 4 towards 0 while keeping eigenvalues 0.8 and 0.7.
For each run, save the matrix, starting vector, horizon, diagnostics and qualitative outcome. A mode claim is strengthened when several starting vectors produce rates predicted by the same eigenstructure and small perturbations do not change the conclusion. It is weakened when peak gain, mode identity or convergence direction changes sharply under small authorised changes.
Python reproduction of the modal trust checks
from __future__ import annotations
from dataclasses import dataclass
import numpy as np
@dataclass(frozen=True)
class ModalAudit:
eigenvalues: np.ndarray
spectral_radius: float
eigenbasis_condition: float | None
nonnormality: float
peak_gain: float
peak_step: int
final_state: np.ndarray
def spectral_norm(matrix: np.ndarray) -> float:
return float(np.linalg.svd(matrix, compute_uv=False)[0])
def audit_matrix(
matrix: np.ndarray,
initial_state: np.ndarray,
horizon: int = 20,
) -> ModalAudit:
matrix = np.asarray(matrix, dtype=float)
state = np.asarray(initial_state, dtype=float)
if matrix.shape != (2, 2):
raise ValueError("This minimal lab expects a 2x2 matrix.")
if state.shape != (2,):
raise ValueError("The initial state must have two coordinates.")
if horizon < 1:
raise ValueError("The horizon must be positive.")
eigenvalues, eigenvectors = np.linalg.eig(matrix)
spectral_radius = float(np.max(np.abs(eigenvalues)))
rank = np.linalg.matrix_rank(eigenvectors)
condition = None if rank < 2 else float(np.linalg.cond(eigenvectors))
commutator = matrix.T @ matrix - matrix @ matrix.T
denominator = max(np.linalg.norm(matrix, "fro") ** 2, 1e-15)
nonnormality = float(np.linalg.norm(commutator, "fro") / denominator)
power = np.eye(2)
gains: list[float] = []
for _ in range(horizon + 1):
gains.append(spectral_norm(power))
power = matrix @ power
peak_step = int(np.argmax(gains))
final_state = np.linalg.matrix_power(matrix, horizon) @ state
return ModalAudit(
eigenvalues=eigenvalues,
spectral_radius=spectral_radius,
eigenbasis_condition=condition,
nonnormality=nonnormality,
peak_gain=float(gains[peak_step]),
peak_step=peak_step,
final_state=final_state,
)
if __name__ == "__main__":
normal = np.diag([0.8, 0.7])
nonnormal = np.array([[0.8, 4.0], [0.0, 0.7]])
for name, matrix in [("normal", normal), ("nonnormal", nonnormal)]:
result = audit_matrix(matrix, np.array([0.0, 1.0]), horizon=15)
print(name, result)
The script tests the same synthetic assumptions as the browser lab. A low condition number and modest finite-horizon gain support a modal explanation. A large condition number, defective basis or transient gain much larger than the asymptotic expectation requires a qualified or alternative analysis. It cannot establish causality in an observed nonlinear system because it audits only the supplied matrix.
sequenceDiagram participant Q as Question participant M as Mechanism participant E as Evidence participant D as Decision Q->>M: Opening case M->>E: A matrix is an action with coordinates attached E-->>M: compare rival explanations E->>D: Trust a stable mode only when it stays stable D-->>Q: revise scope or act
Trust a stable mode only when it stays stable
When confronted with a matrix, many people ask for its eigenvalues first. That is often the wrong first decision. Ask instead what is being repeated, over which states, for how long and under what disturbances. Only then does the spectrum acquire an operational meaning.
If the operator is fixed, diagonalizable, well-conditioned and tested at the relevant horizon, eigenvectors provide a powerful explanatory basis. They reveal invariant patterns, eigenvalues reveal rates, and matrix powers reveal selection. In that regime, replacing direct step-by-step calculation with modal reasoning is more than elegant. It exposes which parts of an initial condition persist and why.
If the matrix is non-normal, defective, highly sensitive or only a local Jacobian, the decision changes. Do not discard eigenvalues, but narrow their claim. Use them for asymptotic rates or local hypotheses. Pair them with direct finite-horizon simulation, eigenvector conditioning, singular-value gain, Schur form and perturbation tests. In a learned system, check whether the same mode survives across seeds, states and small weight changes before naming it as a mechanism.
A useful triage has three questions. Can the current state be decomposed into stable invariant components without extreme cancellation? Do those components predict the largest excursion before the decision deadline? Does the interpretation survive a perturbation comparable to measurement, estimation or training variation? A “yes” to only the first question supports algebraic description, not operational assurance. A “yes” to all three supports a modal decision rule.
The deepest shift is from treating eigenvectors as special arrows to treating them as a test of decomposability. They ask whether repeated behaviour can be separated into patterns that carry their own rates. When the answer is yes, a complicated transformation becomes a set of independent scalar stories. When the answer is no, the failure itself is informative: interaction among directions is part of the mechanism and must not be erased by a tidy spectrum.
That is the practical consequence of eigenstructure. It tells you not only what may remain stable under repetition, but also when the very idea of a stable mode deserves trust.
Glossary
- Basis
- A set of independent vectors from which every state in the space can be constructed uniquely.
- Diagonalizable
- A matrix with enough independent eigenvectors to form a basis, allowing A = SΛS-1.
- Eigenvalue
- The scalar λ by which a transformation scales an eigenvector.
- Eigenvector
- A non-zero vector whose direction is preserved by the transformation, satisfying Av = λv.
- Invariant subspace
- A set of vectors that the transformation maps back into the same subspace.
- Non-normal matrix
- A matrix that does not commute with its transpose or conjugate transpose. Its eigenvectors need not be orthogonal, and transient growth can be large.
- Pseudospectrum
- A map of where eigenvalues can move under small perturbations, equivalently related to large resolvent response. It exposes spectral sensitivity.
- Schur form
- An orthonormal change of basis that makes a matrix upper triangular. It always exists over the complex numbers and avoids requiring a full eigenbasis.
- Spectral radius
- The largest eigenvalue magnitude, ρ(A) = maxᵢ|λᵢ|.
- Transient growth
- Finite-horizon amplification that occurs before eventual asymptotic decay or growth becomes dominant.
References
- Strang, G. “Lecture 21: Eigenvalues and eigenvectors.” MIT OpenCourseWare, 18.06SC Linear Algebra.
- Strang, G. “Lecture 22: Diagonalization and powers of A.” MIT OpenCourseWare, 18.06SC Linear Algebra.
- Lehoucq, R. B., Sorensen, D. C., and Yang, C. “Convergence properties.” ARPACK Users’ Guide / Templates for the Solution of Algebraic Eigenvalue Problems, Netlib.
- Gautam, S. “Markov chains: The stationary distribution.” Carnegie Mellon University course notes.
- Brin, S., and Page, L. (1998). “The anatomy of a large-scale hypertextual Web search engine.” Computer Networks and ISDN Systems, 30, 107-117.
- Schmid, P. J. (2010). “Dynamic mode decomposition of numerical and experimental data.” Journal of Fluid Mechanics, 656, 5-28.
- Arjovsky, M., Shah, A., and Bengio, Y. (2016). “Unitary evolution recurrent neural networks.” Proceedings of Machine Learning Research, 48, 1120-1128.
- Bai, S., Kolter, J. Z., and Koltun, V. (2019). “Deep equilibrium models.” Advances in Neural Information Processing Systems, 32.
- Bai, S., Koltun, V., and Kolter, Z. (2021). “Stabilizing equilibrium models by Jacobian regularization.” Proceedings of Machine Learning Research, 139, 554-565.
- Trefethen, L. N. (1997). “Pseudospectra of linear operators.” SIAM Review, 39(3), 383-406.
- Trefethen, L. N., Trefethen, A. E., Reddy, S. C., and Driscoll, T. A. (1993). “Hydrodynamic stability without eigenvalues.” Science, 261(5121), 578-584.
- Horn, R. A., and Johnson, C. R. (2012). Matrix Analysis, second edition. Cambridge University Press.
- Golub, G. H., and Van Loan, C. F. (2013). Matrix Computations, fourth edition. Johns Hopkins University Press.
- Trefethen, L. N., and Embree, M. (2005). Spectra and Pseudospectra: The Behavior of Nonnormal Matrices and Operators. Princeton University Press.