线性代数的本质

1 向量是什么

线性代数中最基础最根源的部分就是向量

  • 从物理角度看,向量是空间中的箭头,决定一个向量的是长度和方向,可以任意平移
  • 从程序角度,向量是有序的数字列表

    向量加法和数乘贯穿线性代数始终

向量几何意义

  • 二维坐标系中的一个箭头,从原点出发

  • 向量是有序的数字列表,分别用 x,y,z 表示向量在坐标系箭头所在那一个点,一般我们竖着写,用方括号包起来:

[xyz]\left[\begin{matrix} x\\y\\z \end{matrix} \right]

向量加法和向量数乘

向量加法

存在两个向量,为了相加,将第二个向量平移,使得它的起点与第一个向量终点重合,然后画一个从第一个向量起点到第二个向量终点的箭头,就是他们的和。

为什么这样定义???

  • 如果将向量看做在空间中的运动,先从向量 1 方向运动一段距离,再向向量 2 方向移动,总体效果与沿着这两个向量和方向运动一样。当然,顺序换一换也是一样。

  • 从数值计算的角度而言,我们可以这样理解。先沿着 x 轴运动 1,再沿 y 轴运动 2,然后 x 轴运动 3,y 轴-1。

向量数乘

向量长度的伸缩

  • 从数值计算的角度,伸缩等于将 x,y 分量分别相乘

线性代数为数据分析提供了一条将大量数据列表概念化可视化的途径,另一方面,给计算机图形程序员提供了一种语言,通过处理数字来描述并操作空间

2 向量线性组合、张开空间、基

在 xy 坐标系中,有两个特别的向量,单位向量 i,j。

i^j^\hat i \hat j

可以将向量看成是单位向量经过伸缩后求和的结果。因此向量和可以看成是单位向量伸缩求和。

由此引申出一个问题:

我们完全可以选择不同的基向量,获得一个合理的新坐标系,比如两个不垂直的基向量完全可以通过数乘求和获得所有向量

目前我们需要知道的是,当我们用数来描述向量的时候,都依赖我们正在使用的基,两个数乘向量的和被称为这两个向量的线性组合。

av+bwa \vec v + b \vec w

线性这个词是什么意思?

可以这么理解:如果上面公式中 a,b 两个标量固定其中一个,逐渐改变另外一个,所产生的向量的终点最终会绘制出一条直线。

当同时变化两个标量,最终能到达平面内所有的点,即张开平面。(这两个向量同方向例外)

本质上是在问:仅通过向量加法和向量数乘这两种基本运算,能获得可能向量的集合是什么

张成空间

如上所述,两个向量线性组合会张成平面,那么引入第三个向量,就可以张成空间。但是如果第三个向量或者有某两个向量重合,那么就会受困于这一平面,无法张开空间,即这一组向量中至少有一个是多余的,没有对张开空间做出任何贡献。

线性相关

另一方面,如果所有向量都给张成空间添加了新的维度,那么就是线性无关。

如果一个向量是另一个向量的线性组合,那么这两个向量是线性相关的

[2211]\left[\begin{matrix} 2&-2\\-1 &-1 \end{matrix}\right]

综上所述:

空间的一组基的严格定义是这样的:张成该空间的一个线性无关向量的集合

3 矩阵与空间变换

  • 线性变换的概念以及它和矩阵的关系

  • 矩阵的向量乘法

什么是线性变换

变换只是函数一种花哨的说法,输入内容并输出相应结果,之所以用变换的说法,是在暗示一个运动的过程,(即一个输入向量经过变换,移动到输出位置)

空间的而变换可以很复杂,但线性代数限制在一种特殊类型变换上——线性变换

如果一个变换具备以下性质,称之为线性的:

  • 直线在变换后仍是直线
  • 原点必须保持固定

总的来说,应该把线性变换看做是保持网格线平行且等距分布的变换。

那么如何用数值表示这一过程呢(怎么给出一个公式,能拿到变换后的向量坐标)

实际上,你只需要记录两个基向量变换后的位置,其他向量会随之而动

也就是说,一个线性变换可以完全由两组数据决定——基向量变换后的坐标

因此我们将他们放在一个矩阵中,分别表示这两组数据

a[xiyi]+b[xjyj]=[axi+bxjayi+byj]a\left[\begin{matrix} x_i\\y_i \end{matrix} \right]+b\left[\begin{matrix} x_j\\y_j \end{matrix} \right]=\left[\begin{matrix} ax_i+bx_j\\ay_i+by_j \end{matrix} \right]

从某种意义上说,笛卡尔坐标中的向量本身也隐含了一种线性变换:比如(1,1)这个向量

1[10]+1[01]=[11+1010+11]1\left[\begin{matrix} 1\\0 \end{matrix} \right]+1\left[\begin{matrix} 0\\1 \end{matrix} \right]=\left[\begin{matrix} 1*1+1*0\\1*0+1*1 \end{matrix} \right]

再来看看旋转矩阵定义(旋转是最好理解的变换)的含义:

[cosβsinβ0sinβcosβ0001]\left[\begin{matrix} cos\beta& -sin\beta&0\\sin\beta&cos\beta&0 \\0&0&1\end{matrix} \right]

我们直接想象如果逆时针旋转 90 度,可以直接想出原来的 x 轴到了原来 y 轴位置,原来 y 轴到了原来-x 轴位置。单位向量的坐标就变成

[010][100][001]\left[\begin{matrix} 0\\1\\0 \end{matrix}\right] \left[\begin{matrix} -1\\0\\0 \end{matrix}\right] \left[\begin{matrix} 0\\0\\1 \end{matrix}\right]

矩阵向量乘法就是计算线性变换的一种途径

