6._矩阵乘法_行视角

行视角理解矩阵乘法

引入

想象我们是一家餐厅,使用三种原材料 水、面粉和调料 可以制作四种食物:面条、馒头、糕点和饼

图片{width=500px}

每种食物的配方是不同的,例如如下

10*水+3*面粉+2*调料=面条
5*水+3*面粉+0.5*调料=馒头
7*水+4*面粉+10*调料=糕点
4*水+1.5*面粉+4*调料=饼

单个产品

现在我们先考虑比较简单的情况:我们生成一种食物(面条),但是有两个餐馆,每个餐馆对原料的价格并不相同,即有

[1032][10.35332]=[3116]\left[ \begin{array}{l} 10 & 3 & 2 \end{array} \right] \left[ \begin{array}{l} 1 & 0.3 \\ 5 & 3 \\ 3 & 2 \\ \end{array} \right] = \left[ \begin{array}{l} 31 & 16 \end{array} \right]

我们看一下矩阵乘积的现实意义:有一个产品,并且有2个餐厅(每种原料不同价格不同),矩阵乘法的结果是分别得到两个餐厅的原料价格。

图片

多个产品

如果我们制作不止一个食品,因此把食品从一个变更为四个,毫无疑问矩阵乘积的结果也将变成四行,每行对应一个产品在每个餐厅的成本, 更具体的说,对不同的餐厅而言,三种原料的价格是不同的,第一个餐厅三种原料的价格分别是1,5,3,第二个餐厅三种原料的价格分别是0.3, 3, 2。于是有了下面的等式:

图片

比如我们看 面条在第一个餐厅原料价格就是: 101+35+23=3110*1+3*5+2*3=31 ,面条在第二个餐厅原料价格就是: 100.3+33+22=1610*0.3+3*3+2*2=16 ,馒头在第一个餐厅的成本是21.5,在第二个餐厅成本价格是11.5,以此类推,最终形成了结果矩阵。

我们能够感觉到:上面的计算矩阵的结果是总价,因此是降维的。换句话说,原料消失了变成了食物,比如一个三维空间球体投影到平面上变成了椭圆,这就是维度降低

行视角图解

矩阵左乘行向量,向量对矩阵的行进行线性组合,结果向量位于矩阵的行空间

图片

左侧的向量可以延展为一个由若干行所组成的矩阵,每一行乘以右边的矩阵,得到结果矩阵中的一行。

图片

行视角下的方程组

设有方程

{a11x1+a12x2++a1nxn=b1a21x1+a22x2++a2nxn=b2an1x1+an2x2++annxn=bn\left\{\begin{array}{c} a_{11} x_1+a_{12} x_2+\cdots+a_{1 n} x_n=b_1 \\ a_{21} x_1+a_{22} x_2+\cdots+a_{2 n} x_n=b_2 \\ \cdots \cdots \cdots \\ a_{n 1} x_1+a_{n 2} x_2+\cdots+a_{n n} x_n=b_n \end{array}\right.

则方程可以写成

[x1x2...xn][a11a12...a1na12a22...a2n...an1an2...ann]=[b1b2...bn]\left[ \begin{array}{l} x_1 & x_2 ... & x_n \end{array} \right] \left[ \begin{array}{l} a_{11} & a_{12} ... & a_{1n} \\ a_{12} & a_{22} ... & a_{2n} \\ ... \\ a_{n1} & a_{n2} ... & a_{nn} \\ \end{array} \right] = \left[ \begin{array}{l} b_1 & b_2 ... & b_n \end{array} \right]

这种记法用的并不是很多,我们一直说过,矩阵行视角其实并不方便人类大脑的思考。在上面这种记法可以进行转置处理,转换为列向量

因为XA=BXA=B, 如果两边取转置就有 ATXT=BTA^TX^T=B^T ,这样就把行向量转换为列向量,又回到了我们熟悉的列模式了。 在 逆矩阵求解方程组 里, 我们就是这么干的。

行视角下的矩阵乘法

考虑下面2个矩阵相乘

[123][121212]=[612]\left[ \begin{array}{l} 1 & 2 & 3 \end{array} \right] \left[ \begin{array}{l} 1 & 2 \\ 1 & 2 \\ 1 & 2\\ \end{array} \right] = \left[ \begin{array}{l} 6 \\ 12 \end{array} \right]

可以发现,原本3维的行向量经过矩阵乘法后变成了2维的列向量,因此采用行视角,可以简单理解为对向量进行升维或者将维

6._矩阵乘法_行视角 - 线性代数 | OpenTech