矩阵分析与应用(10)

学习来源:《矩阵分析与应用》张贤达 清华大学出版社

Moore-Penrose 逆矩阵的计算

1. 方程求解法

第一步:分别求解矩阵方程

AA^HX^H=A

A^HAY=A^H

得到 X^H 和 Y 。

第二步:计算广义逆矩阵 A^\dagger =XAY 。

        若矩阵 A 为 Hermitian 矩阵,则上述方程可以简化为

A^2X^H=A

A 的广义逆矩阵 A^\dagger =XAX^H 。由此,可以得到两种算法:

算法一:

        1)计算矩阵 B=AA^H 。

        2)解矩阵方程 B^2X^H=B 得到矩阵 X^H 。

        3)计算 B 的 Moore-Penrose 逆矩阵 B^\dagger=(AA^H)^\dagger=XBX^H 。

        4)计算矩阵 A 的 Moore-Penrose 逆矩阵 A^\dagger=A^H(AA^H)^\dagger=A^HB^\dagger 。

算法二:

        1)计算矩阵 B=A^HA 。

        2)解矩阵方程 B^2X^H=B 得到矩阵 X^H 。

        3)计算 B 的 Moore-Penrose 逆矩阵 B^\dagger=(A^HA)^\dagger=XBX^H 。

        4)计算矩阵 A 的 Moore-Penrose 逆矩阵 A^\dagger=(A^HA)^\dagger A^H=B^\dagger A^H 。

若矩阵 A_{m\times n} 的列数大于行数,则矩阵乘积 AA^H 的维数比 A^HA 的维数小,所以选择算法一;反之,选择算法二。

2. KL分解法

        在矩阵满秩分解中提到了 Moore-Penrose 逆矩阵的一种方法。若 A=KL 是矩阵 A_{m\times n} 的满秩分解,则

G=L^H(K^HAL^H)^{-1}K^H

满足 Moore-Penrose 逆矩阵的四个条件,所以 G 是 A_{m\times n} 的 Moore-Penrose 逆矩阵。

3. 递推法

        对矩阵 A_{m\times n} 的前 k 列进行分块 A_k=\left [ A_{k-1},a_k \right ] ,其中 a_k 是矩阵 A 的第 k 列。因此,分块矩阵 A_k 的 Moore-Penrose 逆矩阵 A_k^\dagger 可以由 A_{k-1}^\dagger 递推计算。

算法:

初始值: A_1^\dagger=a_1^\dagger=(a_1^Ha_1)^{-1}a_1^H 。

递推: 令 k=2,3,\cdots ,n ,有

d_k=A_{k-1}^\dagger a_k

b_k=\left\{\begin{matrix} (1+d_k^Hd_k)^{-1}d_k^HA_{k-1}^\dagger , & \quad d_k^Hd_k\neq -1\\ (a_k-A_{k-1d_k}), &\quad d_k^Hd_k=-1 \end{matrix}\right.

A_k^\dagger =\begin{bmatrix} A_{k-1}^\dagger -d_kb_k\\ b_k \end{bmatrix}

4. 迹方法

已知矩阵 A_{m\times n} 的秩为 r ,求 Moore-Penrose 逆矩阵的迹方法为:

        1)计算 B=AA^T 。

        2)令 C_1=I 。

        3)计算 

C_{i+1}=\frac{1}{i}tr(C_iB)I-C_iB_i,\quad i=1,2,\cdots ,r-1

        4)计算

A^\dagger=\frac{r}{tr(C_iB)}C_iA^T

其中 C_{i+1}B=O ,且 tr(C_iB)\neq 0 。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值