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= u1⋮un

可以用二维向量举一个小的例子
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,...,vn∈Rn 和对应的标量 c 1 , c 2 , ... , c n ∈ R {\rm c}_1, {\rm c}_2, \dots, {\rm c}_n \in \mathbb{R} c1,c2,...,cn∈R,它们的线性组合是一个形如:

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=[v1v2⋯vn] c1c2⋮cn

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

其中:

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

注意:

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

线性组合的关键性质
  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 y∈R2 都可以表示为这两个向量的线性组合。

  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,y∈R}.

  • 这是一个 二维向量空间 ,也就是说,任何向量都由两个自由变量 (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+c2v2∣c1,c2∈R}.,什么线性组合?形如 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 2...x n]=[Ax 1Ax 2...Ax n]= A x11x12⋮x1n A x21x22⋮x2n ⋯A xn1xn2⋮xnn

类似于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 =2⋅8+7⋅2+1⋅8=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]=4⋅1+3⋅(−1)=4⋅1+3⋅(−1)

左边的矩阵表示Transform ,右边的Vector表示原向量,结果是变换之后在数轴上的位置。

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

那么为什么?

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

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

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

相关推荐
茶猫_2 分钟前
力扣面试题 - 40 迷路的机器人 C语言解法
c语言·数据结构·算法·leetcode·机器人·深度优先
轻浮j12 分钟前
Sentinel底层原理以及使用算法
java·算法·sentinel
KevinRay_17 分钟前
Numpy指南:解锁Python多维数组与矩阵运算(下)
python·矩阵·numpy·排序·文件读写
Abelard_27 分钟前
LeetCode--347.前k个高频元素(使用优先队列解决)
java·算法·leetcode
小猪写代码30 分钟前
C语言:递归函数(新增)
算法·c#
点云SLAM32 分钟前
C++创建文件夹和文件夹下相关操作
开发语言·c++·算法
heeheeai1 小时前
kotlin 函数作为参数
java·算法·kotlin
是十一月末1 小时前
opencv实现KNN算法识别图片数字
人工智能·python·opencv·算法·k-近邻算法
袖清暮雨1 小时前
5_SparkGraphX讲解
大数据·算法·spark
Tisfy1 小时前
LeetCode 3218.切蛋糕的最小总开销 I:记忆化搜索(深度优先搜索DFS)
算法·leetcode·深度优先·题解·记忆化搜索