Bootstrap

02向量与矩阵方程

向量

  • 列向量:即仅包含一列的矩阵,向量是他的简称

  • 零向量:所有元素都为零的向量

向量通常写成 n × 1 n\times 1 n×1矩阵的形式
u = [ u 1 ⋮ u n ] {\rm u}= \begin{bmatrix} u_1\\ \vdots\\ u_n \end{bmatrix} u= u1un
可以用二维向量举一个小的例子
u = [ x y ] {\rm u}= \begin{bmatrix} x\\y \end{bmatrix} u=[xy]
并且,它可以与其他同类的向量进行加减(平行四边形法则)

也支持和实数做标量乘法(与每一行的元素进行乘法)

二维向量可以在二维空间中作为一个点存在。

线性组合

在向量空间 R n \mathbb{R}^n Rn 中,线性组合的定义如下:

定义

给定 n n n 个向量 v 1 , v 2 , … , v n ∈ R n {\rm v}_1, {\rm v}_2, \dots, {\rm v}_n \in \mathbb{R}^n v1,v2,,vnRn 和对应的标量 c 1 , c 2 , … , c n ∈ R {\rm c}_1, {\rm c}_2, \dots, {\rm c}_n \in \mathbb{R} c1,c2,,cnR,它们的线性组合是一个形如:

y = c 1 v 1 + c 2 v 2 + ⋯ + c n v n y = {\rm c}_1{\rm v}_1 + {\rm c}_2{\rm v}_2 + \cdots + {\rm c}_n{\rm v}_n y=c1v1+c2v2++cnvn

的向量 y y y,其中:

  • v 1 , v 2 , … , v n {\rm v}_1, {\rm v}_2, \dots, {\rm v}_n v1,v2,,vn 是基向量(或一般向量)。简称为向量
  • c 1 , c 2 , … , c n {\rm c}_1, {\rm c}_2, \dots, {\rm c}_n c1,c2,,cn 是标量系数。简称为标量
  • y y y 是由这组向量和标量生成的向量

几何意义
  1. 线性组合生成平面或空间:

    • v 1 {\rm v}_1 v1 v 2 {\rm v}_2 v2 R 2 \mathbb{R}^2 R2 中的非零向量,那么它们的线性组合生成一个平面。
    • R 3 \mathbb{R}^3 R3 中,三组线性独立的向量的线性组合可以生成整个三维空间。(通俗一点,就是不存在共线)
  2. 线性组合的范围:

    • 如果 v 1 , v 2 , … , v n {\rm v}_1, {\rm v}_2, \dots, {\rm v}_n v1,v2,,vn 是线性无关的向量组,则它们的线性组合可以覆盖整个向量空间 R n \mathbb{R}^n Rn
    • 如果是线性相关的向量组,则线性组合只覆盖部分空间。

矩阵表示

线性组合可以用矩阵乘法形式表示:

y = [ v 1 v 2 ⋯ v n ] [ c 1 c 2 ⋮ c n ] y = \begin{bmatrix} {\rm v}_1 & {\rm v}_2 & \cdots & {\rm v}_n \end{bmatrix} \begin{bmatrix} {\rm c}_1 \\ {\rm c}_2 \\ \vdots \\ {\rm c}_n \end{bmatrix} y=[v1v2vn] c1c2cn

可以这么理解:列向量与对应元素为权的线性组合就是 y y y

其中:

  • [ v 1 v 2 ⋯ v n ] \begin{bmatrix} {\rm v}_1 & {\rm v}_2 & \cdots & {\rm v}_n \end{bmatrix} [v1v2vn] 是列向量矩阵。
  • [ c 1 c 2 ⋮ c n ] \begin{bmatrix} {\rm c}_1 \\ {\rm c}_2 \\ \vdots \\ {\rm c}_n \end{bmatrix} c1c2cn 是标量系数向量。

注意:

  • 向量矩阵的列数 = 标量系数向量的行数
  • 这与点积十分类似(在结尾,我会补充点积的相关内容)

线性组合的关键性质
  1. 零向量的生成:
    如果所有标量 c 1 , c 2 , … , c n {\rm c}_1, {\rm c}_2, \dots, {\rm c}_n c1,c2,,cn 都为零,则 y = 0 y = 0 y=0,即零向量总是可以通过线性组合生成。

  2. 线性相关性:

    • 如果存在一组非全为零的标量使得:
      c 1 v 1 + c 2 v 2 + ⋯ + c n v n = 0 , {\rm c}_1{\rm v}_1 + {\rm c}_2{\rm v}_2 + \cdots + {\rm c}_n{\rm v}_n = 0, c1v1+c2v2++cnvn=0,
      则向量组 v 1 , v 2 , … , v n {\rm v}_1, {\rm v}_2, \dots, {\rm v}_n v1,v2,,vn 是线性相关的。

    • 否则,向量组是线性无关的。

  3. 线性组合生成的空间:

    • 一组向量的所有线性组合的集合称为该向量组的生成空间,记为 s p a n ( v 1 , v 2 , … , v n ) \mathrm{span}({\rm v}_1, {\rm v}_2, \dots, {\rm v}_n) span(v1,v2,,vn)

