想象你是一间颜料工作室的调色师,货架上摆满色管,但真正称得上“原料”的只有三种基础色。顾客要的颜色千变万化,你却只靠一个秘诀:按比例混合基础色。比如“2 份朱红 + 3 份群青 + 1 份柠檬黄”就能调出某种灰。这句话就是一张配方单,它记录了一串数字,每个数字代表一种原料的份量。 在数学里,这张配方单叫向量,混合的过程叫线性组合,“能用这些原料调出的所有颜色”构成一个向量空间。当你追问哪些基础色真正不可替代,你就在研究线性无关与基;当你换一套进货渠道、改用不同的基础色写配方,你就在做坐标变换。这套抽象概念正是机器学习处理数据、量子计算描述粒子的共同语言。今天,我们把调色师的工作台当成课堂,一步步走进向量与线性组合的世界。

岗位关联

对 AI 从业者来说,向量与线性组合是读懂特征工程、神经网络与降维算法的第一把钥匙——数据进入模型前的最后一公里,几乎都发生在向量空间里。

目录
  1. 可视化演示
  2. 向量的定义
  3. 向量的运算
  4. 线性组合
  5. 线性生成空间
  6. 线性无关性
  7. 基与维度
  8. 坐标与变换
  9. 应用与拓展
  10. AI 应用场景
  11. Python 演示
  12. 常见误区
  13. 面试题

可视化演示

展示系统处理流水线、实时性能指标曲线及多方案对比分析,包含数据流转、吞吐延迟监控与方案评估。

本节配有交互动效(进入视口后自动加载,约 3KB)。

系统可视化 处理流程:输入→处理→模型→输出 性能监控:实时指标 P=L×T

向量的定义

调色师小陈的货架上,每一款颜料都对应一张配方单。他心爱的“雾霾蓝”写着:蓝 2 份、红 0.5 份、黄 0.2 份。这张单子只记录“每种原料放多少”,不关心最终涂在哪里,只关心数字本身。数学里,这种“按顺序记录的一串数”就叫向量。

把配方单翻译成数学语言:括号里依次写下的数字是向量的分量。若原料有 n 种,配方单就是一张 n 维的“数字清单”。从几何上看,二维向量 (4,3) 可以画成从原点出发、右移 4 步再上移 3 步的箭头;但在数据分析中,向量更像配方单——一行特征数据 (x₁, x₂, …, x_d) 就是一个 d 维向量。

向量用带箭头的字母表示,每个分量都来自实数集合,分量的个数称为维度。它既可以理解为几何空间里的一条有向线段(几何向量),也可以理解为代数里的有序数组(坐标表示),两者是同一只鸟的不同飞法。

至此,向量不再是课本上的箭头,而是一张可以随身携带的配方单:能写下来、能传递、能计算。这正是它成为 AI 世界通用语言的第一步。

v⃗=(v1,v2,…,vn),vi∈R\vec{v} = (v_1, v_2, \ldots, v_n), \quad v_i \in \mathbb{R}
这个公式说明:一个向量就是 n 个有序实数,像配方单上按固定顺序排列的 n 个份量。
  1. 向量记号带箭头的字母 $\vec{v}$ 表示一个向量,像配方单的标题,用来区分普通数字。
    v⃗\vec{v}
  2. 向量分量$v_i$ 是第 $i$ 个分量,对应配方单上第 $i$ 种原料的份量,每个分量都是实数。
    vi∈R,i=1,2,…,nv_i \in \mathbb{R}, \quad i = 1, 2, \ldots, n
  3. 向量维度分量的个数 $n$ 就是维度,对应配方单上原料的种类数,记作 $\vec{v} \in \mathbb{R}^n$。
    n=dim⁡(v⃗)n = \dim(\vec{v})

向量的运算

小陈接到订单要调两种颜色。他决定把两份配方单“合并”:蓝的份量加蓝的份量,红的加红的,黄的加黄的。合并不改变原料的顺序,只是每个数字对号入座地相加——这就是向量加法。

