线性代数的本质笔记(3B1B课程)

news2024/11/24 12:55:47

文章目录

  • 前言
  • 向量
  • 矩阵
  • 行列式
  • 线性方程
  • 非方阵
  • 点积
  • 叉积

前言

最近在复习线代,李永乐的基础课我刷了一下,感觉讲的不够透彻,和我当年学线代的感觉一样,就是不够形象。

比如,行列式为什么那么重要,它的含义究竟是什么?特征值到底代表了什么?等等。说白了,我需要几何直观的理解。

几何直观解决的问题是,我为什么要用这个,有什么用,而数值计算只是让我们能应用罢了,可惜我们只是学了数值计算。

于是我开始刷3b1b的《线性代数的本质》

这篇文章是观看视频后我的个人感悟,可以结合视频一起食用,有解释的不清楚的地方,以视频为准。

线性代数的本质

向量

在线性代数中,向量是以原点为起点的箭头,终点坐标和向量的值是一样的。

因此,向量之间的空间上的运算也可以变成向量值的运算,比如向量和(移动),向量数乘(缩放)。

之所以能够用向量对应向量值,是因为有一个i和j的基底。说白了,就是坐标系。如果基底变了,要保持向量不变的话,向量值就要改变。

总之,用数值(向量值)描述向量,要依赖于基底。

如果两个基底不共线(线性无关),则可以张成一个面,否则只能是一条线

如果是三个线性无关的向量,则可以张成一个三维空间,如果是n个线性无关的向量,则可以张成n维空间,但是这个就是无法想象的了。

如何理解线性相关呢?所谓线性相关,就是说某一个向量落在了其他向量张成的空间内,不需要这个向量了,可以移除这个向量而不影响向量组张成的空间。

假设给定3个向量的向量组,假设两个向量共线,那么必然线性相关(充分条件),但是如果三个向量都不共线,就能说明线性无关了吗?不能。

下面4条等价:

  1. 线性相关
  2. 有一个向量落在其他两个向量张成的平面内
  3. 该向量可以被其他向量线性表出
  4. 存在不全为0的k,使得
    k 1 α 1 + ⋯ + k n α n = 0 k_1\alpha_1+\cdots+k_n\alpha_n=0 k1α1++knαn=0

前面的都好理解,第4条可以这么理解,基于3,可以得到第i个向量=其他向量的线性组合,那么令 k i = − 1 k_i=-1 ki=1,不就是一组不全为0的系数,让这个向量组的计算结果=0吗?

矩阵

矩阵有两种含义

  1. 向量组
  2. 对向量的线性变换

给定一个向量,乘一个矩阵,就可以变成新向量,这就是矩阵的几何意义。

当一个矩阵里面的所有向量被同时变换,那就是矩阵的线性变换。

但是无论是向量,还是矩阵,其变换都是通过乘以矩阵实现的。

实际上任何函数都可以变换空间,只是线性变换后,曾经的直线还是直线,原点也没有变化。本质在于,线性变换是均匀的,保持网格线平行等距均匀分布的变换。

在这里插入图片描述

用另一个说法去说,就是基底是线性变换的,而曾经的所有向量与基底的关系保持不变,变的,只是向量本身的值,而不是向量和基底的关系。

所以考虑线性变换,我们其实只需要记住两个事情:

  1. 原始向量和原始基底的关系,这个关系会保持不变
  2. 基底的情况,这会随着线性变换而变

这两点注意好,无论你怎么变基底,都可以迅速推断出新向量的位置

实际上,对于二维来说,一个向量本身就是 ( i ^ , j ^ ) [ k 1 k 2 ] = k 1 i ^ + k 2 j ^ (\hat{i},\hat{j}) \begin{bmatrix} k_1\\k_2\end{bmatrix}=k_1\hat{i}+k_2\hat{j} (i^,j^)[k1k2]=k1i^+k2j^