举例
  1. R 2 \mathbb{R}^2 R2 中,给定 v 1 = [ 1 0 ] {\rm v}_1 = \begin{bmatrix} 1 \\ 0 \end{bmatrix} v1=[10] v 2 = [ 0 1 ] {\rm v}_2 = \begin{bmatrix} 0 \\ 1 \end{bmatrix} v2=[01]
    y = c 1 v 1 + c 2 v 2 = [ c 1 c 2 ] . y = c_1 {\rm v}_1 + c_2 {\rm v}_2 = \begin{bmatrix} c_1 \\ c_2 \end{bmatrix}. y=c1v1+c2v2=[c1c2].

    任何 y ∈ R 2 y \in \mathbb{R}^2 yR2 都可以表示为这两个向量的线性组合。

  2. R 3 \mathbb{R}^3 R3 中,若给定 v 1 = [ 1 0 0 ] {\rm v}_1 = \begin{bmatrix} 1 \\ 0 \\ 0 \end{bmatrix} v1= 100 , v 2 = [ 0 1 0 ] {\rm v}_2 = \begin{bmatrix} 0 \\ 1 \\ 0 \end{bmatrix} v2= 010 , v 3 = [ 0 0 1 ] {\rm v}_3 = \begin{bmatrix} 0 \\ 0 \\ 1 \end{bmatrix} v3= 001 ,则它们的线性组合覆盖整个 R 3 \mathbb{R}^3 R3

11月23日补充

举个例子,二维空间 R 2 \mathbb{R}^2 R2

在二维空间中,我们需要 至少两个线性无关的向量 才能表示整个空间 R 2 \mathbb{R}^2 R2
R 2 = { v = [ x y ]   ∣   x , y ∈ R } . \mathbb{R}^2 = \left\{ \mathbf{v} = \begin{bmatrix} x \\ y \end{bmatrix} \, \big| \, x, y \in \mathbb{R} \right\}. R2={v=[xy] x,yR}.

  • 这是一个 二维向量空间,也就是说,任何向量都由两个自由变量 (x, y) 决定,它是线性组合的集合,即 S p a n ( { v 1 , v 2 } ) = { c 1 v 1 + c 2 v 2 ∣ c 1 , c 2 ∈ R } . Span(\{v_1,v_2\})=\{c_1v_1+c_2v_2∣c_1,c_2∈R\}. Span({v1,v2})={c1v1+c2v2c1,c2R}.,什么线性组合?形如 v = c 1 v 1 + c 2 v 2 \mathbf{v} = c_1 \mathbf{v}_1 + c_2 \mathbf{v}_2 v=c1v1+c2v2,例如刚才的 { v 1 , v 2 } \{v_1,v_2\} {v1,v2},就是线性组合的集合,也可以说是 v v v的集合。
  • 它是由两个方向上的向量通过线性组合“张成”的(这两个方向通常称为“基向量,x haty hat”)。
或者使用其他基向量
  • 例如,向量:
    v 1 = [ 1 1 ] , v 2 = [ − 1 2 ] \mathbf{v}_1 = \begin{bmatrix} 1 \\ 1 \end{bmatrix}, \quad \mathbf{v}_2 = \begin{bmatrix} -1 \\ 2 \end{bmatrix} v1=[11],v2=[12]
    也是 R 2 \mathbb{R}^2 R2的一组基。因为它们是线性无关的,可以张成一个二维空间。

冗余向量

  • R 2 \mathbb{R}^2 R2中,任何向量都可以用基向量的线性组合表示:
    v = c 1 v 1 + c 2 v 2 , \mathbf{v} = c_1 \mathbf{v}_1 + c_2 \mathbf{v}_2, v=c1v1+c2v2,

如果多出一个向量,它是基向量的线性组合,比如:
v 3 = [ 2 3 ] = 2 v 1 + ( − 1 ) v 2 , \mathbf{v}_3 = \begin{bmatrix} 2 \\ 3 \end{bmatrix} = 2 \mathbf{v}_1 + (-1) \mathbf{v}_2, v3=[23]=2v1+(1)v2,
那么这个向量不再增加任何新的方向,它被称为“冗余向量”。

冗余向量可以写进 R 2 \mathbb{R}^2 R2的表达式,它并不影响维度,因为它是线性相关的,可以用线性无关向量给替换掉。

如何找到冗余向量

  1. 通用方法:遍历查找线性无关向量是否能够表示这个向量,能表示说明冗余
  2. 使用行列式(只适用于方阵),如果行列式结果不为0说明有冗余向量,然后再进行通用方法判断(不确定,我不是很懂)
  3. 先化简为行最简形式R R E F,然后通过主元列判断是否是冗余向量,如果不是主元列说明是冗余变量。