顾客说“雾霾蓝太淡,来 3 倍浓的”,小陈就把配方单上每个数字都乘以 3——这就是标量乘法。加法管“合在一起”,标量乘法管“放大缩小”,两者构成向量的全部基础运算。

加法要求两个向量维度相同,按位置逐项相加;标量乘法让每个分量同乘一个数。这些运算还满足漂亮的运算律:交换律、结合律、分配律。它们保证无论按什么顺序混合配方,最终结果都一样——这份“怎么算都不打架”的默契,正是向量空间能被广泛使用的原因。

有了加法和标量乘法这两支“画笔”,调色师接下来要做的,就是按任意比例组合各种颜料——这正是线性组合登场的时刻。

u⃗+v⃗=(u1+v1,u2+v2,…,un+vn),cv⃗=(cv1,cv2,…,cvn)\vec{u} + \vec{v} = (u_1 + v_1, u_2 + v_2, \ldots, u_n + v_n), \qquad c\vec{v} = (cv_1, cv_2, \ldots, cv_n)
加法把两张配方单逐项归并,标量乘法把整张配方单按倍数缩放,这就是向量世界仅有的两种基本操作。
  1. 对应分量相加两个同维向量相加,只把相同位置的分量相加,像合并两张原料顺序一致的配方单。
    ui+vi(i=1,2,…,n)u_i + v_i \quad (i = 1, 2, \ldots, n)
  2. 标量逐分量缩放标量 $c$ 乘以向量,等于每个分量都乘以 $c$,像把整张配方单放大或缩小相同的倍数。
    cvi(i=1,2,…,n)cv_i \quad (i = 1, 2, \ldots, n)
  3. 运算律保障交换律、结合律、分配律确保混合顺序不影响结果,例如 $\vec{u}+\vec{v}=\vec{v}+\vec{u}$。
    (u⃗+v⃗)+w⃗=u⃗+(v⃗+w⃗),(c+d)v⃗=cv⃗+dv⃗(\vec{u} + \vec{v}) + \vec{w} = \vec{u} + (\vec{v} + \vec{w}), \quad (c+d)\vec{v} = c\vec{v} + d\vec{v}

线性组合

一位苛刻的顾客想要“莫兰迪灰”。小陈翻开配方本,发现它需要 0.3 份朱红、0.5 份群青、0.2 份柠檬黄。每个数字乘以对应色管、挤进同一个调色盆搅匀——这个过程,数学上就是一个线性组合。

更一般地,给定一组向量(一组基础配方),乘上各自的权重系数再相加,得到新向量的过程就是线性组合。系数可以是任意实数,负数表示往反方向加,如同在配方里“减掉”某种原料。例如机器学习里最朴素的线性模型 $\hat{y} = w_1 x_1 + w_2 x_2$,本质上就是对特征向量做线性组合。

线性组合把“缩放”与“相加”两个动作编排成一份完整配方。它是向量空间里最重要的操作:神经网络每一层的计算、推荐系统对用户偏好的打分、图像像素的加权融合,背后都是线性组合在默默工作。

调色师手里的“基础色 + 份量”就是线性组合的全部要素。反过来想:给定一批基础色,到底能调出多少种颜色?这就引出了线性生成的概念。

w⃗=c1v⃗1+c2v⃗2+⋯+ckv⃗k=∑i=1kciv⃗i\vec{w} = c_1\vec{v}_1 + c_2\vec{v}_2 + \cdots + c_k\vec{v}_k = \sum_{i=1}^{k} c_i\vec{v}_i
线性组合就是“每管颜料按份量缩放后全部倒进同一个盆里搅匀”,系数 cᵢ 就是每管的份量。
  1. 权重系数$c_i$ 是第 $i$ 个向量前的权重,可正可负可为零,像配方里对某种原料的加、减或不用。
    ci∈Rc_i \in \mathbb{R}
  2. 缩放向量先把每个向量 $c_i\vec{v}_i$ 按权重缩放,得到一组“备好份量”的中间结果。
    civ⃗ic_i\vec{v}_i
  3. 求和标记求和符号 $\sum$ 把缩放后的 $k$ 个向量逐一相加,得到最终新向量 $\vec{w}$。
    w⃗=∑i=1kciv⃗i\vec{w} = \sum_{i=1}^{k} c_i\vec{v}_i

