线性代数03.矩阵的乘法和逆

本篇为MIT公开课——线性代数 笔记。

矩阵乘法的运算规则

1.行乘列

乘法一般性法则:行乘列得到一个数

假设有两个矩阵 (A、B) ,并且我们让 (A*B=C), 可以求得矩阵 (C)(i)(j) 列元素:

[C_{ ext{ij}}=( ext{row$\_$i} ext{at} A) ( ext{column$\_$j} ext{at} B) ]

即矩阵 (A)(i) 行点乘以矩阵 (B) 中的 (j) 列,就是矩阵 (C)(i)(j) 列的元素。

注意是 “行*列”。

例如

[A=left( egin{array}{cccc} square & square & square & square \ square & square & square & square \ a_{31} & a_{32} & a_{33} & cdots \ square & square & square & square \ square & square & square & square \ end{array} ight) ]

[B=left( egin{array}{ccccc} square & square & square & b_{14} & square \ square & square & square & b_{24} & square \ square & square & square & b_{34} & square \ square & square & square & cdots & square \ end{array} ight) ]

则 矩阵 (C) 中 第3行4列元素为:

[egin{align} C_{34}&=a_{31} b_{14}+a_{32} b_{24}+a_{33} b_{34}+cdots ext{}+a_{3 n} b_{ ext{n4}}\&=sum _{k=1}^n a_{3 k} b_{ ext{k4}} end{align} ]

前提条件是矩阵 (A) 的总列数 必须和矩阵 (B) 中的总行数相等。

假设矩阵 (A)(m*n) 矩阵,矩阵 (B)(n*p) 矩阵, 那么 矩阵 (C=A*B), 矩阵 (C)(m*p) 矩阵。

其实很好理解,原来 矩阵(A) 的一行与矩阵 (B) 的一列的点乘,可以得到矩阵(C) 中的一个元素,那么 (m) 行乘以 (p) 列就可以得到 (m*p) 个元素,所以矩阵 (C)(m*p) 矩阵。

2.矩阵列的线性组合

举例:

[left( egin{array}{ccc} square & square & cdots \ square & square & cdots \ cdots & cdots & cdots \ end{array} ight) left( egin{array}{ccc} square & square & cdots \ square & square & cdots \ cdots & cdots & cdots \ end{array} ight)=left( egin{array}{ccc} square & square & cdots \ square & square & cdots \ cdots & cdots & cdots \ end{array} ight) ]

[A*B=C ]

矩阵 (A) 的所有列乘以 (B) 的列1得到矩阵 (C) 的列1,矩阵 (A) 乘以 (B) 的列2得到矩阵 (C) 的列2....

将矩阵乘法考虑为矩阵乘以向量,矩阵 (B) 可以看成 p 个单独的列向量,只是这里排在一起。用矩阵 (A) 乘以每个列向量,相应得到 矩阵 (C) 的各列。

矩阵 (C) 中的各列,是矩阵 (A) 中各列的线性组合,矩阵 (B) 表示是怎么样的线性组合。

3.矩阵行的线性组合

[left( egin{array}{ccc} square & square & cdots \ square & square & cdots \ cdots & cdots & cdots \ end{array} ight) left( egin{array}{ccc} square & square & cdots \ square & square & cdots \ cdots & cdots & cdots \ end{array} ight)=left( egin{array}{ccc} square & square & cdots \ square & square & cdots \ cdots & cdots & cdots \ end{array} ight) ]

[A*B=C ]

同样的例子,我们从矩阵行的角度看,可以看成矩阵 (A) 的每一行乘以矩阵 (B) 所有行,可以得到相应矩阵(C) 的每一行。

比如矩阵 (A) 的第一行乘以矩阵(B) 的所有行,可以得到矩阵 C的第一行。

矩阵 (C) 中的各行,是矩阵 (B) 中各行的线性组合,矩阵 (A) 表示是怎么样的线性组合。

4.列乘行

如果用矩阵 (A) 一列乘以矩阵 (B) 的一行,将得到一个完整的矩阵。

例如:矩阵 (A)(m*1) ,矩阵(B)(1*p)

[left( egin{array}{c} 2 \ 3 \ 4 \ end{array} ight) left( egin{array}{cc} 1 & 6 \ end{array} ight)=left( egin{array}{cc} 2 & 12 \ 3 & 18 \ 4 & 24 \ end{array} ight) ]

延申

[left( egin{array}{cc} 2 & 7 \ 3 & 8 \ 4 & 9 \ end{array} ight) left( egin{array}{cc} 1 & 6 \ 0 & 0 \ end{array} ight)=left( egin{array}{c} 2 \ 3 \ 4 \ end{array} ight)left( egin{array}{cc} 1 & 6 \ end{array} ight) +left( egin{array}{c} 7 \ 8 \ 9 \ end{array} ight)left( egin{array}{cc} 0 & 0 \ end{array} ight) ]

