05-转置-置换-向量空间R
一、置换矩阵
一个矩阵的行或者列交换,可以借助另外一个矩阵相乘来实现
首先是行交换:
$\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的更多相关文章
- (数据科学学习手札05)Python与R数据读入存出方式的总结与比较
在数据分析的过程中,外部数据的导入和数据的导出是非常关键的部分,而Python和R在这方面大同小异,且针对不同的包或模块,对应着不同的函数来完成这部分功能: Python 1.TXT文件 导入: 以某 ...
- MIT-线性代数公开课
本博客是学习MIT-线性代数笔记,Gilbert Strang大神讲的通俗易懂,感兴趣的可以观看视频 其中习题集请点击 01)方程组的几何解释 02)矩阵消元 03)乘法和逆矩阵 04)A的LU分解 ...
- R语言︱大数据集下运行内存管理
在实操时出现以下的问题: Error: cannot allocate vector of size 2.9GB 大神指导(http://bbs.pinggu.org/thread-3682816-1 ...
- (待续)C#语言中的动态数组(ArrayList)模拟常用页面置换算法(FIFO、LRU、Optimal)
目录 00 简介 01 算法概述 02 公用方法与变量解释 03 先进先出置换算法(FIFO) 04 最近最久未使用(LRU)算法 05 最佳置换算法(OPT) 00 简介 页面置换算法主要是记录内存 ...
- R语言入门 一些基本的操作
1 R的下载.安转 R有很多的版本,支持目前主流的操作系统MAC.Linux和WINDOWS系列.因为我个人是在WINDOWS下用R的,所以在这里将只介绍WINDOWS下R的下载&安装. 下载 ...
- 2020牛客暑期多校训练营 第二场 J Just Shuffle 置换 群论
LINK:Just Shuffle 比较怂群论 因为没怎么学过 置换也是刚理解. 这道题是 已知一个置换\(A\)求一个置换P 两个置换的关键为\(P^k=A\) 且k是一个大质数. 做法是李指导教我 ...
- R语言矩阵相关性计算及其可视化?
目录 1. 矩阵相关性计算方法 base::cor/cor.test psych::corr.test Hmisc::rcorr 其他工具 2. 相关性矩阵转化为两两相关 3. 可视化 corrplo ...
- A Recipe for Training Neural Networks [中文翻译, part 1]
最近拜读大神Karpathy的经验之谈 A Recipe for Training Neural Networks https://karpathy.github.io/2019/04/25/rec ...
- [Google Guava] 2.3-强大的集合工具类:java.util.Collections中未包含的集合工具
原文链接 译文链接 译者:沈义扬,校对:丁一 尚未完成: Queues, Tables工具类 任何对JDK集合框架有经验的程序员都熟悉和喜欢java.util.Collections包含的工具方法.G ...
随机推荐
- cmd命令行的FTP使用
进入ftp:ftp 打开连接:open 192.168.1.106 2121 用户名空:none 密码空:不用输入,直接回车 查询远程服务器当前路径:pwd 显示远程服务器当前路径下的文件:dir 远 ...
- (四)mysql -- 常用函数
今天get一个,先记录一下 以后慢慢补充~ 将varchar转换成int 例如:select * from tb_1 order by cast(sport_sum as unsigned integ ...
- 聊聊spring-boot-starter-data-redis的配置变更
本文主要研究一下spring-boot-starter-data-redis的配置变更 配置变更 以前是spring-boot的1.4.x版本的(spring-data-redis为1.7.x版本), ...
- @清晰掉 malloc是如何分配内存的?
任何一个用过或学过C的人对malloc都不会陌生.大家都知道malloc可以分配一段连续的内存空间,并且在不再使用时可以通过free释放掉.但是,许多程序员对malloc背后的事情并不熟悉,许多人甚至 ...
- jest 提示 Unexpected identifier 的解决方案
概述 今天在玩 jest 的时候,发现用 import 就会报 Unexpected identifier 的错误.查了很久的资料,最后终于解决了. 参考资料:Jest tests can't pro ...
- Python基本语法_基本数据类型_数值型详解
目录 目录 软件环境 Python变量调用的过程 数值型 删除一个数值类型对象 布尔型 Bool 标准整型 Int 长整型 双精度浮点型 Float 复数 数值类型对象的内建功能函数 absNumbe ...
- IDEA使用设置
IDEA版本为2017.2.1 1.设置主题 File->Settings->Appearance,界面如下 2.修改快捷键-Eclipse方式 File->Settings-> ...
- 算法初级(scala)
来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/two-sum 1.给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为 ...
- python2.7安装numpy、pandas、matplotlib库
我装的是python2.7 然后pip的版本是18.1,最近使用pip install **安装包的时候总是会提示 You are using pip version 18.1, however ve ...
- FLUME安装&环境(一):netcat类型配置
1.下载软件 在 /opt/deploy 下新建 flume 文件夹: # mkdir / opt/deploy / flume 到Flume官网上http://flume.apache.org/do ...