线性生成空间

小陈突发奇想:如果只允许用群青和朱红两管颜料,且任意调整份量,能调出哪些颜色?他试着画出所有可能结果,发现它们全落在一张过原点的“色盘平面”上。这个平面,就是这两种基础色生成的世界。

数学上,一组向量的线性生成(span)是它们所有线性组合构成的集合。一个向量只能张成一条直线;两个不共线(不成比例)的向量张成一个平面;三个不共面的向量张成整个三维空间。判断“目标颜色能否调出”,等于判断“目标向量是否在生成空间里”。

span 得到的集合并非散乱一团,它本身就是一个向量空间(子空间):把其中任意两个元素相加、任意缩放,结果仍留在里面——好比在色盘平面上怎么混色都出不了这个平面。这种封闭性保证了生成操作的“自洽”。

如果两种基础色只是一管多挤了 3 次的同一种色,那它们张成的只是同一条色线。多一管重复颜料并没有扩大能力——这正是线性无关要回答的问题。

span{v⃗1,v⃗2,…,v⃗k}={∑i=1kciv⃗i | ci∈R}\mathrm{span}\{\vec{v}_1, \vec{v}_2, \ldots, \vec{v}_k\} = \left\{ \sum_{i=1}^{k} c_i\vec{v}_i \ \middle|\ c_i \in \mathbb{R} \right\}
span 就是“用这些基础色能调出的全部颜色集合”,每个 cᵢ 取任意实数,描绘出所有可能的配方。
  1. 集合构造器花括号内的竖线读作“满足……条件的全部元素”,这里指所有线性组合构成的集合。
    { ⋯ | ⋯ }\left\{ \ \cdots \ \middle|\ \cdots \ \right\}
  2. 实数系数每个 $c_i$ 可以取任意实数,对应调色时份量可以连续变化、可增可减。
    ci∈Rc_i \in \mathbb{R}
  3. 张成空间这些组合的全体记为 span,它自身也构成向量空间,称为张成的子空间。
    span{v⃗1,…,v⃗k}\mathrm{span}\{\vec{v}_1, \ldots, \vec{v}_k\}

线性无关性

小陈清点库存,发现“青色”其实就是 2 份蓝加 1 份绿。于是青色并非“独立”原料——有了蓝和绿,它随时能配出来。调色师把这叫冗余,数学家叫它线性相关。

一个向量组线性相关,意味着其中至少一个向量能写成其余向量的线性组合;等价地,存在一组不全为零的系数,让它们的组合等于零向量。反之,只有当所有系数全为零才能组合出零向量,这组向量就是线性无关的。判定工具在高维下通常用高斯消元求秩:把向量排成矩阵,秩等于向量个数即无关。

在一个无关组里任取子集仍无关;往里加新向量可能让整组变得相关。极大线性无关组在去掉全部冗余的同时保留原组的生成能力,它的向量个数固定,等于矩阵的秩——就像小陈从 8 管颜料里挑出 3 管互不冗余、又能调出一切颜色的核心色。

小陈把 8 管颜料缩减到 3 管互不冗余的,还能调出所有颜色——这就找到了工作台上最重要的一套道具:基。