( i ^ , j ^ ) (\hat{i},\hat{j}) (i^,j^)本身就是一个矩阵, [ 1   0 0   1 ] \begin{bmatrix} 1\ 0\\ 0\ 1 \end{bmatrix} [1 00 1]

可以直观地理解:

  1. 左边的矩阵,从左到右是n个基底
  2. 右边的向量代表向量和基底的关系,就是线性标出的系数
  3. 新的向量就是新的基底的线性组合,最后算出来的值,就是新的基底下,向量的值。
    • 新向量按照维度理解,则每一个维度,都是基底按照系数线性组合的结果

进一步总结:任何一个向量都等于基底乘以系数向量,包括最开始的i,j基底。

在这里插入图片描述

通过这个思路,就可以理解,旋转和剪切是如何实现的了。

在这里插入图片描述
在这里插入图片描述
如果新的基底在一条直线上,那么原有的二维空间就会被挤压到一维空间上,这就是降维了。

在这里插入图片描述

进一步理解矩阵和矩阵相乘。

如果说一个矩阵描述了新基底,那么另一个矩阵就是把基底再进行一次变换,两次基底的变换可以复合成一次性的线性变换。

所以矩阵乘,有两种理解:

  1. 把一个空间的每一个向量都变成新的向量,形成新的空间
  2. 把两个线性变换复合为一个线性变换

按照这个思路去理解,只要不影响从右到左的变换顺序,那么就不影响最终结果,所以矩阵乘具有结合和分配,但是没有交换运算。

在这里插入图片描述

行列式

因为是线性变换,所以对于基底向量构成的方格的面积变换,这个比例对于任何方格都是一样的。

即使一个形状不是方格,也可以用方格近似,所以任意面积,在经过线性变换以后,变换的比例是恒定的。

在这里插入图片描述

在这里插入图片描述

这个面积变换的比例,就是行列式。

为什么存在线性相关向量的矩阵,行列式=0呢?就是因为降维了,导致体积被压缩为0.1

当然,行列式也是有可能出现负值的,那代表什么呢?对于二维空间来说就是翻了个面,学术点就是改变了空间的定向,所谓定向,就是基底的相对位置(比如二维中,正定向是i永远在j左边,三维中,符合右手定则)

在这里插入图片描述

为什么把行列式的两行/两列交换后取值要加负号呢?就是因为交换会改变定向,相当于翻了个面。

在这里插入图片描述

在这里插入图片描述

具体要问行列式怎么计算,下图是二维情况。当然,这就是图一乐,实际上你不会这么去算的,就是理解一下,确实是面积的放大比例。

在这里插入图片描述

线性方程

我们先讨论非齐次线性方程。

其几何意义在于,寻找一个线性组合x,让这个向量经过基底A变换后,与v对齐

在这里插入图片描述
当然,这种情况是复杂的,线性变换后到底降没降维,可以用秩来描述。秩就是A张成的列空间的维度

如果r(A)<n,就代表降维了,自然det(A)=0

如果A的行列式不为0,也就是说A张成的空间可以把v覆盖,那么就有且只有一个x在变换后能和v重合。

这就是唯一解的条件:r(A)=n(或者行列式≠0),代表满秩,r(A,v)=r(A),代表A可以线性表出v。其实后一个条件压根没必要,只要满秩,A的空间维度一定可以覆盖v。

而且,因为是唯一解,具有一一映射的特性,所以可以通过逆映射,即一个逆向线性变换把v倒回x,这就是逆矩阵。

在这里插入图片描述
如果行列式=0,即r(A)< n,那么正向变换是降维的,也就是说会把空间压缩,但是你要知道,v是没有被压缩的,还是高维的,那么就有两种可能:

  1. v恰好落在降维后空间内,即v可以被A线性表出,即r(A)=r(A,b)
  2. v落在降维后空间外,即r(A)< r(A,b),此刻无解

在这里插入图片描述
如果在降维后,还有解的话,那么v这个位置其实是被压缩了无数个向量的

在这里插入图片描述