如何判断一个冗余向量是否被唯一确定?

  1. 用 RREF 找到相关的冗余向量:
    • 将所有向量作为列向量,构造矩阵,化为行最简形式(RREF)。
    • 主元列对应线性无关的向量,非主元列对应冗余向量。
    • 如果只有一个冗余向量,且该向量是问题向量,则它被唯一确定。
  2. 如果存在多个冗余向量:
    • 冗余向量之间不存在依赖关系:
      • 每个冗余向量可以由主元列唯一表示。
      • 问题向量被唯一确定。
    • 冗余向量之间存在依赖关系:
      • 冗余向量可以通过其他冗余向量与主元列组合表示。
      • 问题向量的表示可能有多种形式,因此无法被唯一确定。

矩阵的积

两个矩阵相乘,可以看作是B的每一个列向量与A进行一次乘法。最后构成一个新的矩阵。(点乘)
A X = A [ x ⃗ 1 x ⃗ 2 … x ⃗ n ] = [ A x ⃗ 1   A x ⃗ 2   …   A x ⃗ n ] = [ A [ x 11 x 12 ⋮ x 1 n ] A [ x 21 x 22 ⋮ x 2 n ] ⋯ A [ x n 1 x n 2 ⋮ x n n ] ] AX = A\left[\vec x_1 \vec x_2 \dots \vec x_n \right]=\left[A\vec x_1 \, A\vec x_2 \, \dots \, A\vec x_n \right]= \begin{bmatrix} A\begin{bmatrix} x_{11}\\x_{12} \\\vdots\\x_{1n} \end{bmatrix} A\begin{bmatrix} x_{21}\\x_{22} \\\vdots\\x_{2n} \end{bmatrix} \cdots A\begin{bmatrix} x_{n1}\\x_{n2} \\\vdots\\x_{nn} \end{bmatrix} \end{bmatrix} AX=A[x 1x 2x n]=[Ax 1Ax 2Ax n]= A x11x12x1n A x21x22x2n A xn1xn2xnn
类似于n次矩阵方程的计算。

点积

两个相同维数的向量

[ 2 7 1 ] ⋅ [ 8 2 8 ] = 2 ⋅ 8 + 7 ⋅ 2 + 1 ⋅ 8 = 38 \begin{bmatrix} 2\\ 7\\ 1\\ \end{bmatrix}\cdot \begin{bmatrix} 8\\ 2\\ 8\\ \end{bmatrix}=2\cdot 8 +7\cdot 2 +1\cdot 8 =38 271 828 =28+72+18=38

现在有两个向量,假设它们是用来表示三维坐标即(x,y,z)。我们只需要将它们配对相乘相加即可。

在几何上:A向量在B向量的投影长度 * B向量的长度。

  • 锐角:正数
  • 垂直:0
  • 钝角:负数

为何点乘与顺序无关

画图,然后分别做两个投影,我们会发现垂直线相交的点连接原点形成的线,正好是向量夹角的角平分线。即互为镜像。(当向量为单位长度时)

当向量不为单位长度时,我们可以理解为,先提出系数,然后再点乘单位向量

高维空间到低维空间

举一个例子。

当原空间为二维空间,要压缩要一维空间。

[!NOTE]

我们可以在二维空间上的y=x上取无数个间隔相同的点。在压缩之后,这些点将等距分布在一维空间上,即数轴上。–》线性变换

首先补充一下同一维度下的基向量的线性变换。 (基向量指的是i hat、j hat)
[ 1 2 2 3 ] \begin{bmatrix} 1 &2\\ 2 &3 \end{bmatrix} [1223]
这个2*2矩阵表示这个基向量线性变换的方法。

第一列是i hat的变换之后的位置(1,2)。同理,第二列…

使用它乘以同一维度的向量,就可以得到线性变换之后的新向量。

然后再进入到压缩到更低维度。举个例子,从二维到数轴。
[ 1 2 ] [ 1 3 ] = 4 ⋅ 1 + 3 ⋅ ( − 1 ) [ 1 2 ] [ 1 3 ] = 4 ⋅ 1 + 3 ⋅ ( − 1 ) \begin{align} \begin{bmatrix} 1 & 2 \end{bmatrix} \begin{bmatrix} 1 \\ 3 \end{bmatrix} &= 4 \cdot 1 + 3 \cdot (-1) \\[10pt] % 行间距可以调整,例如 10pt \begin{bmatrix} 1 \\ 2 \end{bmatrix} \begin{bmatrix} 1 \\ 3 \end{bmatrix} &= 4 \cdot 1 + 3 \cdot (-1) \end{align} [12][13][12][13]=41+3(1)=41+3(1)
左边的矩阵表示Transform,右边的Vector表示原向量,结果是变换之后在数轴上的位置。

有没有发现,这和直接进行点乘,是一样的,只不过是将向量倾斜为矩阵了而已。

那么为什么?

以我的看法。线性变换1*2矩阵的二维平面表现是一个向量,让这个矩阵点乘向量,即让向量投影在这个矩阵表现的向量所在的直线数轴。

因而,一个压缩的线性代换完全可以用一个向量来表示,这展现了数学之美

【熟肉】线性代数的本质 - 07 - 点积与对偶性

;