c1v⃗1+c2v⃗2+⋯+ckv⃗k=0⃗ ⟹ c1=c2=⋯=ck=0c_1\vec{v}_1 + c_2\vec{v}_2 + \cdots + c_k\vec{v}_k = \vec{0} \ \Longrightarrow\ c_1 = c_2 = \cdots = c_k = 0
这个式子说:只有当所有系数都是零时组合才等于零向量,说明没有哪管颜料是多余的——这就是线性无关。
  1. 零向量$\vec{0}$ 是所有分量为 0 的向量,相当于“什么都不调”的空配方。
    0⃗=(0,0,…,0)\vec{0} = (0, 0, \ldots, 0)
  2. 组合等于零把向量组做线性组合后等于零向量,是判定相关性的核心测试,像“检验一组原料能否互相抵消”。
    ∑i=1kciv⃗i=0⃗\sum_{i=1}^{k} c_i\vec{v}_i = \vec{0}
  3. 全零解若等式只允许全零系数,则线性无关;只要存在非零系数,就线性相关。
    c1=c2=⋯=ck=0c_1 = c_2 = \cdots = c_k = 0

基与维度

小陈的目标很明确:用最少的基础色调出店里所有颜色,且每种颜色都有唯一配方。他删掉所有“可由别人配出”的颜料,留下的精简套装,数学上叫一组基(basis)。

基有两个条件:一是线性无关(无冗余),二是能生成整个空间(能力足够)。二者合在一起,保证空间里每个向量有且仅有一种表示方式——配方唯一。最常见的基是标准基:二维中的 $\vec{e}_1=(1,0)$、$\vec{e}_2=(0,1)$,就像坐标纸上横竖两条最自然的轴。

空间里任意一组基,包含的向量个数都相同,这个固定个数就是空间的维度。平面是 2 维,因为总能找到 2 个无关向量张成它;一条直线是 1 维。维度是空间最本质的“指纹”,与选择哪组基无关——无论你用米还是尺量,房间的长都一样。

有了基,每个颜色都有一张“相对于该基”的配方单。小陈换供应商后基础色变了,配方数字随之改变——颜色身份没变,变的是坐标。

v⃗=a1b⃗1+a2b⃗2+⋯+anb⃗n,dim⁡(V)=n\vec{v} = a_1\vec{b}_1 + a_2\vec{b}_2 + \cdots + a_n\vec{b}_n, \qquad \dim(V) = n
基是“最省又最够用”的基础色套装:任何颜色都能被它调出,而且配方唯一;套装里的色管数就是维度。
  1. 按基展开把空间里任意向量 $\vec{v}$ 写成基向量 $\vec{b}_i$ 的线性组合,这种写法叫按基展开。
    v⃗=a1b⃗1+⋯+anb⃗n\vec{v} = a_1\vec{b}_1 + \cdots + a_n\vec{b}_n
  2. 系数唯一因为基线性无关,这样的系数 $(a_1, \ldots, a_n)$ 有且仅有一组,对应配方单只有一份。
    ∃! (a1,a2,…,an)\exists!\, (a_1, a_2, \ldots, a_n)
  3. 空间维度基中向量的个数 $n$ 就是空间维度,任何一组基的个数都相同。
    dim⁡(V)=n\dim(V) = n

坐标与变换

小陈换了一家供应商:原来的群青变成了新色号体系下的深蓝。顾客要的莫兰迪灰没变,但小陈必须用新基础色重新写配方。新旧配方之间的换算靠一张“翻译表”——数学上叫过渡矩阵。

设新基为 $B=\{\vec{b}_1, \ldots, \vec{b}_n\}$,向量 $\vec{v}$ 在新基下的坐标为 $[\vec{v}]_B=(a_1, \ldots, a_n)^T$。过渡矩阵 $P$ 的每一列是旧基向量在新基下的坐标,它把新坐标“翻译”回旧坐标:$\vec{v} = P[\vec{v}]_B$。这就是坐标变换——坐标系换了,配方数字跟着变,颜色本身纹丝不动。

如果在变换中有些方向只是被拉长或压缩、方向却始终不变——即 $A\vec{x}=\lambda\vec{x}$——这个方向 $\vec{x}$ 就叫矩阵 $A$ 的特征向量,比例系数 $\lambda$ 叫特征值。它是坐标变换中最稳定的方向,也是 PCA 找主成分、搜索引擎做页面排序的数学依据。

调色师靠翻译表换配方,靠稳定方向找主色。坐标变换让同一向量有了无数种说法,特征向量则帮他在变化中抓住不变的东西。