这不是一一映射,你自然无法把一条线逆向变回一个平面,所以det(A)=0时,没有逆矩阵。

从空间角度理解可逆变换的几何意义,就是不降维的变换。

非齐次说完了,说一下齐次吧。

其次就是v=0的特殊情况,0向量,无论被如何压缩,都可以落在空间之中,所以一定有解。

那么有一个解,还是无穷解,就取决于空间是否被压缩了,比如下面这条线被压缩为一个点的时候,无数个非零向量都被压缩为了0向量。

这就是齐次方程无穷非零解的情况,降维必无穷非零。

在这里插入图片描述

我们再来思考一下基础解系。你有想过为什么基础解系基底的数量是n-r(A)个吗?

以三维举例,如果只压缩1个维度,那么从空间上来说,就是沿着一条线把一个三维空间压扁。因此,只压缩一个维度,就会有一条线上的所有向量压缩为0向量,此时只需要1个基底就可以表示所有线性变换前的向量(解)

在这里插入图片描述
在这里插入图片描述

如果压缩2个维度呢?从空间来想象,就是沿着一个面的方向,把三维空间收缩成一束,想象一下你用拇指和食指套成一个圈儿,把很多线捏成一束的过程。

既然是沿着面,那么这整个面上的向量就都会被压缩为0向量,此时就需要用2个基底去表示这一个面上的解向量了。

在这里插入图片描述
在这里插入图片描述

最后,因为基础解系张成的子空间比较特殊,专门给起了个名字叫矩阵的“零空间”,或者“核”,还是比较形象的,压缩以后只剩一个点了,压缩前那不就是核心嘛。

基础解系就是零空间的基底。

非方阵

方阵代表同一个维度的空间之间的线性变换(不考虑降维情况)

如果是非方阵,就要考虑m和n了。n列代表输入空间是n维的,m代表输出空间是m维的。

什么意思呢?比如在二维空间中,向量在一个平面上,经过了3×2矩阵,变成了3维向量后,向量存在于空间。

然而这并不代表这个升维后的向量,就能脱离原有的平面,非方阵只是把原有平面抬升到更高维的空间,但是平面还是平面,只是倾斜了,正如一张纸上的线,放到空间中,还是一条线。

说白了,m>n的情况下,矩阵只是把原来n个低维基底,转移到了高维的空间中,基底仍然是n个

在这里插入图片描述
如果是2×3矩阵呢?代表了把3维空间压缩到2维空间,这个变换是很不舒服的,因为把3个基底放到了2维空间,很明显有一个基底就是冗余的了。

在这里插入图片描述
在这里插入图片描述

二维也可以压缩到一维,根据线性性质,平面上等距的点,压缩成数后,仍然等距。

在这里插入图片描述
在这里插入图片描述

点积

这一节比较难,我上来没听懂,关键在于那个对偶性,对偶性容易和对称混淆,其实完全没关系,要是我说的话,对偶性就是一种一一映射,是唯一等价关系。

点积的计算公式是把对应的坐标相乘,并把结果相加。另一种计算方法是,把一个向量投影到另一个向量上,模之积就是点积。这两个计算方法看起来毫无关系,他们的联系是什么呢?
在这里插入图片描述在这里插入图片描述

记住,我们的目标是发现点积,线性变换,投影的联系,现在讲引理。

我们前面说,线性变换可以把线性的空间变成线性的空间。

那么反过来,只要是把线性空间变成另一个线性空间,就一定有一个,且只有一个唯一的线性变换与之对应。

注意这个唯一性,即使是把二维空间压缩为数轴,不同的压缩方法,其放缩倍数都是不一样的,所以是新的线性空间对应唯一的线性变换。

引理说完了,先来寻找一下和单位向量点积是如何与投影联系起来的。

首先,投影是一个线性变换。把二维空间的向量,投影到一条直线上,很明显这是个线性过程,而且还是二维到一维的。

