一、置换矩阵

 一个矩阵的行或者列交换,可以借助另外一个矩阵相乘来实现

 首先是行交换:

$\underbrace{\left[\begin{array}{ccc}{1} & {1} & {1} \\ {2} & {2} & {2} \\ {3} & {3} & {3}\end{array}\right]}_{A} \stackrel{S_{12}}{\rightarrow} \underbrace{\left[\begin{array}{ccc}{2} & {2} & {2} \\ {1} & {1} & {1} \\ {3} & {3} & {3}\end{array}\right]}_{A_{2}}$

也就是矩阵的第一行和第二行进行了互换

  对于$A_2$的第一行,相当于从$A$中拿出了0个第一行,1个第二行,0个第三行进行加和

  对于$A_2$的第二行,相当于从$A$中拿出了1个第一行,0个第二行,0个第三行进行加和

  对于$A_2$的第三行,相当于从$A$中拿出了0个第一行,0个第二行,1个第三行进行加和

  之前我们讲过,行向量乘以一个矩阵,结果等于矩阵的每行的线性组合

  上面的$P_{12}$称为行置换矩阵。可以看出置换矩阵是行重新排列了的单位矩阵,它的一个特性是:$\mathrm{P}^{-1}=\mathrm{P}^{\mathrm{T}}$

 列交换与行交换类似,但是向量变为右变列向量(左行右列就是这个意思)

$\underbrace{\left[\begin{array}{lll}{1} & {2} & {3} \\ {1} & {2} & {3} \\ {1} & {2} & {3}\end{array}\right]}_{A} \stackrel{C_{12}}{\longrightarrow} \underbrace{\left[\begin{array}{ccc}{2} & {1} & {3} \\ {2} & {1} & {3} \\ {2} & {1} & {3}\end{array}\right]}_{A_{2}}$

也就是矩阵的第一列和第二列进行了互换

  对于$A_2$的第一列,相当于从$A$中拿出了0个第一列,1个第二列,0个第三列进行加和

  对于$A_2$的第二列,相当于从$A$中拿出了1个第一列,0个第二列,0个第三列进行加和

  对于$A_2$的第三列,相当于从$A$中拿出了0个第一列,0个第二列,1个第三列进行加和

  之前我们已经讲过:矩阵乘以一个列向量,得到一个列向量-也就是原矩阵得各列得线性组合

  上面得$C_{12}$称为列置换矩阵。注意列置换矩阵的结果,是按照列构成的

 总结:置换矩阵就是行或者列重新排列了的单位矩阵,置换矩阵可以用在消元过程中防止主元为0

二、转置矩阵

 即原始矩阵得行变成列,列变成行,用$A^T$表示:

$\left[\begin{array}{ll}{1} & {1} \\ {4} & {5} \\ {0} & {3}\end{array}\right]$的转置是$\left[\begin{array}{lll}{1} & {4} & {0} \\ {1} & {5} & {3}\end{array}\right]$

 注:一个矩阵与转置矩阵相乘可以得到对称矩阵,证明如下

 $(R^TR)^T = R^T(R^T)^T=R^TR$,所以一个矩阵$R^TR$的转置与自身相等,那么他就是对称的

 

三、向量空间

 向量有两个最基本的运算:相加$v_a + v_b$和数乘$num * v$

 $R^2$是个二维的向量空间,$R^3$是个三维的向量空间,是所有三维向量组成的向量空间,同理$R^n$是所有$n$维向量组成的向量空间

 所有向量空间必须包含0向量

 我们从$R^2$出发,取二维坐标系的第一象限,那么该区域是向量空间吗?显然不是,因为该区域的向量乘以一个负数的话就跑出该区域空间了,不在该区域内了,所以第一象限显然不是一个向量空间

 那么既然第一象限不是一个向量空间,$R^2$向量空间内是否存在其他向量空间呢(其实也叫向量子空间)?当然存在,如$R^2$向量空间内过原点的某条直线

  由于该直线过原点,所以该直线上的任意一个向量进行数乘或者该直线上的任意向量进行相加,结果仍然落在该直线上,所以该直线就是$R^2$向量空间的子空间

  但要注意并不是所有直线都是$R^2$向量空间的子空间,比如某条直线如果不过原点,那么该直线上的向量数乘0之后结果为0向量,0向量则不在该直线上,所以该不过原点的直线不是$R^2$向量空间的子空间

 既然讲了$R^2$向量空间,那么其子空间有哪些呢?

  a)其$R^2$本身,即整个$R^2$向量空间

  b)直线:确切的说是穿过0点的直线

  c)点:即0点,通常记为$Z$

 同理,$R^3$向量空间,那么其子空间有哪些呢?

  a)其$R^3$本身,即整个$R^3$向量空间

  b)平面:确切的说是穿过0点的平面

  c)直线:确切的说是穿过0点的直线

  d)点:即0点,通常记为$Z$

 下面我们来看看矩阵是如何构成子空间的,也就是我们从一个矩阵构造出子空间:

  1)通过列向量来构造,如

