a linear system of ODEs
Among all systems of differential equations, a special, beautifully behaved family stands out — the linear ones. These are the systems for which a complete, exact theory exists: you can describe every solution, predict the long-run behaviour, and reuse the entire toolkit of matrices and eigenvalues. Most realistic models are not linear, but they are studied by comparing them to linear ones, so this is the foundation everything else rests on.
A first-order system x' = f(t, x) is linear when each f_i is a linear combination of the unknowns plus a term free of them: f_i = a_{i1}(t) x1 + ... + a_{in}(t) xn + g_i(t). No unknown is squared, multiplied by another unknown, or buried inside a sine or exponential. Collecting the coefficients, the whole system is exactly x' = A(t) x + g(t), with A(t) the matrix of coefficient functions and g(t) the input vector. When the entries of A do not depend on t the system is called constant-coefficient — the case the eigenvalue method solves completely. When g(t) = 0 the system is homogeneous; otherwise it is nonhomogeneous (or forced).
Linearity is what makes the principle of superposition hold: scale a solution and it is still a solution, add two homogeneous solutions and you get a third. From that one fact follows the whole structure — a fundamental set of solutions, a solution space of the right dimension, a clean split of the forced problem into homogeneous-plus-particular. Recognising that a system is linear immediately tells you which powerful machinery applies.
x1' = -x1 + 2 x2, x2' = 3 x1 - 4 x2 + e^t is linear: every unknown appears to the first power, the e^t sits in g(t). But x1' = x1 x2, x2' = x1^2 is nonlinear — it has a product of unknowns and a square.
Linearity is judged by how the unknowns appear, not by the coefficient functions a_{ij}(t), which may be any functions of t.
A common slip is to call a system linear because it 'looks simple'. The test is strict: no products or nonlinear functions of the unknowns. Time-varying coefficients a_{ij}(t) are still perfectly linear.