根据对偶性,只要是线性变换,就一定有一个1×2的矩阵与之对应,即投影矩阵。

在这里插入图片描述
投影矩阵到底是多少呢?按照线性变换的几何意义,我们只需要找到i,j两个向量在目标直线上的位置,也就是他们的值就行。

此时引入一个单位向量 u ^ \hat{u} u^,根据对称性,i在直线上的投影值(新基底),恰好等于u的x轴

在这里插入图片描述

这样,我们就用线性变换表示出了投影运算,这是几何上的联系。

从数值上来看,向量通过投影矩阵进行线性变换,投影到单位向量所在直线上的值,恰好等于向量和单位向量的点积。

在这里插入图片描述

投影——(几何)——线性变换——(数值)——点积

整个对于单位向量,证明思路就是这样。

非单位向量呢?

非单位向量只是单位向量的放缩,计算点积的结果仍然是数,整个过程仍然是从二维到一维,所以仍然对应一个投影矩阵。

只不过因为投影后基底要放缩,所以投影矩阵整体是要比单位向量情况放缩k倍的,这个矩阵可以理解为先投影,再缩放(乘以向量的模)。

至于点积和线性变换,仍然是数值上的联系。如此,投影和点积就彻底联系起来了。

总的来说,这个证明过程用到了线性变换与矩阵的唯一对应性,也就是对偶性。

对于n维变1维的情况,必然有一个n×1的矩阵可以表示这个线性变换,把这个矩阵转置成向量,我们也可以说,任意一个n维变1维的线性变换,一定有一个空间中的向量v与之相关,这就是点积和线性变换的等价性。

在这里插入图片描述

叉积

叉积结果的模,平行四边形的面积。

行列式的几何意义,恰好也是线性变换的放大倍数,就用叉积的两个向量当线性变换,计算行列式就等于叉积结果。

当然最后要定向,分正负。

在这里插入图片描述

实际上,叉积是一个向量,垂直于底面,模是底面积。叉积可以说是一个代表底面大小和方向的向量。

在这里插入图片描述

具体如何计算叉积呢?就是用行列式, 好啦,问题来了,行列式怎么和叉积的几何意义联系起来的呢?还是对偶性。

在这里插入图片描述

一个线性变换,可以等价于和对偶向量的点乘。

在这里插入图片描述
整体的计划如下:

  1. 首先通过v和w构造线性变换
  2. 然后求出对偶向量,这个对偶向量恰好就是叉积
  3. 而且这个求对偶向量的过程,恰好也就是通过行列式计算叉积的过程。

在这里插入图片描述

这是一个输入向量,输出值的函数,行列式计算结果代表平行六面体的体积,很明显这是个线性变换(行列式的特点就是这样)。

在这里插入图片描述

根据对偶性,自然有一个1×3的线性变换,进而根据可以变成和3维向量点积,这个三维向量恰好就是我们要的点积。

之所以叉积要用ijk去代替xyz,写成行列式的样子,其实原理就在于此,ijk只是告诉你,算完以后的p是一个向量。

在这里插入图片描述
我们到这里只是给出了p的公式,还没有解释为啥p的模就等于底面积。

还得从最开始,平行六面体的体积来看。设(x,y,z)向量为a。则V=底面积×高=a在p上的投影×p的模

你要注意,高=a在p上的投影,所以底面积就自然等于p的模了。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/914490.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SQL 语句继续学习之记录二

三&#xff0c; 聚合与排序 对表进行聚合查询&#xff0c;即使用聚合函数对表中的列进行合计值或者平均值等合计操作。 通常&#xff0c;聚合函数会对null以外的对象进行合计。但是只有count 函数例外&#xff0c;使用count(*) 可以查出包含null在内的全部数据行数。 使用dis…

Ed腾讯云下一代CDN -- EdgeOne加速MinIO对象存储