$A=\left[\begin{array}{ll}{1} & {3} \\ {2} & {3} \\ {4} & {1}\end{array}\right]$各列属于$R^3$

我们想用其各列来构成$R^3$的子空间:方法就是矩阵各列的线性组合,记作$C(A)$,C代表列空间

针对上面的矩阵$A$,其列空间就是穿过各列和原点的平面

05-转置-置换-向量空间R的更多相关文章

  1. (数据科学学习手札05)Python与R数据读入存出方式的总结与比较

    在数据分析的过程中,外部数据的导入和数据的导出是非常关键的部分,而Python和R在这方面大同小异,且针对不同的包或模块,对应着不同的函数来完成这部分功能: Python 1.TXT文件 导入: 以某 ...

  2. MIT-线性代数公开课

    本博客是学习MIT-线性代数笔记,Gilbert Strang大神讲的通俗易懂,感兴趣的可以观看视频 其中习题集请点击 01)方程组的几何解释 02)矩阵消元 03)乘法和逆矩阵 04)A的LU分解 ...

  3. R语言︱大数据集下运行内存管理

    在实操时出现以下的问题: Error: cannot allocate vector of size 2.9GB 大神指导(http://bbs.pinggu.org/thread-3682816-1 ...

  4. (待续)C#语言中的动态数组(ArrayList)模拟常用页面置换算法(FIFO、LRU、Optimal)

    目录 00 简介 01 算法概述 02 公用方法与变量解释 03 先进先出置换算法(FIFO) 04 最近最久未使用(LRU)算法 05 最佳置换算法(OPT) 00 简介 页面置换算法主要是记录内存 ...

  5. R语言入门 一些基本的操作

    1 R的下载.安转 R有很多的版本,支持目前主流的操作系统MAC.Linux和WINDOWS系列.因为我个人是在WINDOWS下用R的,所以在这里将只介绍WINDOWS下R的下载&安装. 下载 ...

  6. 2020牛客暑期多校训练营 第二场 J Just Shuffle 置换 群论

    LINK:Just Shuffle 比较怂群论 因为没怎么学过 置换也是刚理解. 这道题是 已知一个置换\(A\)求一个置换P 两个置换的关键为\(P^k=A\) 且k是一个大质数. 做法是李指导教我 ...

  7. R语言矩阵相关性计算及其可视化?

    目录 1. 矩阵相关性计算方法 base::cor/cor.test psych::corr.test Hmisc::rcorr 其他工具 2. 相关性矩阵转化为两两相关 3. 可视化 corrplo ...

  8. A Recipe for Training Neural Networks [中文翻译, part 1]

    最近拜读大神Karpathy的经验之谈 A Recipe for Training Neural Networks  https://karpathy.github.io/2019/04/25/rec ...

  9. [Google Guava] 2.3-强大的集合工具类:java.util.Collections中未包含的集合工具

    原文链接 译文链接 译者:沈义扬,校对:丁一 尚未完成: Queues, Tables工具类 任何对JDK集合框架有经验的程序员都熟悉和喜欢java.util.Collections包含的工具方法.G ...

随机推荐

  1. [nginx] CORS配置多域名

    如下 server { listen 80; server_name www.your.com; root /data/web/www.your.com; access_log /var/log/ng ...

  2. 大数据笔记(三十)——一篇文章读懂SparkSQL

    Spark SQL:类似Hive ======================================================= 一.Spark SQL基础 1.什么是Spark SQ ...

  3. LeetCode_21.合并两个有序链表

    LeetCode_21 LeetCode-21.合并两个有序链表 将两个有序链表合并为一个新的有序链表并返回. 新链表是通过拼接给定的两个链表的所有节点组成的. 示例: 输入:1->2-> ...

  4. JDK1.7安装配置环境变量+图文说明Jmeter安装

    Jmeter通常用于并发测试,本文介绍Jmeter工具的安装步骤. 工具/原料   WIN7 Jmeter安装包 JDK 一.安装JDK   1 [步骤一]安装jdk 1.下载jdk,到官网下载jdk ...

  5. WPF中的WndProc

    其实,在WPF中,要想利用WndProc来处理所有的事件,需要利用到SourceInitialized  Event,首先需要创建一个HwndSource对象,然后利用其AddHook方法来将所有的w ...

  6. lua源码学习篇四:字节码指令

    在llimits.h文件中定义了指令的类型.其实就是32个字节. typedef lu_int32 Instruction; 上节说到变量最终会存入proto的数组k中,返回的索引放在expdesc ...

  7. 阶段3 1.Mybatis_02.Mybatis入门案例_2.mybatis入门案例中的设计模式分析

    读取配合文件 创建工厂 最终图

  8. 请求转发、包含、重定向 getAttribute 和 setAttribute POST和GET编码

     一.请求转发  请求包含  请求重定向 Demo5.java   注意:doPost()方法中别忘写doGet(request, response); public void doGet(HttpS ...

  9. 【ABAP系列】SAP ABAP MRKO增强

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP MRKO增强 ...

  10. 使用docker compose 构建多个镜像

    定义docker compose version: ' services: composedb: image: mysql/mysql-server container_name: composedb ...