v⃗=P[v⃗]B,Ax⃗=λx⃗(x⃗≠0⃗)\vec{v} = P[\vec{v}]_B, \qquad A\vec{x} = \lambda\vec{x} \quad (\vec{x} \neq \vec{0})
过渡矩阵是“新旧基础色之间的翻译表”;特征向量则是“变换中方向不变、只有长度改变”的特殊方向。
  1. 基下坐标$[\vec{v}]_B$ 表示 $\vec{v}$ 在基 $B$ 下的坐标列向量,也就是按新基础色写的配方数字。
    [v⃗]B=(a1,a2,…,an)T[\vec{v}]_B = (a_1, a_2, \ldots, a_n)^T
  2. 过渡矩阵$P$ 的每一列是旧基向量在新基下的坐标,把新坐标换回旧坐标,像词典把一种语言翻成另一种。
    P=[ [b⃗1]B ⋯ [b⃗n]B ]P = \big[\, [\vec{b}_1]_B \ \cdots \ [\vec{b}_n]_B \,\big]
  3. 特征方程$A\vec{x} = \lambda\vec{x}$ 表示矩阵作用于特征向量只产生缩放,方向保持在同一条直线上。
    λx⃗ 与 x⃗ 共线\lambda\vec{x} \ \text{与} \ \vec{x} \ \text{共线}

应用与拓展

故事讲到这里,调色师小陈已经出师。他把配方单的经验带进更大的世界:机器学习中每个样本——房价、用户行为、像素值——都被编码成特征向量;模型训练就是不断调整线性组合的权重,找到最能解释数据的配方。

高维数据动辄几千维,像 5000 种颜料又吵又占地方。PCA 做的事,就是找一组新的“基方向”——前几个方向就解释了数据绝大部分波动——把每个样本用少数基方向的线性组合近似表示,实现数据降维。这相当于用 3 管基础色调出店里 95% 的生意。

更远处,量子计算把粒子状态描述成状态向量的线性组合(叠加态);图像、语音、文本都以向量形式进入深度学习模型。向量的语言,从颜料店一路延伸到整个 AI 宇宙。

从小小的配方单出发,我们走过了向量、运算、线性组合、生成、无关、基、变换,最后看到它们支撑起整个 AI 大厦。下次见到一行数组时请记得:那是调色师的配方单,正等待着被线性组合唤醒。

x⃗i≈c1u⃗1+c2u⃗2+⋯+cku⃗k,k≪d\vec{x}_i \approx c_1\vec{u}_1 + c_2\vec{u}_2 + \cdots + c_k\vec{u}_k, \qquad k \ll d
高维样本可以被少数“主方向”的线性组合近似,k 远小于 d 就是降维的本质——用最省的基础色表达最丰富的信息。
  1. 数据向量$\vec{x}_i$ 是第 $i$ 个样本的特征向量,维度 $d$ 通常很大,像一张超长配方单。
    x⃗i∈Rd\vec{x}_i \in \mathbb{R}^d
  2. 主方向组合用少量方向 $\vec{u}_j$ 的线性组合近似样本,系数 $c_j$ 就是该方向的“份量”。
    x⃗i≈∑j=1kcju⃗j\vec{x}_i \approx \sum_{j=1}^{k} c_j\vec{u}_j
  3. 降维$k \ll d$ 表示远少于原始维度的方向就能保留主要信息,这是 PCA 等降维方法的本质。
    k≪dk \ll d

AI 应用场景

推荐系统的用户特征向量

阶段:数据预处理与特征工程

解决的问题:传统推荐靠人工规则打分,无法自动组合海量行为信号。AI 把用户行为编码成特征向量,再通过线性组合计算偏好得分——就像调色师把“观看、点赞、评论”按权重混成“喜好浓度”。

具体案例:某视频平台把“观看时长、点赞数、评论数、分享数”编码为 4 维特征向量,模型学出一组权重后,对每个视频做加权线性组合得到推荐分,排序后呈现在首页。

