在前面,我曾经写过一篇个人的学习笔记,叫《如何用行向量和列向量对矩阵进行操作》
线性代数 --- 如何用行向量和列向量对矩阵进行操作?(个人笔记扫描版)_松下J27的博客-CSDN博客_矩阵左乘行向量如何用行向量和列向量对矩阵进行操作https://blog.csdn.net/daduzimama/article/details/120485571 当时我写这篇文章的时候,我只知道矩阵的这种操作方法。后面,我接触了置换矩阵,还有矩阵的LU分解,我发,还可以用矩阵的对矩阵进行行操作和列操作。有人说,这不是废话吗?但我这里要强调的操作,仅限交换。因为,交换操作非常直观,而且很好理解。不像矩阵与矩阵的乘法那么难懂。同时,我还要在这篇文章里展示一下向量对矩阵的行操作和列操作,同样,也只是交换。因为,后面我们会看到,置换矩阵中的每行每列都来自于我们前面提到的特殊向量。
先从向量对矩阵的操作开始:
前乘行,行操作在我的学习文档中,我当时强调的主要是线性组合的概念,但实际上行与行/列于列之间的交换就是一种线性组合。如下,用行向量v=[1 0 0],乘以单位矩阵I,得到第一行。
Matlab code:
%行向量乘以单位矩阵
I = eye(3)
v=[1 0 0]
v*I
后乘列,列操作
用列向量v=[0 1 0]',乘以单位矩阵I,得到第二列。
Matlab code:
%列向量乘以单位矩阵
I = eye(3)
v=[0 1 0]'
I*v
这里顺便说一句,写道后面我才想起来,任何向量或者矩阵和单位矩阵相乘都不变。。。。所以,上面的两个例子,不是太好,大家可以用matlab code自行尝试。
前乘P,行交换(P为行交换矩阵)对于一个3x3的矩阵,如果我们要进行行交换,比如说交换第一行和第二行。我们可以定义一个行置换矩阵P21,其下标表示的是你要交换的行数,P21就表示第一,二行互换。然后用P21前(左)乘需要进行行交换的矩阵A,就能实现A的行交换。如下:
注意:要想得到行置换矩阵P21,只需交换单位矩阵的第二行和第一行即可。
Matlab code:
%P乘以矩阵,实现行交换矩阵
A=[1 1 1;2 2 2;3 3 3]
P21=[0 1 0;1 0 0;0 0 1]
P21*A
后乘Q,列交换(Q为列交换矩阵)
对于一个3x3的矩阵,如果我们要进行列交换,比如说交换第一列和第三列。我们可以定义一个列置换矩阵Q31,它的下标表示的是你要交换的列数,Q31表示第一,三列互换。如下:
注意:要想得到列置换矩阵Q31,只需交换单位矩阵的第三列和第一列即可。
Matlab code:
%Q乘以矩阵,实现列交换矩阵
A=[1 2 3;1 2 3;1 2 3]
Q31=[0 0 1;0 1 0;1 0 0]
A*Q31
(全文完)
作者 --- 松下J27
格言摘抄:两点之间最长的距离就是捷径。(谚语)
(配图与本文无关)
版权声明:所有的笔记,可能来自很多不同的网站和说明,在此没法一一列出,如有侵权,请告知,立即删除。欢迎大家转载,但是,如果有人引用或者COPY我的文章,必须在你的文章中注明你所使用的图片或者文字来自于我的文章,否则,侵权必究。 ----松下J27