形式陈述
标量微分常写 f ( a + e ) = f ( a ) + f ′ ( a ) e + O ( e 2 ) 。把 a , e 换成矩阵时,它们一般不交换,乘法顺序会改变答案。怎样计算 矩阵函数 公理库 主矩阵函数与 Hermite 插值 Primary matrix function · Matrix function by Hermite interpolation 用极小多项式规定所需的函数值与导数,经 Hermite 插值定义一般方阵的函数,并区分 primary 与 principal 两种不同的分支要求。 真正的一阶变化?
设 f 在 A ∈ C n × n 的谱邻域解析。其 Fréchet 导数 是关于矩阵 E 线性的映射 L f ( A , E ) ,满足
f ( A + E ) = f ( A ) + L f ( A , E ) + o ( ‖ E ‖ ) , E → 0. 这是一般Fréchet 可微性 公理库 Fréchet 可微性 Differentiability · Fréchet differentiability 赋范空间之间的映射在一点能被单一有界线性主部一致逼近的性质。 在矩阵空间上的应用。解析条件进一步使局部余项为 O ( ‖ E ‖ 2 ) 。导数的输入是一整块方向矩阵,输出也是矩阵;它不是把 f ′ 作用在 A 后简单右乘 E 。
对 f ( z ) = z k ,逐项展开一阶项得
L f ( A , E ) = ∑ j = 0 k − 1 A j E A k − 1 − j . 特别地,平方映射的导数是 A E + E A ,只有在 A E = E A 时才能合并成 2 A E 。
用一个块矩阵同时装入函数与导数
解析矩阵函数满足
f ( ( A E 0 A ) ) = ( f ( A ) L f ( A , E ) 0 f ( A ) ) . 对多项式,这直接来自块矩阵幂的右上块。对解析函数,可在包住谱的围道上使用解析函数演算:块 resolvent 的右上块是 ( z I − A ) − 1 E ( z I − A ) − 1 ,积分后恰给出一阶导数。因此恒等式不限于在原点有收敛幂级数的函数。
这个恒等式既是数学表达,也是核验方向导数的办法。大型问题通常不显式形成 2 n 阶矩阵,而使用函数专属的导数算法。
绝对和相对条件数
选定矩阵范数 公理库 矩阵范数与诱导算子范数 Matrix norm · Induced matrix norm · Operator norm of a matrix 用诱导范数和常用可计算矩阵范数度量线性映射的放大能力,并区分算子范数、Frobenius 范数与谱半径。 后,绝对条件数为
κ a b s ( f , A ) = ‖ L f ( A ) ‖ = max E ≠ 0 ‖ L f ( A , E ) ‖ ‖ E ‖ . 当 ‖ A ‖ ≠ 0 且 ‖ f ( A ) ‖ ≠ 0 时,相对条件数为
κ r e l ( f , A ) = ‖ L f ( A ) ‖ ‖ A ‖ ‖ f ( A ) ‖ . 若某个分母为零,应改报绝对或混合尺度的敏感性,而不把上式硬赋予通常的相对误差含义。
直觉
在 A k 的一阶变化中,扰动 E 可以占据 k 个因子位置中的任意一个。其左边、右边保留不同数量的 A 。标量乘法可以交换,所有位置给出同一项;矩阵乘法不能交换,这些位置必须分别保留。
对指数,有更紧凑的连续表达:
L exp ( A , E ) = ∫ 0 1 e ( 1 − s ) A E e s A d s . 扰动在演化的不同时间进入,再由左右两段传播。若 A 与 E 交换,才可以把被积式化成 e A E 。
图片加载失败 图中上下两个非对角方向得到相同的差商,而直接左乘 e A 会给它们不同的系数。这是一次足以看出非交换性的两维试验。
例子与边界
两个非对角位置都等于 e − 1
取
A = ( 0 0 0 1 ) , E = ( 0 1 1 0 ) . 积分的 ( 1 , 2 ) 元为 ∫ 0 1 e s d s = e − 1 ;( 2 , 1 ) 元为 ∫ 0 1 e 1 − s d s = e − 1 。故
L exp ( A , E ) = ( 0 e − 1 e − 1 0 ) . 而 e A E = ( 0 1 e 0 ) ,两个非对角元素都错。把 A , E 放进上面的 4 × 4 块指数,右上块恰能再次验证这个结果。
一般地,对对角矩阵 A = diag ( λ i ) ,有
[ L f ( A , E ) ] i j = f [ λ i , λ j ] E i j , f [ λ i , λ j ] = { f ( λ i ) − f ( λ j ) λ i − λ j , λ i ≠ λ j , f ′ ( λ i ) , λ i = λ j . 重复特征值对应差商的连续极限,导数再次出现。数值上,两特征值很近时也不应直接相减再除以一个很小的数。
对上述指数例,四个 Frobenius 正交坐标方向上的增益分别是 1 , e − 1 , e − 1 , e ,所以 ‖ L exp ( A ) ‖ F → F = e ,相对条件数为 e / 1 + e 2 。这个数描述所有单位扰动方向中的最坏增益,不只描述我们挑出的非对角 E 。
平方根的导数化为矩阵方程
设 S = A 1 / 2 为主平方根,其谱实部为正。对 S 2 = A 求一阶变化,得到
S L + L S = E . 这是系数对 ( S , − S ) 的 Sylvester 方程 公理库 Sylvester 方程与谱分离 Sylvester equation 刻画 AX−XB=C 对所有右端唯一可解的充要条件,并用非正规矩阵说明特征值间距不能代替 sep 敏感性。 。两谱位于不同的开半平面,故 L 唯一。若 S = diag ( 2 , 3 ) ,则
L = ( E 11 / 4 E 12 / 5 E 21 / 5 E 22 / 6 ) . 标量公式 E / ( 2 A ) 若按单侧矩阵乘法解释,会把非对角除数错误地写成 4 或 6 ,而正确值是左右两个根之和 5 。
有限差分是核验工具,步长要有尺度
中心差分 [ f ( A + h E ) − f ( A − h E ) ] / ( 2 h ) 在精确运算下具有二阶截断误差。但浮点中两次函数值相减会放大求值误差,h 过小反而不准确。可用一组递减步长观察二阶区间,再与块恒等式或 Sylvester 解交叉核验,不能以某一个极小步长的结果充当真值。
推论与应用
导数把两类问题连在一起。一方面,它给灵敏度和梯度提供数学目标;另一方面,它解释数值结果为何可能有小后向误差却较大的前向误差:输入误差经过 L f ( A ) 放大。
对一个特定实现做自动微分,得到的是该实现计算路径的导数近似。它是否准确代表 L f ( A , E ) ,还取决于原算法的稳定性、分支判定和停止规则。块恒等式提供独立核验入口,Sylvester 求解 公理库 Bartels–Stewart 矩阵方程算法 Bartels–Stewart algorithm 用 Schur 变换、从左下开始的块回代及坐标恢复求解矩阵方程,明确实二阶块、缩放输出、执行不变量和立方级成本。 则使平方根等函数的导数无需重新解整个非线性问题。
参考资料
Nicholas J. Higham and Lijing Lin, Matrix Functions: A Short Course , 2013, §3.3:Fréchet 导数、块恒等式和条件数。作者版本
Nicholas J. Higham, “What Is a Fréchet Derivative?”, 2020:非交换幂级数导数、指数积分与条件数。作者文章