列一乘以行一,列二乘以行二,然后相加。

5.分块乘法

我们还可以将矩阵切割成块,对块进行乘法。

例如:我们将方阵 (A) 切割成4份,方阵 (B) 切割成 4份。

[left( egin{array}{cc} A_1 & A_2 \ A_3 & A_4 \ end{array} ight).left( egin{array}{cc} B_1 & B_2 \ B_3 & B_4 \ end{array} ight)=left( egin{array}{cc} A_1 B_1+A_2 B_3 & cdots \ cdots & cdots \ end{array} ight) ]

逆矩阵

矩阵的逆,不一定存在。

假设矩阵 (A) 可逆,那么存在一个逆矩阵,我们记为 (A^{-1}),使得

[A^{-1}*A=I ]

(I) 是单位矩阵。

注意这里只是左乘,如果 (A) 是方阵,就存在左乘等于右乘,即

[A^{-1}*A=A*A^{-1}=I ]

但如果是非方阵,左乘就不等于右乘。

逆不存在的情况

举例:

[left( egin{array}{cc} 1 & 3 \ 2 & 6 \ end{array} ight) ]

理由阐述可以从以下不同角度:

1)这个矩阵由于列向量在同一条直线上,所以他们的线性组合被限定在这条直线上,不存在某个逆矩阵,使得他们相乘后结果为单位矩阵。

2)从行列式角度,取行列式结果为0(后面学)

3)假设存在某个非零矩阵 (X) ,使得

[A*X=0 ]

那么 (A) 就没有逆矩阵。

这个例子中,我们就可以找到一个 (X) ,如

[left( egin{array}{cc} 1 & 3 \ 2 & 6 \ end{array} ight) left( egin{array}{c} 3 \ -1 \ end{array} ight)=left( egin{array}{c} 0 \ 0 \ end{array} ight) ]

我们可以用反证法证明:假设 (A) 存在逆矩阵,那么存在

[A^{-1}*A=I ]

[A^{-1}*A*X=0 ]

[X=0 ]

很明显,和前面 (X) 是非0矩阵矛盾。

结论:不可逆矩阵的列能通过线性组合得到0.

回归逆存在情况

再假设一个可逆矩阵 (A),使得

[left( egin{array}{cc} 1 & 3 \ 2 & 7 \ end{array} ight) left( egin{array}{cc} a & c \ b & d \ end{array} ight)=left( egin{array}{cc} 1 & 0 \ 0 & 1 \ end{array} ight) ]

看成列的线性组合,就是求解两个线性方程组,

求解我们可以用“高斯-若尔当”,它能同时处理两个方程组

[left( egin{array}{cc} 1 & 3 \ 2 & 7 \ end{array} ight) left( egin{array}{c} a \ b \ end{array} ight)=left( egin{array}{c} 1 \ 0 \ end{array} ight)\ left( egin{array}{cc} 1 & 3 \ 2 & 7 \ end{array} ight) left( egin{array}{c} c \ d \ end{array} ight)=left( egin{array}{c} 0 \ 1 \ end{array} ight) ]

利用“高斯-若尔当”思想一起计算,同时考虑系数矩阵和两个右侧向量,写出增广矩阵,然后对其消元

[left( egin{array}{cccc} 1 & 3 & 1 & 0 \ 2 & 7 & 0 & 1 \ end{array} ight) ightarrow left( egin{array}{cccc} 1 & 3 & 1 & 0 \ 0 & 1 & -2 & 1 \ end{array} ight) ightarrow left( egin{array}{cccc} 1 & 0 & 7 & -3 \ 0 & 1 & -2 & 1 \ end{array} ight) ]

第二步就是我们前面学过的高斯消元,即“向下消元”

而第三步是若尔当消元,即“向上消元”,主元是第二行第二个元素“1”.

这里我们就求出我们要的 (A) 的逆矩阵为:

[left( egin{array}{cc} 7 & -3 \ -2 & 1 \ end{array} ight) ]

因为:

[E*left[ egin{array}{cc} A & I \ end{array} ight]=[I quad E]=left[Iquad A^{-1} ight] ]

(E) 表示我们引入的总的消元矩阵,最左边就表示对增广矩阵消元,因为(E*A=I) ,所以(E) 就是(A) 的逆矩阵。

以上就是求逆的方法和过程。

原文地址:https://www.cnblogs.com/ckk-blog/p/13443534.html