省流 使用MinIO作为EdgeOne的源站。 背景介绍 项目中需要一个兼容S3协议的对象存储服务&#xff0c;腾讯云的COS虽然也兼容S3协议&#xff0c;但是也只是支持简单的上传下载&#xff0c;对于上传的时候同时打标签这种需求&#xff0c;就不兼容S3了。所以决定自建一个对象存储…

【分享】华为设备登录安全配置案例

微思网络www.xmws.cn&#xff0c;2002年成立&#xff0c;专业IT认证培训21年&#xff0c;面向全国招生&#xff01; 微 信 号 咨 询&#xff1a; xmws-IT 华为HCIA试听课程&#xff1a;超级实用&#xff0c;华为VRP系统文件详解【视频教学】华为VRP系统文件详解 华为HCIA试听课…

IDEA快速设置Services窗口

现在微服务下面会有很多SpringBoot服务&#xff0c;Services窗口方便我们管理各个SpringBoot服务&#xff0c;但有时IDEA打开项目后无法的看到Services窗口&#xff0c;以下步骤可以解决&#xff01;

shell脚本免交互

一.Here Document免交互 1.免交互概述 使用I/O重定向的方式将命令列表提供给交互式程序 是一种标准输入&#xff0c;只能接收正确的指令或命令 2.格式&#xff1a; 命令 <<标记 ....... 内容 #标记之间是传入内容 ....... 标记 注意事项 标记可以使用任意的合法…

无类别域间路由(Classless Inter-Domain Routing, CIDR):理解IP网络和子网划分(传统的IP地址类ABCDE:分类网络)

文章目录 无类别域间路由&#xff08;CIDR&#xff09;&#xff1a;理解IP网络和子网划分引言传统的IP地址类关于“IP地址的浪费” IP地址与CIDRIP地址概述网络号与主机号CIDR记法&#xff08;网络 网络地址/子网掩码&#xff09;网络和广播地址 CIDR的优势减少路由表项缓解IP…

【AUTOSAR标准规范的下载和阅读方法】

AUTOSAR标准规范的下载和阅读方法 文章目录 AUTOSAR标准规范的下载和阅读方法下载方法 下载方法 我们可以去AUTOSAR的官网进行AUTOSAR标准规范的下载&#xff1a; 官网&#xff1a;https://www.autosar.org/ 步骤如下图&#xff1a; 比如&#xff0c;如果我们想下载Classic P…

【PHP面试题82】system和exec是用来做什么的?有什么区别

文章目录 &#x1f680;一、前言&#xff0c;PHP中system和exec命令的作用&#x1f680;二、system()函数&#x1f680;三、exec()函数&#x1f680;四、区别和应用场景&#x1f50e;4.1 使用system()函数的应用场景&#x1f50e;4.2 使用exec()函数的应用场景&#x1f50e;4.3…

视频云存储/安防监控EasyCVR视频汇聚平台分发rtsp流时,出现“用户已过期”提示该如何解决?

视频云存储/安防监控EasyCVR视频汇聚平台基于云边端智能协同&#xff0c;支持海量视频的轻量化接入与汇聚、转码与处理、全网智能分发、视频集中存储等。音视频流媒体视频平台EasyCVR拓展性强&#xff0c;视频能力丰富&#xff0c;具体可实现视频监控直播、视频轮播、视频录像、…

mysql并行效率提升

下面是一个并行读取mysql数据库表的测试程序&#xff0c;测试结果发现&#xff0c;读取10个表&#xff0c;1个个读取&#xff0c;和并行读取10个&#xff0c;效率一样&#xff0c;甚至并行读取还慢很多&#xff0c;这是为什么&#xff1f; con get_db_conn() results {} poo…

Mybatis 建立依赖失败:报错Dependency ‘mysql:mysql-connector-java:8.0.28‘ not found

Mybatis 建立依赖失败&#xff1a;报错Dependency ‘mysql:mysql-connector-java:8.0.28’ not found 解决办法&#xff1a; 写完依赖代码&#xff0c;直接重构&#xff0c;下载依赖。 图片: ![Alt](https://img-home.csdnimg.cn/images/20220524100510.png Mac 版本注意Ide…

