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月28日,北京环球影城迎来了一对温暖的家庭画面:戚薇和李承铉携三岁半的儿子Seven现身游玩。现场...
滹沱河畔 遇见“诗和远方” 图为市民在滹沱河畔休闲娱乐。 初夏五月,惠风和畅。徜徉在石家庄滹沱河生态区(城区段),澄澈河水蜿蜒...
在迪士尼排队两小时,我才看清V... 文丨沈理 在网上看到一则新闻: 上海迪士尼,创极速光轮排队区。一个父亲牵着七八岁的儿子,已经在烈日...
重庆文旅喊你去吃火锅、观山水、... 本网讯(草原云·正北方网记者 马丽侠)火锅、机车、文创、演艺……5月28日下午,重庆市文化和旅游发展...