PCA 数据降维

阶段:特征选择与维度约减

解决的问题:几千维数据训练慢、噪声大、易过拟合。PCA 的本质是找一组优质“基方向”,把每个样本写成少数基方向的线性组合——用最省的基础色表达最多的信息。

具体案例:人脸识别任务中把 4096 维像素向量降到 50 个主成分方向,重建后人脸仍清晰可辨,训练速度提升数十倍,准确率几乎不降。

词向量与语义运算

阶段:自然语言处理中的嵌入表示

解决的问题:文本无法直接送入模型。Word2Vec 把每个词映射为 300 维向量,语义关系变成向量加减和线性组合——“国王 − 男人 + 女人 = 女王”就是向量的线性运算在语义空间的投影。

具体案例:机器翻译中,把源语言句子编码成向量方向,再通过线性变换映射到目标语言空间;问答系统中用向量距离衡量问题和答案的语义相似度。

Python 演示

python77 行
# -*- coding: utf-8 -*-"""向量与线性组合演示: 用高斯消元判断线性无关, 并求向量在基下的坐标"""  def linear_combination(coefs, vectors):    """将多个向量按给定系数做线性组合, 返回结果向量"""    dim = len(vectors[0])    result = [0.0 for _ in range(dim)]    for c, v in zip(coefs, vectors):        for i in range(dim):            result[i] += c * v[i]    return result  def matrix_rank(rows):    """高斯消元求矩阵的秩, rows 是行向量列表"""    mat = [list(r) for r in rows]    nrow, ncol = len(mat), len(mat[0])    rank = 0    for col in range(ncol):        pivot = -1        for r in range(rank, nrow):            if abs(mat[r][col]) > 1e-9:                pivot = r                break        if pivot == -1:            continue        mat[rank], mat[pivot] = mat[pivot], mat[rank]        pv = mat[rank][col]        for j in range(ncol):            mat[rank][j] /= pv        for r in range(nrow):            if r != rank and abs(mat[r][col]) > 1e-9:                factor = mat[r][col]                for j in range(ncol):                    mat[r][j] -= factor * mat[rank][j]        rank += 1    return rank  def is_independent(vectors):    """向量组线性无关, 当且仅当秩等于向量个数"""    return matrix_rank(vectors) == len(vectors)  def coords_in_basis(vector, basis):    """把向量表示为基的线性组合, 返回各基向量前的系数"""    n = len(basis)    aug = [list(basis[i]) + [vector[i]] for i in range(n)]    for col in range(n):        pivot = -1        for r in range(col, n):            if abs(aug[r][col]) > 1e-9:                pivot = r                break        if pivot == -1:            raise ValueError("给定向量组不是基, 无法唯一表示")        aug[col], aug[pivot] = aug[pivot], aug[col]        pv = aug[col][col]        for j in range(n + 1):            aug[col][j] /= pv        for r in range(n):            if r != col and abs(aug[r][col]) > 1e-9:                factor = aug[r][col]                for j in range(n + 1):                    aug[r][j] -= factor * aug[col][j]    return [aug[i][n] for i in range(n)]  if __name__ == "__main__":    v1 = (2, 1)    v2 = (1, 3)    print("v1, v2 是否线性无关:", is_independent([v1, v2]))    w = (7, 8)    coefs = coords_in_basis(w, [v1, v2])    print("w 在基 {v1, v2} 下的坐标:", coefs)    print("验证线性组合:", linear_combination(coefs, [v1, v2]))
目的:这段代码相当于一个全自动调色机器人——输入基础色配方和目标颜色,先检查基础色是否冗余(线性无关),再算出每种基础色各该放多少份(基下坐标)。
  1. mat = [list(r) for r in rows]把元组形式的行向量复制成可修改的列表,避免污染原始数据。
  2. if abs(mat[r][col]) > 1e-9:用 1e-9 的容差判断“是否为零”,绕开浮点运算的微小误差。
  3. mat[rank], mat[pivot] = mat[pivot], mat[rank]选定主元后把该行换到当前位置,是高斯消元的第一步。
  4. return matrix_rank(vectors) == len(vectors)线性无关的充要条件:矩阵秩等于向量个数。
  5. aug = [list(basis[i]) + [vector[i]] for i in range(n)]构造增广矩阵 [B | w],把“求坐标”变成解线性方程组。
  6. if pivot == -1: raise ValueError(...)某列找不到主元,说明基里存在相关向量,无法唯一表示。
  7. return [aug[i][n] for i in range(n)]消元完成后,增广矩阵最后一列就是线性组合的系数。

