1. 线性组合

接下来我们要换一个角度来看向量。以二维平面直角坐标系为例,i, j 分别是沿 2 个坐标轴方向的单位向量。那么坐标平面上的其他向量,例如 [ 3  -2 ] [3−与 i, j 是什么关系呢?

将向量 i 沿水平向右的方向拉升 3 倍,向量 j 沿竖直向下的方向拉升 2 倍

这样,我们可以将向量 [ 3  -2 ] [3−2] 看成是将向量 i, j 缩放后再相加的结果

向量 i, j 称为基向量,其他向量都可以通过对基向量缩放再相加的方法构造出来。基向量缩放的倍数对应向量的各个分量,即向量对应的坐标。

我们可以通过选择不同的基向量来构造新的坐标系。例如,我们可以选择指向右上方的向量 v 和 指向右下方的向量 w 作为基向量。

对这组新的基向量进行缩放再相加,同样也能构造出其他的向量

一组基向量就对应一个坐标系,选择不同的基向量就构造出了不同的坐标系。同一个向量,在不同的坐标系下(即采用不同的基向量),其坐标值也要相应地发生变化。后面,咪博士会进一步谈到具体如何变换。

上面,反复出现 “将向量进行缩放再相加” 的操作,这样的操作,我们称之为 线性组合

2. 向量张成的空间

在二维平面中,选取 2 个向量,然后考虑它们所有可能的线性组合,我们会得到什么呢?这取决于我们选择的 2 个向量。

通常情况下,我们会得到整个平面

如果选择的 2 个向量,恰好共线的话,那它们的线性组合就被局限在一条过原点的直线上了

最极端的情况是,选择的 2  个向量都是零向量,那么它们的线性组合就只可能是零向量了

向量 v, w 的 全部线性组合 所构成的向量集合称为向量 v, w 所 张成的空间

还记得前面的教程中,咪博士谈到数乘和加法是向量 2 个最基础的运算吗?当我们谈论向量所张成的空间时,我们实际上就是在问,仅仅通过数乘和加法 2 种基础运算,你能获得的所有可能的向量集合是什么。

在线性代数中,向量的起点始终固定在原点的位置,因此 向量的终点就唯一确定了向量本身。这样,我们便可以将向量看成是空间中的点(即向量的终点)

3. 线性相关、线性无关

将线性组合的想法扩展到 3 维空间中。想象 3 个 3 维向量,它们所张成的空间会是什么样的呢?这取决于我们选择的 3 个向量。

  • a. 通常情况下,我们会得到整个 3 维空间
  • b. 当选择的 3 个向量共面时,它们所张成的空间是一个过原点的平面
  • c. 当 3 个向量共线时,它们所张成的空间是一条过原点的直线
  • d. 当 3 个向量都是零向量时,它们所张成的空间只包含零向量

显然,在考虑向量所张成的空间时,有些向量是多余的。例如,情况 b ,确定一个平面只需要 2 个向量,而我们却用了 3 个向量,这意味着,有 1 个向量是多余的;情况 c,确定一条直线只需要 1 个向量就够了,而我们用了 3 个向量,其中有 2 个向量是多余的。数学上,我们用线性相关来描述这样的现象。

当我们说几个向量所构成的向量组线性相关时,意思是向量组中的(任意)一个向量都可以用向量组中其他向量的线性组合来表示出来。换句话讲,这个向量已经落在其他向量所张成的空间中,它对整个向量组张成的空间是没有贡献的,把它从向量组中拿掉,并不会影响向量组所张成的空间。

线性无关指的是,向量组中的(任意)一个向量无法用向量组中其他向量的线性组合表示出来。换句话说,向量组中的每一个向量都为向量组所张成的空间贡献了一个维度,每一个向量都缺一不可,少了任何一个向量,都会改变向量组所张成的空间。

4. 基的严格定义

最后,我们把本节相关的概念串起来,形成基的严格定义:

向量空间的一组 张成 该空间的一个 线性无关 向量集

原文链接:http://www.ipaomi.com/2017/11/21/线性代数的本质与几何意义-02-线性组合、张成的空/

线性代数的本质与几何意义 02. 线性组合、张成的空间、基(3blue1brown 咪博士 图文注解版)的更多相关文章

  1. 线性代数的本质与几何意义 03. 矩阵与线性变换 (3blue1brown 咪博士 图文注解版)

    首先,恭喜你读到了咪博士的这篇文章.本文可以说是该系列最重要.最核心的文章.你对线性代数的一切困惑,根源就在于没有真正理解矩阵到底是什么.读完咪博士的这篇文章,你一定会有一种醍醐灌顶.豁然开朗的感觉! ...

  2. 线性代数的本质与几何意义 01. 向量是什么?(3blue1brown 咪博士 图文注解版)

    向量是线性代数最基础.最基本的概念之一,要深入理解线性代数的本质,首先就要搞清楚向量到底是什么? 向量之所以让人迷糊,是因为我们在物理.数学,以及计算机等许多地方都见过它,但又没有彻底弄懂,以至于似是 ...

  3. 线性代数的28法则:作为程序员掌握这些API就够用了……

    目录 1. 向量 & 矩阵 1.1. 问: np.ndarray 与 np.matrix 的区别 1.2. 向量空间 2. 算术运算 2.1. 为什么线性代数定义的乘积运算不按照加法的规则(按 ...

  4. 线性代数的视角理解LSR(least square regression)的参数评估算法本质

    https://medium.com/@andrew.chamberlain/the-linear-algebra-view-of-least-squares-regression-f67044b7f ...

  5. 02两栈共享空间_DoubleStack--(栈与队列)

    #include "stdio.h" #include "stdlib.h" #include "io.h" #include " ...

  6. [树莓派(raspberry pi)] 02、PI3安装openCV开发环境做图像识别(详细版)

    前言 上一篇我们讲了在linux环境下给树莓派安装系统及入门各种资料 ,今天我们更进一步,尝试在PI3上安装openCV开发环境. 博主在做的过程中主要参考一个国外小哥的文章(见最后链接1),不过其教 ...

  7. Java 使用 Apache commons-math3 线性拟合、非线性拟合实例(带效果图)

    Java 使用 CommonsMath3 的线性和非线性拟合实例,带效果图 例子查看 GitHub Gitee 运行src/main/java/org/wfw/chart/Main.java 即可查看 ...

  8. 带你领会 线性代数 微积分的本质 3blue1brown 动画效果帅出天际

    前段时间在 哔哩哔哩 上偶然发现了 3blue1brown 精美的动画,配上生动的讲解,非常适合帮助建立数学的形象思维 其中两大系列,非常值得反复观看: 线性代数的本质(Essence of line ...

  9. 线性代数导论 | Linear Algebra 课程

    搞统计的线性代数和概率论必须精通,最好要能锻炼出直觉,再学机器学习才会事半功倍. 线性代数只推荐Prof. Gilbert Strang的MIT课程,有视频,有教材,有习题,有考试,一套学下来基本就入 ...

随机推荐

  1. 深入浅出的webpack构建工具---webpack3版本的CommonsChunkPlugin详解(六)

    阅读目录 一:什么是CommonsChunkPlugin, 它的作用是什么? 二:webpack3中CommonsChunkPlugin配置项及含义? 回到顶部 一:什么是CommonsChunkPl ...

  2. JVM解释器和编译器

    首先看一个命令 [root@insure ~]# java -version java version "1.8.0_191" Java(TM) SE Runtime Enviro ...

  3. 动手动脑(lesson2)

    一·随机数生成问题 //信1605-3 20163683 蔡金阳 package lesson2; public class Suiji { private static final int N = ...

  4. 监控 -- kubernetes -- prometheus

    1.但是Heapster无法做Kubernetes下应用的监控.现在,Heapster作为Kubernetes下的开源监控解决方案已经被其弃用,Prometheus成为Kubernetes官方推荐的监 ...

  5. RabbmitMQ-组成及简单使用

    什么是MQ? MQ全程Message Queue,消息队列(MQ)是一种应用程序对应用程序的通信方法.MQ是消费者-生产者模型的典型代表.一端往消息队列中不断写消息而另一端则可以读取队列中的消息. R ...

  6. 51Nod 1705 七星剑

    一道很新颖的概率DP,我看数据范围还以为是有指数级别的复杂度的呢 记得有人说期望要倒着推,但放在这道题上,就咕咕了吧. 我们考虑正着概率DP,设\(fi\)表示将剑升到\(i\)颗星花费的期望,这样我 ...

  7. [Oracle]OWI学习笔记--001

    [Oracle]OWI学习笔记--001 在 OWI 的概念里面,最为重要的是 等待事件 和 等待时间. 等待事件发生时,需要通过 P1,P2,P3 查看具体的资源. 可以通过 v$session_w ...

  8. assert_param函数的用法

    在STM32的固件库和提供的例程中,到处都可以见到assert_param()的使用.如果打开任何一个例程中的stm32f10x_conf.h文件,就可以看到实际上assert_param是一个宏定义 ...

  9. Timer计时不准确的问题及解决方法

    在项目中,需要每隔20ms发送一个RTP数据包.一开始使用的是System.Windows.Forms下的Timer类,但是发现明显延迟了.用StopWatch测了一下,发现它的触发间隔居然不是20m ...

  10. ceph学习

    网络: ceph必须要有公共网络和集群网络: public network:负责客户端交互以及osd与mon之间的通讯 cluster network:负责osd之间的复制,均衡,回填,数据恢复等操作 ...