1.Flink源码编译

目录 目录 1.1软件安装 1.1.1 jdk 1.1.2 maven 1.1.3 node js 1.2 下载flink源码 1.3 编译源码 1.4 idea打开flink源码 1.5 运行wordcount 1.1软件安装 软件地址 链接&#xff1a;https://pan.baidu.com/s/1ZxYydR8rBfpLCcIdaOzxVg 提取码&#xff1a;12xq 1.1.1 …

Python——列表(list)推导式

本文基于python3。 目录 1、Python推导式2、列表(list)推导式2.1、定义2.2、实际操作2.2.1、一个表达式&#xff0c;后面为一个 for 子句2.2.2、一个表达式&#xff0c;后面为一个 for 子句&#xff0c;然后&#xff0c;跟着if 子句。2.2.3、一个表达式&#xff0c;后面为一个…

华纳云:ubuntu下nginx服务器如何配置

在Ubuntu操作系统上配置Nginx服务器涉及以下步骤。这里我将提供一个基本的配置示例&#xff0c;你可以根据自己的需求进行修改和定制。 安装 Nginx&#xff1a; 打开终端&#xff0c;并输入以下命令来安装 Nginx&#xff1a; sudo apt update sudo apt install nginx 启动 …

【剑指offer】【C语言】调整数组中奇偶数顺序_冒泡法+二分法_调整该数组中数字的顺序使得数组中所有的奇数位于数组的前半部分,所有偶数位于数组的后半部分

题目&#xff1a; 输入一个整数数组&#xff0c;实现一个函数&#xff0c;来调整该数组中数字的顺序使得数组中所有的奇数位于数组的前半部分&#xff0c;所有偶数位于数组的后半部分。 示例&#xff1a;{4&#xff0c;6&#xff0c;5&#xff0c;7&#xff0c;2&#xff0c;3…

2023.8 - java - Number类和Math类

一般地&#xff0c;当需要使用数字的时候&#xff0c;我们通常使用内置数据类型&#xff0c;如&#xff1a;byte、int、long、double 等。 然而&#xff0c;在实际开发过程中&#xff0c;我们经常会遇到需要使用对象&#xff0c;而不是内置数据类型的情形。为了解决这个问题&a…

时序分解 | MATLAB实现基于SVMD逐次变分模态分解的信号分解分量可视化

时序分解 | MATLAB实现基于SVMD逐次变分模态分解的信号分解分量可视化 目录 时序分解 | MATLAB实现基于SVMD逐次变分模态分解的信号分解分量可视化效果一览基本介绍程序设计参考资料 效果一览 基本介绍 SVMD分解算法&#xff0c;分解结果可视化&#xff0c;MATLAB程序&#xff…

【微服务学习笔记】认识微服务

【微服务学习笔记】认识微服务 单体架构 分布式架构 微服务架构 SpringCloud 服务拆分和注意事项 服务拆分的案例demo 各个服务之间的数据库都是相互独立的&#xff0c;你不能直接访问对方的数据库&#xff0c;只能从一个服务像另外一个服务发起远程调用 在订单模块的服务中 …

【面试经典150题】移除元素·JavaScript版

题目来源 大致思路&#xff1a;遍历数组&#xff0c;如果遇到值为val的元素&#xff0c;使用数组最后一个元素替换它。详细过程&#xff1a; /*** param {number[]} nums* param {number} val* return {number}*/ var removeElement function(nums, val) {let i0,nnums.leng…

【数据库】表操作 习题总结

目录 关系建表 数据库sql的执行顺序 内外连接的写法 1.设计一张商品表 2.设计一张老师表 3.设计一张图书表 4.查询练习 5.查询练习 6.设计一个考勤系统 7.设计一个学校宿舍管理系统 8.设计一个车辆违章系统 9.设计一个学校食堂管理系统 10.有一张员工表emp&#xf…