您当前的位置: 首页 >  矩阵

松下J27

暂无认证

  • 3浏览

    0关注

    114博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

线性代数 --- 如何用行置换矩阵(P)和列置换矩阵(Q)对矩阵进行操作?

松下J27 发布时间:2022-05-26 13:22:59 ,浏览量:3

在前面,我曾经写过一篇个人的学习笔记,叫《如何用行向量和列向量对矩阵进行操作》

线性代数 --- 如何用行向量和列向量对矩阵进行操作?(个人笔记扫描版)_松下J27的博客-CSDN博客_矩阵左乘行向量如何用行向量和列向量对矩阵进行操作https://blog.csdn.net/daduzimama/article/details/120485571        当时我写这篇文章的时候,我只知道矩阵的这种操作方法。后面,我接触了置换矩阵,还有矩阵的LU分解,我发,还可以用矩阵的对矩阵进行行操作和列操作。有人说,这不是废话吗?但我这里要强调的操作,仅限交换。因为,交换操作非常直观,而且很好理解。不像矩阵与矩阵的乘法那么难懂。同时,我还要在这篇文章里展示一下向量对矩阵的行操作和列操作,同样,也只是交换。因为,后面我们会看到,置换矩阵中的每行每列都来自于我们前面提到的特殊向量。

先从向量对矩阵的操作开始:

前乘行,行操作

\LARGE vA=b

        在我的学习文档中,我当时强调的主要是线性组合的概念,但实际上行与行/列于列之间的交换就是一种线性组合。如下,用行向量v=[1 0 0],乘以单位矩阵I,得到第一行。

\LARGE \begin{bmatrix} 1 &0 &0 \end{bmatrix} \begin{bmatrix} 1 &0 &0 \\ 0& 1& 0\\ 0& 0 &1 \end{bmatrix}=\begin{bmatrix} 1 &0 &0 \end{bmatrix}\

Matlab code: 

%行向量乘以单位矩阵
I = eye(3)
v=[1 0 0]
v*I

 后乘列,列操作

\LARGE Av=b

        用列向量v=[0 1 0]',乘以单位矩阵I,得到第二列。

\LARGE \begin{bmatrix} 1 &0 &0 \\ 0& 1& 0\\ 0& 0 &1 \end{bmatrix}\begin{bmatrix} 0\\ 1\\0 \end{bmatrix}=\begin{bmatrix} 0\\ 1\\0 \end{bmatrix}

Matlab code: 

%列向量乘以单位矩阵
I = eye(3)
v=[0 1 0]'
I*v

这里顺便说一句,写道后面我才想起来,任何向量或者矩阵和单位矩阵相乘都不变。。。。所以,上面的两个例子,不是太好,大家可以用matlab code自行尝试。

前乘P,行交换(P为行交换矩阵)

\LARGE PA=B

         对于一个3x3的矩阵,如果我们要进行行交换,比如说交换第一行和第二行。我们可以定义一个行置换矩阵P21,其下标表示的是你要交换的行数,P21就表示第一,二行互换。然后用P21前(左)乘需要进行行交换的矩阵A,就能实现A的行交换。如下:

\LARGE P_{21}\begin{bmatrix} 0 &1 &0 \\ 1& 0 &0 \\ 0&0 &1 \end{bmatrix}A \begin{bmatrix} 1 &1 &1 \\ 2& 2 &2 \\ 3&3 &3 \end{bmatrix} = B\begin{bmatrix} 2 &2 &2 \\ 1 &1 &1 \\ 3 &3 &3 \end{bmatrix}

注意:要想得到行置换矩阵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为列交换矩阵)

\LARGE AQ=B

        对于一个3x3的矩阵,如果我们要进行列交换,比如说交换第一列和第三列。我们可以定义一个列置换矩阵Q31,它的下标表示的是你要交换的列数,Q31表示第一,三列互换。如下:

\LARGE A \begin{bmatrix} 1 &2 &3 \\ 1& 2 &3 \\1&2 &3 \end{bmatrix}Q_{31}\begin{bmatrix} 0 &0 &1 \\ 0& 1 &0 \\ 1&0 &0 \end{bmatrix} = B\begin{bmatrix} 3 &2 &1 \\ 3 &2 &1 \\ 3 &2 &1 \end{bmatrix}

注意:要想得到列置换矩阵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​

关注
打赏
1660635678
查看更多评论
立即登录/注册

微信扫码登录

0.0447s