一步一步建立直观
先预测,再点“演示本步”核对右图。每一步都重设到指定情形,随后可以自由修改参数。
01让矩阵成为局部速度的生成规则
对线性系统 ,矩阵把当前位置变成速度,而不是直接把当前位置变成下一时刻的位置。右图用旋转生成矩阵演示这一点:小箭头是 ,整段时间后的状态则由 给出。二者一个是瞬时规则,一个是累计演化。
02从很小的时间步想象指数
很短时间内,可以用 近似新位置;不断缩小时间步并重复作用,便引出矩阵指数。加入负的径向项时,每步既旋转又收缩。本图使用这一特殊矩阵的精确闭式解,避免把数值步长造成的误差误认成方程本身的性质。
03特征方向解释增长,不能包办所有矩阵
把径向项改正,模长随时间增长。当前矩阵由伸缩与平面旋转组成,结构特别简单;一般矩阵可能有剪切、不可对角化等情况,需要利用级数、分块或其他方法。本节 Lean 示例也只覆盖正文声明的具体矩阵恒等式,不证明全部谱理论。
4.9.1 把比例增长推广成向量之间的耦合¶
标量方程 用指数描述。若状态包含多个分量,每个分量的速度都由全部当前分量的线性组合决定,就得到 。需要寻找一个随时间变化的矩阵,把初值送到后续状态,矩阵指数承担这个任务。
把标量指数的幂级数中数字 换成矩阵 ,得到 。它不是对每个元素单独取指数,因为矩阵乘法描述分量间反复耦合, 保留了这种传递结构。
4.9.2 从能截断的例子建立信心¶
取 ,对应方程 。第二分量固定,第一分量以固定速度移动,所以解应是 。由于 ,指数级数恰好截断为 ,给出同一结果。
先演化 再演化 ,等于演化 。在本例中展开乘积,额外的 为零,便直接验证了这个性质。它表达的是同一个自治系统连续运行的时间相加。
但不同矩阵代表不同耦合规则,通常不能把 拆成 ,除非有相应交换条件。与矩阵乘法一样,动作顺序不可随意忽略。这个简单系统是入口,一般矩阵指数仍需要级数收敛和求导的分析基础。
与本图相连的定义与证明:4.1 · 长度平方的增长只由径向项控制。本节的具体条件与形式化范围见下文。
数学表述 4.9.1¶
标量指数把“按当前大小增长”变成演化;矩阵指数把“速度由当前向量线性决定”变成多维演化。
,线性系统 的解为 。若 ,级数截断为 。
例 4.9.1 把概念用于具体计算
满足 ,所以 。初值 演化为 。
练习 4.9.1¶
为什么上例先演化 再演化 等于演化 ?
展开解答与检查
,因为 。
Lean 对照 4.9.1 命题、证明与适用边界
完整证明平方零矩阵的上述半群恒等式;矩阵指数级数的收敛与求导由正文解释,未包含于此定理。
DifferentialEquations.nilpotent_exponential_add
theorem nilpotent_exponential_add (A : Matrix (Fin 2) (Fin 2) ℝ)
(hA : A*A=0) (s t : ℝ) :
(1+s • A)*(1+t • A)=1+(s+t) • A := by
simp [add_mul, mul_add, Matrix.smul_mul, Matrix.mul_smul, hA, add_smul]
abel