2.7 矩阵分块及矩阵乘法的四种方式

2.7 矩阵分块及矩阵乘法的四种方式矩阵分块为了简化矩阵运算或从不同角度看矩阵乘法 把矩阵分成多块 每块是子矩阵 子矩阵可 看作 一个数 只要满足形状要求 就可进行形式上的矩阵运算

大家好,欢迎来到IT知识分享网。

矩阵分块

为了简化矩阵运算或从不同角度看矩阵乘法,把矩阵分成多块,每块是子矩阵,子矩阵可“看作”一个数,只要满足形状要求,就可进行形式上的矩阵运算。

子矩阵和子向量看成一个数,进行形式上的矩阵乘法,上式就是形式上的行向量乘以列向量得内积!

矩阵其它形式的分块运算道理和这个一样,本书不给出证明。特别强调一点,子矩阵只要满足形状要求,就可进行形式上的矩阵运算,但由于矩阵乘法不满足交换律,一定要注意矩阵相乘的顺序,这个特别容易出错,因为我们太习惯实数的代数运算,经常不自觉地交换变量的前后位置,但矩阵不能交换!

矩阵乘法的四种方式

以矩阵分块看待矩阵,矩阵可以看作是列向量的分块, A = [ a 1 , a 2 , ⋯   , a n ] A = \left[ \mathbf{a_1},\mathbf{a_2},\cdots,\mathbf{a_n}\right] A=[a1,a2,,an] ,前面一直是这么看待矩阵,这是最重要的看待方式。矩阵还可以看作是行向量的分块, A = [ a r 1 T a r 2 T ⋮ a r n T ] A = \left[ \begin{matrix} \mathbf{a^T_{r1}} \\ \mathbf{a^T_{r2}} \\ \vdots \\ \mathbf{a^T_{rn}} \end{matrix} \right] A=ar1Tar2TarnT ,这也是一种重要的看待方式。为了区分,行向量下标有字母 r r r 。此时一定要注意, a r i \mathbf{a_{ri}} ari 表示列向量,但不是矩阵 A A A 的列向量,而是矩阵 A A A 的行向量旋转后变换成的列向量。例如
A = [ 0 2 1 3 ] a r 1 T = [ 0 2 ] a r 2 T = [ 1 3 ] a r 1 = [ 0 2 ] a r 2 = [ 1 3 ] A = \left[ \begin{matrix} 0 & 2 \\ 1 & 3 \end{matrix} \right] \quad \mathbf{a^T_{r1}} = \left[0 \quad 2\right] \quad \mathbf{a^T_{r2}} = \left[1 \quad 3\right] \quad \mathbf{a_{r1}} = \left[ \begin{matrix} 0 \\ 2 \end{matrix} \right] \quad \mathbf{a_{r2}} = \left[ \begin{matrix} 1 \\ 3 \end{matrix} \right] \quad A=[0123]ar1T=[02]ar2T=[13]ar1=[02]ar2=[13]
有四种矩阵分块方式进行矩阵相乘。

  1. 最常用的,几何意义最明显的,就是定义矩阵乘法的方式, A B = [ A b 1 , ⋯   , A b p ] AB=\left[ A\mathbf{b_1},\cdots,A\mathbf{b_p}\right] AB=[Ab1,,Abp] ,即把矩阵 A A A 作为整体,矩阵 B B B 看作列向量的分块。积矩阵每列是矩阵 A A A 列向量组的线性组合。
  2. 矩阵 A A A 看作列向量的分块, A = [ a 1 , a 2 , ⋯   , a n ] A = \left[ \mathbf{a_1},\mathbf{a_2},\cdots,\mathbf{a_n}\right] A=[a1,a2,,an] ,矩阵 B B B 看作行向量的分块, B = [ b r 1 T b r 2 T ⋮ b r n T ] B = \left[ \begin{matrix} \mathbf{b^T_{r1}} \\ \mathbf{b^T_{r2}} \\ \vdots \\ \mathbf{b^T_{rn}} \end{matrix} \right] B=br1Tbr2TbrnT ,矩阵相乘就是形式上的内积,得 A B = a 1 b r 1 T + a 2 b r 2 T + ⋯ + a n b r n T AB = \mathbf{a_1}\mathbf{b^T_{r1}}+\mathbf{a_2}\mathbf{b^T_{r2}}+\cdots+\mathbf{a_n\mathbf{b^T_{rn}}} AB=a1br1T+a2br2T++anbrnT ,就是对应列向量与行向量的外积之和。这种看法十分重要,表明积矩阵可以分解为 n n n 个简单矩阵之和。
  3. 矩阵 A A A 看作行向量的分块, A = [ a r 1 T a r 2 T ⋮ a r n T ] A = \left[ \begin{matrix} \mathbf{a^T_{r1}} \\ \mathbf{a^T_{r2}} \\ \vdots \\ \mathbf{a^T_{rn}} \end{matrix} \right] A=ar1Tar2TarnT ,矩阵 B B B 作为整体。 A B = [ a r 1 T a r 2 T ⋮ a r n T ] B = [ a r 1 T B a r 2 T B ⋮ a r n T B ] AB = \left[ \begin{matrix} \mathbf{a^T_{r1}} \\ \mathbf{a^T_{r2}} \\ \vdots \\ \mathbf{a^T_{rn}} \end{matrix} \right] B = \left[ \begin{matrix} \mathbf{a^T_{r1}}B \\ \mathbf{a^T_{r2}}B \\ \vdots \\ \mathbf{a^T_{rn}}B \end{matrix} \right] AB=ar1Tar2TarnTB=ar1TBar2TBarnTB 。积矩阵每行是矩阵 B B B 行向量组的线性组合。
  4. 矩阵 A A A 看作行向量的分块, A = [ a r 1 T a r 2 T ⋮ a r n T ] A = \left[ \begin{matrix} \mathbf{a^T_{r1}} \\ \mathbf{a^T_{r2}} \\ \vdots \\ \mathbf{a^T_{rn}} \end{matrix} \right] A=ar1Tar2TarnT ,矩阵 B B B 看作列向量的分块, B = [ b 1 , b 2 , ⋯   , b n ] B = \left[ \mathbf{b_1},\mathbf{b_2},\cdots,\mathbf{b_n}\right] B=[b1,b2,,bn] ,矩阵相乘就是形式上的外积,得 A B = [ a r 1 T b 1 a r 1 T b 2 ⋯   , a r 1 T b n ⋮ a r n T b 1 a r n T b 2 ⋯   , a r n T b n ] AB = \left[ \begin{matrix} \mathbf{a^T_{r1}}\mathbf{b_1} & \mathbf{a^T_{r1}}\mathbf{b_2} \cdots, \mathbf{a^T_{r1}}\mathbf{b_n}\\ \vdots \\ \mathbf{a^T_{rn}}\mathbf{b_1} & \mathbf{a^T_{rn}}\mathbf{b_2} \cdots, \mathbf{a^T_{rn}}\mathbf{b_n} \end{matrix} \right] AB=ar1Tb1arnTb1ar1Tb2,ar1TbnarnTb2,arnTbn ,这种看法用来计算积矩阵每个位置的数值,即第 i i i 行第 j j j 列的数值是矩阵 A A A 的第 i i i 个行向量与矩阵 B B B 的第 j j j 个列向量的内积。这种看法计算矩阵数值比较方便。国内教材基本采用这种方式定义矩阵乘法,把矩阵看成数的表格,掩盖了几何图像。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/120171.html

(0)
上一篇 2025-10-31 15:10
下一篇 2025-10-31 15:15

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信