常见误区

误区向量不就是一条带箭头的线段吗?坐标只是把它画在纸上的位置而已,箭头才是本质。

正解在数据科学里,向量更常是抽象的“有序数组”——用户行为记录 (0, 1, 0, 0, 1) 就是 5 维向量。箭头只是 2D/3D 空间里的一种可视化外壳。向量的本质是满足“可相加、可按数缩放”两个规则的对象:配方单也好、行为记录也好,只要规则成立,它就是向量。

为何常见:教材总从画箭头引入向量,初学者容易把几何直觉当成定义本身,忽略了更高维的代数视角。

误区两个向量线性相关就是平行,那三个向量相关肯定也两两平行吧?

正解三个向量线性相关,只要求其中一个能由另外两个线性组合得到。比如 (1,0,0)、(0,1,0)、(1,1,0) 中第三个是前两个之和,但没有任何两个平行。在 3D 中,相关的直观含义是它们“躺”在同一个平面上,共线只是相关在 2D 里的特殊情况。

为何常见:二维空间中只有平行才相关,直接把 2D 直觉推广到高维,就会漏掉“共面”这类情形。

误区基不都应该像 x 轴、y 轴那样垂直吗?不垂直的也能叫基,总觉得不靠谱。

正解基只需要两个条件:线性无关 + 能生成整个空间。垂直且单位长的基只是“标准基/正交规范基”,是基里最方便的一类,绝非必需。调色师用三管互不重叠的基础色就能干活,不一定非得是红绿蓝。

为何常见:教科书和网格纸都优先展示标准基,给人“基必垂直”的刻板印象。

误区向量就是 (3,4) 这组数,换基之后数字变了,向量不也变了吗?

正解向量是客观存在的对象(比如颜料调出的颜色),(3,4) 只是它在当前基下的“配方数字”。换一套基(换一种进货方案),颜色没变,配方数字却可能变成 (2.1, 4.8)。坐标是向量在特定基下的表述,不是向量本身。

为何常见:我们总用坐标来书写向量,久而久之把“表达形式”和“被表达的内容”混为一谈。

面试题

Q1. 在二维平面中,向量 v = (3, 4) 的模长是多少?

单选题 · easy

  • A.3 个单位
  • B.4 个单位
  • C.5 个单位← 正确答案
  • D.7 个单位

答案:C。模长 = √(3² + 4²) = √25 = 5。这就像调色时把各原料用量的平方加起来再开方,得到“总用量”。7 是 3 和 4 直接相加,模长用的是勾股定理而不是简单求和。

Q2. 向量加法 u + v 的几何意义是什么?

单选题 · easy

  • A.两向量夹角的角平分线方向
  • B.以两向量为邻边的平行四边形对角线← 正确答案
  • C.两向量终点连线的中点方向
  • D.两向量终点之间的水平距离

答案:B。把两个向量平移为共起点,以它们为邻边作平行四边形,从公共起点指向对角顶点的对角线就是和向量,即“平行四边形法则”。A 是角平分线,C 是中点,D 只是某段水平距离,都与加法无关。

Q3. 向量组 {(1,0), (2,0)} 的线性生成空间是什么?

单选题 · easy

  • A.整个二维平面
  • B.x 轴上的所有点← 正确答案
  • C.y 轴上的所有点
  • D.只有原点一个点