[abcd][xy]=x[ac]+y[bd]=[ax+bycx+dy]\left[\begin{matrix} a&b\\c&d \end{matrix}\right] \left[\begin{matrix} x\\y \end{matrix}\right]=x \left[\begin{matrix} a\\c \end{matrix}\right]+y \left[\begin{matrix} b\\d \end{matrix}\right]=\left[\begin{matrix} ax+by\\cx+dy\end{matrix}\right]

4 复合变换

如何描述:一个变换之后再进行另一个变换

比如旋转之后再剪切的计算过程为:

其复合总体结果等效变换矩阵为

[1110]\left[\begin{matrix} 1&-1\\1&0 \end{matrix}\right]

因此我们可以认为这个新矩阵就是两个变换矩阵的积

我们不必纠结记忆两个矩阵相乘的数学算法,而是明白其几何意义:

我们可以追踪基向量的变化:

然后我们引入通用计算

[abcd][efgh]=[ae+bgaf+bhce+dgcf+dh]\left[\begin{matrix} a&b\\c&d \end{matrix}\right]\left[\begin{matrix} e&f\\g&h \end{matrix}\right]=\left[\begin{matrix} ae+bg&af+bh\\ce+dg&cf+dh \end{matrix}\right]

5 三维空间线性变换

6 行列式

线性变换的结果可能对空间进行了扩大或缩小,如何测量面积变化的比例?

  • 这个比例称为这个变换的行列式(一个矩阵的行列式是=3 说明面积扩大 3 倍,=0 说明压缩到一条线甚至一个点,只要检验行列式是否为 0 就能知道是否将空间压缩到更小维度)

  • 当行列式为负,则改变了空间定向,一种理解是基向量 j 在 i 左边,如果变换后变到右边,则称为改变定向

  • 如果 3 阶行列式为正,符合右手定则;如果为负,符合左手定则

7 逆矩阵、列空间、秩、零空间

求解线性方程组

Ax=vA \vec x=\vec v

2x+5y+3z=34x+0y+8z=01x+3y+0z=22x + 5y+3z=-3 \\ 4x +0y+8z=0 \\ 1x+3y+0z=2

[253408130][xyz]=[302]\left[\begin{matrix} 2&5&3\\4&0&8\\1&3&0 \end{matrix}\right]\left[\begin{matrix} x\\y\\z\end{matrix}\right]=\left[\begin{matrix}-3\\0\\2 \end{matrix}\right]

逆矩阵

A1AA^{-1}A

首先应用 A 变换再应用 A 逆变换,你会回到原始状态

两个变换相继作用在代数上体现为矩阵乘法

所以 A 逆乘以 A 等于一个什么都不做的矩阵(恒等变换)

一旦找到 A 逆(且 A 的行列式不等于 0),然后可以来求解方程:

A1Ax=A1vA^{-1}A \vec x=A^{-1} \vec v

当行列式为 0 并不意味着方程无解

当变换结果为一条线时,也就是说结果是一维的,我们称这个变换的秩=1,代表维度

不管是直线、平面还是空间,所有可能的变换结果的集合称为矩阵的列空间,矩阵的列告诉你基向量变换后的位置,这些基向量张成的空间就是所有可能的变换结果,也就是说列空间就是矩阵列所张成的空间。

秩就是列空间的维数,当秩与列数相等称为满秩

当不满秩,会出现降维,会有一系列向量变换后落在原点,变换后落在原点的向量集合称为零空间。

对于一个方程而言,结果如果恰好是零向量,那么解就是零空间

非方阵

3 行 2 列矩阵:

因为矩阵有两列表明输入空间有两个基向量,有三行表明每一个基向量在变换后都用三个独立坐标描述;

2 行 3 列矩阵:

3 列表明原始空间有 3 个基向量,两行表明这 3 个基向量在变换后都仅用两个坐标描述,一定落在二维空间,因此这是三维到二维空间的变换。

8 点积

[abc].[xyz]=ax+by+cz\left[\begin{matrix} a\\b\\c \end{matrix}\right] . \left[\begin{matrix} x\\y\\z\end{matrix}\right]=ax+by+cz

几何意义是

当两个向量相互垂直,点积为 0;方向大致相同,点积为正;点积是不受顺序影响的,这是因为,当两个向量对称,明显可以证明双方投影长度一致,所以结果不受顺序影响,当你放大其中一个向量(要么是投影随相同倍数放大,要么投影不变,向量成倍),显然结果不受顺序影响。

叉乘

真正的叉积是通过两个三维向量生成一个新的三维向量

v×w=p\vec v \times \vec w=\vec p

[v1v2v3]×[w1w2w31]=det([i^v1w1j^v2w2k^v3w3])\left[\begin{matrix} v_{1}\\v_{2}\\v_{3} \end{matrix}\right] \times \left[\begin{matrix} w_{1}\\w_{2}\\w_{31} \end{matrix}\right]=det(\left[\begin{matrix} \hat i & v_{1} & w_{1} \\\hat j & v_{2} & w_{2}\\\hat k & v_{3} & w_{3} \end{matrix}\right])

i^(v2w3v3w2)+j^(v3w1v1w3)+k^(v1w2v2w1)\hat i(v_{2}w_{3}-v_{3}w_{2})+\hat j(v_{3}w_{1}-v_{1}w_{3})+\hat k(v_{1}w_{2}-v_{2}w_{1})

  • 这个向量的长度就是平行四边形的面积
  • 而方向则与平行四边形所在的面垂直
  • 使用右手定则来判断其方向
Author: sumshare
Link: http://blog.sumshare.cn/2021/05/08/linear-algebra/
Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.