对称半正定矩阵顺序主子式的广义逆求解问询
对称半正定矩阵顺序主子式的广义逆求解问询
嘿,我来给你梳理下这个问题的可行思路,刚好之前做过类似的半正定矩阵广义逆的递推计算:
首先先明确几个关键前提,避免走偏:
- 每个$\Sigma_k$都是对称半正定的,所以它们的Moore-Penrose广义逆$\Sigma_k^+$是唯一存在的,这一点你已经提到了
- 要批量计算所有$\Sigma_k^+$,最省心的方式是用分块矩阵的广义逆递推公式,毕竟顺序主子式本身就是嵌套的分块结构,递推计算比逐个单独求解高效太多
接下来给你具体的递推思路:
假设我们已经算出了$\Sigma_{k-1}+$,现在要计算$\Sigma_k+$。把$\Sigma_k$写成标准分块形式:
$$
\Sigma_k = \begin{pmatrix}
\Sigma_{k-1} & \mathbf{a} \
\mathbf{a}^T & b
\end{pmatrix}
$$
其中$\mathbf{a}$是$(k-1)\times1$的列向量,$b$是标量。
分块半正定矩阵的广义逆有成熟的递推公式,这里分两种常见情况讨论:
- 如果$\Sigma_{k-1}$是正定的(满秩):
这个时候可以直接用正定分块矩阵的逆递推公式,把普通逆替换成广义逆即可,公式是:
$$
\Sigma_k^+ = \begin{pmatrix}
\Sigma_{k-1}^+ + \Sigma_{k-1}^+ \mathbf{a} c^+ \mathbf{a}^T \Sigma_{k-1}^+ & -\Sigma_{k-1}^+ \mathbf{a} c^+ \
-c^+ \mathbf{a}^T \Sigma_{k-1}^+ & c^+
\end{pmatrix}
$$
这里$c = b - \mathbf{a}^T \Sigma_{k-1}^+ \mathbf{a}$,当$c\neq0$时$c+$就是$1/c$,当$c=0$时$c+=0$(因为0的Moore-Penrose广义逆就是0) - 如果$\Sigma_{k-1}$是降秩的半正定矩阵:
先对$\Sigma_{k-1}$做谱分解,分解为$\Sigma_{k-1} = U D UT$,其中$U$是正交矩阵,$D$是对角矩阵(对角元为非负特征值),那么$\Sigma_{k-1}+ = U D^+ UT$($D+$就是把$D$里的正特征值取倒数,0元素保持0)。之后再代入上面的分块广义逆公式,完全适用。
另外还有个实用小技巧:所有$\Sigma_k$的秩是单调不减的(半正定矩阵的顺序主子式秩满足这个性质),所以你计算时可以跟踪秩的变化——当某个$\Sigma_k$满秩之后,后面的$\Sigma_{k+1},...,\Sigma_n$的广义逆计算可以直接用正定分块的递推公式,速度会快很多。
最后再提个验证小建议:因为是广义逆,计算完成后最好抽几个$\Sigma_k^+$验证是否满足Moore-Penrose的四个定义条件,避免分块计算时的秩判断失误出问题。
备注:内容来源于stack exchange,提问作者Quertiopler
相关产品推荐
相关产品推荐

