matrix_ode.txt (2365B)
1 ========================================================================== 2 Systems of ODEs written as a matrix product 3 ========================================================================== 4 5 It's shorthand. Nothing more. 6 7 Say you're tracking two things that affect each other — rabbits and foxes, 8 or two temperatures, whatever. How fast each one changes depends on both 9 current values: 10 11 rate of change of x = 2x + 1y 12 rate of change of y = -1x + 3y 13 14 That's it. That's the actual system. Now look at just the numbers, pulled 15 out of those two lines: 16 17 2 1 18 -1 3 19 20 Writing x' = Ax means exactly the same thing as those two lines above. 21 A is that grid of numbers, and the "multiplication" is the rule that puts 22 them back together: take a row, pair it up with the variables, multiply 23 and add. 24 25 So the "multiplication" is just the recipe for turning that grid back into 26 the equations. Slide across a row, multiply each number by its matching 27 variable, add them up. That's the whole operation. 28 29 -------------------------------------------------------------------------- 30 31 Why anyone bothers 32 33 Two reasons. 34 35 It's compact. With 2 variables, writing it out is fine. With 50, it's 36 unbearable. x' = Ax stays the same length no matter how many variables 37 you have. 38 39 It unlocks tools. Once it's a matrix, you can ask questions of A itself — 40 questions you can't easily ask of a pile of equations. The big one: will 41 this system settle down or blow up? There's a standard calculation on 42 A (finding its eigenvalues) that answers this without ever solving for 43 x and y. That's the real payoff. 44 45 Concrete numbers, to make sure it's landed 46 47 Say right now x = 5 and y = 2. Feed them in: 48 49 x' = 2(5) + 1(2) = 12 — so x is currently climbing at 12 units per second 50 y' = -1(5) + 3(2) = 1 — y is barely moving 51 52 Notice y' came out small because the −1 and the +3 nearly cancelled. 53 That's the coupling doing its thing: x is dragging y down while y 54 pushes itself up. 55 56 -------------------------------------------------------------------------- 57 58 The one-sentence version 59 60 A matrix is a table of "how much does each variable affect each rate", 61 and matrix multiplication is the lookup procedure that reads the table. 62 63 Does that land better? If so, I can go one step further into the 64 eigenvalue part — which is where it actually starts being useful rather 65 than just tidy.