答案:B。(2,0) 是 (1,0) 的 2 倍,两向量共线,所有线性组合都落在 x 轴上。就像两管只是同一颜色的不同浓度,再怎么混也调不出别的色相,生成空间只是一条直线。

Q4. 下列哪一组向量是线性无关的?

单选题 · mid

  • A.(1, 2) 与 (2, 4)
  • B.(1, 0) 与 (0, 1)← 正确答案
  • C.(1, -1) 与 (-2, 2)
  • D.(1, 1) 与 (2, 2)

答案:B。A、C、D 中两个向量都成比例,其中一个等于另一个的倍数,线性相关;B 正是二维标准基,属于典型的线性无关组。类似“一管青 = 2 管蓝 + 1 管绿”属于冗余,只有无法互相配出的才算无关。

Q5. 在三维空间 R³ 中,两个线性无关向量张成的子空间是什么?

单选题 · mid

  • A.零维的点(原点)
  • B.一维的直线
  • C.二维的平面← 正确答案
  • D.三维的整个空间

答案:C。k 个线性无关向量张成 k 维子空间,两个无关向量确定一个过原点的平面。想张成整个 R³ 需要三个不共面的无关向量——少一管基础色,就少一个颜色维度。

Q6. 关于“基”的叙述,正确的有哪些?(多选)

多选题 · mid

  • A.基中向量必须两两垂直
  • B.基向量都必须为单位向量
  • C.基是无关且能生成空间← 正确答案
  • D.同一空间可以有多组基← 正确答案

答案:CD。基的定义只有两条:线性无关 + 能生成全空间。垂直、单位长是标准基的额外好处,并非必要条件;同一空间可以有无穷多种基——就像调色师可以换不同牌子的基础色,配色能力不变。

Q7. 已知 v₁=(1,2),v₂=(2,3),向量 w 在基 {v₁, v₂} 下的坐标为 (3, -2),则 w 在标准基下的坐标是?

单选题 · extreme

  • A.(-1, 0)← 正确答案
  • B.(1, 0)
  • C.(0, -1)
  • D.(0, 1)

答案:A。w = 3v₁ + (-2)v₂ = 3(1,2) − 2(2,3) = (3−4, 6−6) = (−1, 0)。这是“把配方数字按新基础色重新换算”的直接计算——颜色没变,配方数字变了。

Q8. 若 A x = λ x 且 x ≠ 0,则下列说法正确的是?

单选题 · hard

  • A.x 是 A 的特征向量,λ 是特征值← 正确答案
  • B.A 是 x 的特征值,方向由 λ 决定
  • C.λ 一定是正实数且大于 1
  • D.特征向量必为单位长度向量

答案:A。A 正是特征方程的定义。λ 可以是 0 或负数,特征向量只要求非零、不要求单位化;B 把角色说反了,C 和 D 都是额外限制,不是定义蕴含的结论。

Q9. 下列哪些条件可判定一组向量线性无关?(多选)

多选题 · mid

  • A.只有全零系数才组合出零向量← 正确答案
  • B.任一向量不能由其余向量表出← 正确答案
  • C.向量个数恰好等于空间维度
  • D.任意两个向量都互相正交

答案:AB。A、B 是线性无关定义的两种等价说法。C 只是“个数凑巧等于维数”,不保证无关,如 (1,0)、(2,0) 都是二维向量却相关;D 中若含零向量,它与谁“正交”都不影响整组相关,故不充分。

Q10. 关于特征向量与特征值,正确的说法是?(多选)

多选题 · hard

  • A.矩阵作用后向量仍与自身共线← 正确答案
  • B.特征值可以是零或负数← 正确答案
  • C.任何方阵都有 n 个无关特征向量
  • D.特征向量本身不能是零向量← 正确答案

答案:ABD。A 是特征向量的几何含义——矩阵作用只让它在自身所在直线上缩放;B 正确,特征值可为 0 或负数;C 只有可对角化矩阵才成立,并非任意方阵都有 n 个无关特征向量;D 是定义要求,特征向量必须非零。