1.3 特殊的矩阵乘法
admin
2024-03-08 18:43:58

文章目录

  • 行交换乘法
  • 列交换乘法
  • 行倍数乘法
  • 列倍数乘法
  • 行倍加乘法
  • 列倍加乘法
  • 连续行变换
  • 连续列变换
  • 线性变换思想

  矩阵乘法是线性代数基础中的基础,所以非常有必要深究矩阵的乘法,这里我挑选了八种比较特殊的矩阵乘法,来加深对矩阵乘法的理解,帮助理解线性变换。

行交换乘法

  先看看以下两个矩阵的乘法:
a=(1000001001000001)b=(1111222233334444)ab=(1111333322224444)a=\begin{pmatrix} 1 & 0 & 0 & 0\\ 0 & 0 & 1 & 0\\ 0 & 1 & 0 & 0\\ 0 & 0 & 0 & 1 \end{pmatrix}\\ b=\begin{pmatrix} 1 & 1 & 1 & 1\\ 2 & 2 & 2 & 2\\ 3 & 3 & 3 & 3\\ 4 & 4 & 4 & 4 \end{pmatrix}\\ ab=\begin{pmatrix} 1 & 1 & 1 & 1\\ 3 & 3 & 3 & 3\\ 2 & 2 & 2 & 2\\ 4 & 4 & 4 & 4 \end{pmatrix}\\ a=⎝⎜⎜⎛​1000​0010​0100​0001​⎠⎟⎟⎞​b=⎝⎜⎜⎛​1234​1234​1234​1234​⎠⎟⎟⎞​ab=⎝⎜⎜⎛​1324​1324​1324​1324​⎠⎟⎟⎞​
  可以看到,乘法的左右是将矩阵的两行进行了交换。将一个单位矩阵进行行交换之后,再放在左边乘以某个矩阵,会使得这个矩阵进行行交换。这种把单位阵进行行交换之后的矩阵叫做置换矩阵。

列交换乘法

  再看下一个例子:
a=(1234123412341234)b=(1000001001000001)ab=(1324132413241324)a=\begin{pmatrix} 1 & 2 & 3 & 4\\ 1 & 2 & 3 & 4\\ 1 & 2 & 3 & 4\\ 1 & 2 & 3 & 4 \end{pmatrix}\\ b=\begin{pmatrix} 1 & 0 & 0 & 0\\ 0 & 0 & 1 & 0\\ 0 & 1 & 0 & 0\\ 0 & 0 & 0 & 1 \end{pmatrix}\\ ab=\begin{pmatrix} 1 & 3 & 2 & 4\\ 1 & 3 & 2 & 4\\ 1 & 3 & 2 & 4\\ 1 & 3 & 2 & 4 \end{pmatrix}\\ a=⎝⎜⎜⎛​1111​2222​3333​4444​⎠⎟⎟⎞​b=⎝⎜⎜⎛​1000​0010​0100​0001​⎠⎟⎟⎞​ab=⎝⎜⎜⎛​1111​3333​2222​4444​⎠⎟⎟⎞​
  把置换矩阵放在右边就是列交换了,上面的例子,第二列和第三列就完成了交换。

行倍数乘法

  再看这个例子:
a=(1000030000100001)b=(1234−1−2−3−45678−5−6−7−8)ab=(1234−3−6−9−125678−5−6−7−8)a=\begin{pmatrix} 1 & 0 & 0 & 0\\ 0 & 3 & 0 & 0\\ 0 & 0 & 1 & 0\\ 0 & 0 & 0 & 1 \end{pmatrix}\\ b=\begin{pmatrix} 1 & 2 & 3 & 4\\ -1 & -2 & -3 & -4\\ 5 & 6 & 7 & 8\\ -5 & -6 & -7 & -8 \end{pmatrix}\\ ab=\begin{pmatrix} 1 & 2 & 3 & 4\\ -3 & -6 & -9 & -12\\ 5 & 6 & 7 & 8\\ -5 & -6 & -7 & -8 \end{pmatrix}\\ a=⎝⎜⎜⎛​1000​0300​0010​0001​⎠⎟⎟⎞​b=⎝⎜⎜⎛​1−15−5​2−26−6​3−37−7​4−48−8​⎠⎟⎟⎞​ab=⎝⎜⎜⎛​1−35−5​2−66−6​3−97−7​4−128−8​⎠⎟⎟⎞​
  可以看到不过是把第二行放大了三倍。这种很简单,就不必说了。

列倍数乘法

  再看看下一个例子:
a=(1234−1−2−3−45678−5−6−7−8)b=(1000020000100001)ab=(1434−1−4−3−451278−5−12−7−8)a= \begin{pmatrix} 1 & 2 & 3 & 4\\ -1 & -2 & -3 & -4\\ 5 & 6 & 7 & 8\\ -5 & -6 & -7 & -8 \end{pmatrix}\\ b= \begin{pmatrix} 1 & 0 & 0 & 0\\ 0 & 2 & 0 & 0\\ 0 & 0 & 1 & 0\\ 0 & 0 & 0 & 1 \end{pmatrix}\\ ab= \begin{pmatrix} 1 & 4 & 3 & 4\\ -1 & -4 & -3 & -4\\ 5 & 12 & 7 & 8\\ -5 & -12 & -7 & -8 \end{pmatrix}\\ a=⎝⎜⎜⎛​1−15−5​2−26−6​3−37−7​4−48−8​⎠⎟⎟⎞​b=⎝⎜⎜⎛​1000​0200​0010​0001​⎠⎟⎟⎞​ab=⎝⎜⎜⎛​1−15−5​4−412−12​3−37−7​4−48−8​⎠⎟⎟⎞​
  我们可以找到规律了,放在右边做乘法是做列变换。这次是把第二列变成了两倍。

行倍加乘法

  大胆猜测,把单位阵做行倍加,再左乘一个矩阵,是不是也就对这个矩阵实现了行倍加呢?答案是对的:
a=(1000310000100001)b=(98159273367251102)ab=(981536261018367251102)a= \begin{pmatrix} 1 & 0 & 0 & 0\\ 3 & 1 & 0 & 0\\ 0 & 0 & 1 & 0\\ 0 & 0 & 0 & 1 \end{pmatrix}\\ b= \begin{pmatrix} 9 & 8 & 1 & 5\\ 9 & 2 & 7 & 3\\ 3 & 6 & 7 & 2\\ 5 & 1 & 10 & 2 \end{pmatrix}\\ ab= \begin{pmatrix} 9 & 8 & 1 & 5\\ 36 & 26 & 10 & 18\\ 3 & 6 & 7 & 2\\ 5 & 1 & 10 & 2 \end{pmatrix}\\ a=⎝⎜⎜⎛​1300​0100​0010​0001​⎠⎟⎟⎞​b=⎝⎜⎜⎛​9935​8261​17710​5322​⎠⎟⎟⎞​ab=⎝⎜⎜⎛​93635​82661​110710​51822​⎠⎟⎟⎞​
  从例子可以看出确实是第一行乘以三倍加到了第二行了。

列倍加乘法

  列倍加不过是左边换到右边而已,我是不厌其烦地举例子啊:
a=(975943161105431094)b=(1020010000100001)ab=(97239439611074310154)a= \begin{pmatrix} 9 & 7 & 5 & 9\\ 4 & 3 & 1 & 6\\ 1 & 10 & 5 & 4\\ 3 & 10 & 9 & 4 \end{pmatrix}\\ b= \begin{pmatrix} 1 & 0 & 2 & 0\\ 0 & 1 & 0 & 0\\ 0 & 0 & 1 & 0\\ 0 & 0 & 0 & 1 \end{pmatrix}\\ ab= \begin{pmatrix} 9 & 7 & 23 & 9\\ 4 & 3 & 9 & 6\\ 1 & 10 & 7 & 4\\ 3 & 10 & 15 & 4 \end{pmatrix}\\ a=⎝⎜⎜⎛​9413​731010​5159​9644​⎠⎟⎟⎞​b=⎝⎜⎜⎛​1000​0100​2010​0001​⎠⎟⎟⎞​ab=⎝⎜⎜⎛​9413​731010​239715​9644​⎠⎟⎟⎞​
  实验了一下,我们的猜测是对的啊,就是把第一列乘以两倍加到了第三列上。

连续行变换

  对于连续的行变换,我们可以做个实验,自己计算一下:
x1=(1000210000100001)x2=(1000010020100001)x1x2=(1000210020100001)a=(227279449103822310)x1x2a=(227211131881314171222310)x_1= \begin{pmatrix} 1 & 0 & 0 & 0\\ 2 & 1 & 0 & 0\\ 0 & 0 & 1 & 0\\ 0 & 0 & 0 & 1 \end{pmatrix}\\ x_2= \begin{pmatrix} 1 & 0 & 0 & 0\\ 0 & 1 & 0 & 0\\ 2 & 0 & 1 & 0\\ 0 & 0 & 0 & 1 \end{pmatrix}\\ x_1x_2=\begin{pmatrix} 1 & 0 & 0 & 0\\ 2 & 1 & 0 & 0\\ 2 & 0 & 1 & 0\\ 0 & 0 & 0 & 1 \end{pmatrix}\\ a= \begin{pmatrix} 2 & 2 & 7 & 2\\ 7 & 9 & 4 & 4\\ 9 & 10 & 3 & 8\\ 2 & 2 & 3 & 10 \end{pmatrix}\\ x_1x_2a= \begin{pmatrix} 2 & 2 & 7 & 2\\ 11 & 13 & 18 & 8\\ 13 & 14 & 17 & 12\\ 2 & 2 & 3 & 10 \end{pmatrix}\\ x1​=⎝⎜⎜⎛​1200​0100​0010​0001​⎠⎟⎟⎞​x2​=⎝⎜⎜⎛​1020​0100​0010​0001​⎠⎟⎟⎞​x1​x2​=⎝⎜⎜⎛​1220​0100​0010​0001​⎠⎟⎟⎞​a=⎝⎜⎜⎛​2792​29102​7433​24810​⎠⎟⎟⎞​x1​x2​a=⎝⎜⎜⎛​211132​213142​718173​281210​⎠⎟⎟⎞​
  对于两个行倍加的线性变换的乘法,我们把非对角线元素加起来就可以了,加起来以后还能保持各自行倍加的特点。这个特点对于将来要学习的LU分解特别特别重要!

连续列变换

  连续列变换是同样的道理:
x1=(1100010000100001)x2=(1001010000100001)x1x2=(1101010000100001)a=(52543112108793322)ax1x2=(5759341510187193625)x_1= \begin{pmatrix} 1 & 1 & 0 & 0\\ 0 & 1 & 0 & 0\\ 0 & 0 & 1 & 0\\ 0 & 0 & 0 & 1 \end{pmatrix}\\ x_2= \begin{pmatrix} 1 & 0 & 0 & 1\\ 0 & 1 & 0 & 0\\ 0 & 0 & 1 & 0\\ 0 & 0 & 0 & 1 \end{pmatrix}\\ x_1x_2= \begin{pmatrix} 1 & 1 & 0 & 1\\ 0 & 1 & 0 & 0\\ 0 & 0 & 1 & 0\\ 0 & 0 & 0 & 1 \end{pmatrix}\\ a= \begin{pmatrix} 5 & 2 & 5 & 4\\ 3 & 1 & 1 & 2\\ 10 & 8 & 7 & 9\\ 3 & 3 & 2 & 2 \end{pmatrix}\\ ax_1x_2= \begin{pmatrix} 5 & 7 & 5 & 9\\ 3 & 4 & 1 & 5\\ 10 & 18 & 7 & 19\\ 3 & 6 & 2 & 5 \end{pmatrix}\\ x1​=⎝⎜⎜⎛​1000​1100​0010​0001​⎠⎟⎟⎞​x2​=⎝⎜⎜⎛​1000​0100​0010​1001​⎠⎟⎟⎞​x1​x2​=⎝⎜⎜⎛​1000​1100​0010​1001​⎠⎟⎟⎞​a=⎝⎜⎜⎛​53103​2183​5172​4292​⎠⎟⎟⎞​ax1​x2​=⎝⎜⎜⎛​53103​74186​5172​95195​⎠⎟⎟⎞​
  同样,多个列变换也是把非对角线元素相加就行了。

线性变换思想

  其实这些用线性变换的思想很容易理解。一个线性变换可以用矩阵表示,这个线性变换把一组自然基变成什么样子,就会把自然基下的矩阵变成什么样子。这么说起来,比较难理解,一组自然基,其实就是单位阵,也就是说一个矩阵是通过什么步骤从单位阵变过来的,它去乘别的矩阵,也会按照同样的步骤去变换别的矩阵,这就是线性变换。

相关内容

热门资讯

限号秒光!安徽芜湖网红“捏面叔... 一团彩面在指尖错、捏、揉,再用小刀点、刻、划,一个活灵活现的面塑便信手拈来。近期,在安徽芜湖古城,5...
陈皮食谱:小雪节气寒风起,试试... 小雪,是冬季第二个节气,小雪不是指这个节气下很小量的雪,而是意味着天气越来越冷,小雪时,通常有大范围...
创新甜品爆火出圈!有商家尝试后... 近期,一款形态创新的甜品“固体杨枝甘露”在社交平台走红,席卷各大社交平台与线下门店,掀起了新一轮的“...
商洛旅行社排名前十名全面解析:... 随着旅游市场的快速复苏,越来越多的游客选择通过旅行社规划行程。然而,市场信息繁杂,服务质量参差不齐,...
事故警示|网红博主坠崖身亡……... 11月17日 有网友发视频称 有驴友16日在崂山 失足坠亡 遗体被无人机运下山 据了解 该驴友为当地...