📑 查看全课大纲(第 59 / 93 节)
- 1.概论和集合的定义
- 2.逼疯康托的实数集理论
- 3.常用不等式与映射
- 4.函数及特殊函数
- 5.序列极限的定义
- 6.序列极限的性质与夹逼定理
- 7.重要极限
- 8.无穷小量,无穷大量和一组重要的阶的比较关系
- 9.聚点原理
- 10.函数极限及其性质
- 11.重要极限与等价无穷小
- 12.连续函数
- 13.导数的概念(那些年,扛起牛顿的胡克)
- 14.定义法求导
- 15.函数四则运算的导数与反函数求导法则
- 16.复合函数,隐函数,参数式求导
- 17.不定式求导之“洛必达与伯努利的师生情”
- 18.一阶微分
- 19.高阶导数
- 20.高阶微分
- 21.罗尔中值定理与拉格朗日中值定理
- 22.柯西空降科学院遭排挤
- 23.泰勒公式与泰勒的克妻属性
- 24.利用泰勒展开唯一性定理计算泰勒展开
- 25.泰勒公式的余项估计
- 26.极值问题与导数
- 27.函数凹凸性
- 28.无卵用的渐近线与函数作图
- 29.不定积分的定义
- 30.第一换元法
- 31.第二换元法
- 32.分部积分法
- 33.有理式积分
- 34.三角替换
- 35.定积分的概念
- 36.定积分的性质与积分中值定理
- 37.变上限定积分
- 38.微积分基本定理之“高斯教你如何优雅地装逼”
- 39.定积分的换元法
- 40.奇偶函数与周期函数的定积分
- 41.曲线求长与不可求长曲线(海岸线居然算不出长度?)
- 42.旋转体体积
- 43.旋转体侧面积
- 44.极坐标下图形的面积(数学系常用表白曲线)
- 45.欧式空间
- 46.点列极限,开集与闭集
- 47.多元函数的定义
- 48.多元函数的极限
- 49.多元连续函数
- 50.一阶偏导数
- 51.高阶偏导数
- 52.全微分
- 53.方向导数与梯度
- 54.链式法则
- 55.一阶全微分形式的不变性与高阶微分
- 56.多元函数的泰勒公式
- 57.隐函数存在定理与逆映射存在定理
- 58.多元函数的极值
- 59.矩阵基础知识
- 60.行列式的定义与特殊矩阵的行列式
- 61.行列式的性质
- 62.行列式按k行展开
- 63.线性方程组初步与高斯消元法
- 64.齐次线性方程组与Cramer法则
- 65.线性空间
- 66.线性相关与线性无关
- 67.向量组的秩
- 68.矩阵的秩与线性方程组有解的充要条件
- 69.齐次线性方程组的解集结构
- 70.非齐次线性方程组解集结构
- 71.基与维数
- 72.矩阵的乘法
- 73.特殊矩阵
- 74.矩阵乘积的秩与行列式
- 75.矩阵的逆
- 76.正交矩阵
- 77.矩阵对角化与特征值特征向量
- 78.实对称矩阵对角化
- 79.二次型与正定矩阵
- 80.LU分解
- 81.Cholesky分解
- 82.SVD分解
- 83.线搜索
- 84.步长
- 85.最速下降法和牛顿法
- 86.共轭梯度法
- 87.拟牛顿法
- 88.无约束优化
- 89.若干知识点补充(一)
- 90.若干知识点补充(二)
- 91.凸优化问题
- 92.对偶问题(一)
- 93.对偶问题(二)
矩阵基础知识
约 18 分钟
矩阵基础知识
小象实战讲义 · 人工智能数学基础
线性代数是人工智能领域的核心数学语言,而矩阵则是这门语言的“字母”。本节将系统介绍矩阵的基本定义、表示方法、特殊类型以及核心运算,为后续学习矩阵的乘法、特征值、奇异值分解等高级概念打下坚实基础。学完本节,你将能够理解并运用矩阵的基本运算,并初步掌握矩阵分块这一重要的结构化思想。
💡 核心导读
本节将围绕矩阵展开,重点掌握以下核心内容:
- 矩阵的定义与表示:理解矩阵作为“数表”的本质,掌握其元素、维度和标准记号。
- 特殊矩阵与对角线:认识零矩阵、方阵,并区分主对角线、次对角线和反对角线。
- 矩阵的基本运算:掌握矩阵的转置、加法、数量乘法,理解其运算规则。
- 矩阵的初等变换:学习对矩阵行与列的三种基本操作,这是后续求解线性方程组、矩阵化简的基础。
- 矩阵的分块:理解如何将大矩阵划分为子矩阵,这是处理大规模矩阵计算和理论推导的关键技巧。
矩阵的定义与基本概念
矩阵本质上是由数构成的一张矩形表格。具体地,一个具有 行、 列的数表,称为一个 的矩阵。表格中的每一个数称为矩阵的元素。
位于第 行、第 列的元素,称为该矩阵的 元或 元。矩阵通常用大写英文字母表示,例如 。一个 的矩阵 可以记作 ,其 元记作 或 。矩阵也可以整体表示为所有元素构成的阵列: {s \times m} = \begin{pmatrix} a{11} & a_{12} & \cdots & a_{1m} \ a_{21} & a_{22} & \cdots & a_{2m} \ \vdots & \vdots & \ddots & \vdots \ a_{s1} & a_{s2} & \cdots & a_{sm} \end{pmatrix}.
示例: 在矩阵 中,。 是一个 矩阵,。 是一个 矩阵。
接下来定义几种特殊的矩阵:
- 零矩阵:所有元素均为 的矩阵,记作 。为明确维度,可记 的零矩阵为 。例如,。
- 方阵:行数与列数相等的矩阵,即 。一个 行 列的方阵也称为 阶矩阵。例如,上面的 和 都是 阶方阵。
对于方阵,我们定义几条重要的“线”:
- 主对角线:从左上角到右下角的连线上的元素,即 。
- 次对角线:紧邻主对角线两侧的平行线上的元素。一个 阶方阵有 条次对角线。
- 反对角线:从右上角到左下角的连线上的元素,即 。
示例:对于三阶方阵 。
- 主对角线元素:。
- 第一条次对角线(主对角线右上方)元素:。
- 第二条次对角线(主对角线左下方)元素:。
- 反对角线元素:。
列向量可以看作是一个 的特殊矩阵,例如 。
矩阵的基本运算
转置
矩阵的转置是一种基本运算,它将矩阵的行和列互换。对于一个 的矩阵 ,其转置是一个 的矩阵,记作 或 (更推荐使用 ,以避免与导数记号混淆),定义为: {ij} = a{ji}. 即原矩阵 的第 行变成了 的第 列。
示例: 若 ,则 。
加法
只有当两个矩阵行列数完全相同时,才能进行加法运算。设 {s \times m}, {ij}){s \times m},则它们的和 也是一个 的矩阵,其元素定义为对应元素之和: {ij} = a_{ij} + b_{ij}, \quad \text{对所有 } i=1,\dots,s, ; j=1,\dots,m.
示例:
数量乘法
一个数(标量) 与矩阵 {s \times m} 相乘,结果是每个元素都乘以 ,矩阵维度不变: {ij} = c \cdot a_{ij}.
示例:
矩阵的初等变换
初等变换是化简矩阵、求解线性方程组的核心工具。它们是对矩阵行或列的三种基本操作。
初等行变换
对矩阵的行进行以下三种操作,统称为初等行变换:
- 倍加变换:把某一行的 倍加到另一行上。
- 对换变换:互换两行的位置。
- 倍乘变换:用一個非零数 乘以某一行。
在书写变换过程时,我们使用箭头“”,并将具体操作写在箭头的上方。
- :表示将第 行的 倍加到第 行。
- :表示互换第 行与第 行。
- :表示将第 行乘以 。
示例:对矩阵 进行初等行变换。
- 将第一行的 倍加到第二行:
- 互换第二、三行:
- 将第一行乘以 :
初等列变换
类似地,对矩阵的列进行以下三种操作,统称为初等列变换:
- 把某一列的 倍加到另一列上。
- 互换两列的位置。
- 用一個非零数 乘以某一列。
为了与行变换区分,列变换的具体操作写在箭头的下方。
- :表示将第 列的 倍加到第 列。
- :表示互换第 列与第 列。
- :表示将第 列乘以 。
示例:对矩阵 进行初等列变换。
- 将第一列加到第二列:
- 互换第一、二列:
- 将第一列乘以 :
矩阵的分块
在处理大型矩阵或进行理论推导时,矩阵分块是一种极其有用的技术。它将一个大矩阵用若干条贯穿整个矩阵的横线和竖线,分割成若干个更小的矩形区域,每个区域称为一个子矩阵或块。
设 是一个 的矩阵。如果我们用横线将其分成 个行块,用竖线将其分成 个列块,则 可以写成分块矩阵的形式: 其中,每个 都是一个子矩阵。关键要求是:分割线必须贯穿整个矩阵,从而保证同一行的所有子矩阵具有相同的行数,同一列的所有子矩阵具有相同的列数。
示例:将 矩阵 分块。 这里,
- 是一个 子矩阵。
- 是一个 子矩阵。
- 是一个 子矩阵。
- 是一个 子矩阵。
注意:分块时,分割线必须“切穿”矩阵。不彻底的、随意的划分(例如只画部分横线或竖线)不能构成规范的分块矩阵结构,在后续的分块运算中会导致错误。
📝 动手练一练
矩阵运算练习 已知矩阵 , ,标量 。 请计算: a) b) c)
初等变换练习 对矩阵 依次执行以下初等行变换,写出每一步变换后的矩阵: a) 交换第1行和第2行。 b) 将新的第1行乘以 。 c) 将新的第3行加上第1行的1倍。
参考答案:
- a) b) c)
- a) b) c)
本章小结
本节我们建立了关于矩阵的最基础认知:
- 矩阵是什么:一个 的数表,是线性代数的基本对象。
- 矩阵怎么表示:用大写字母 表示,元素用 标记,需掌握零矩阵、方阵等特殊形式。
- 矩阵怎么算:掌握了转置()、加法(同型矩阵对应元素相加)、数量乘法(每个元素乘标量)三种基本运算。
- 矩阵怎么变:学习了对矩阵行或列进行“倍加”、“互换”、“倍乘”三种初等变换,这是矩阵化简的基石。
- 矩阵怎么分:理解了矩阵分块的思想,即将大矩阵用贯穿的线划分为规整的子矩阵,这是处理复杂问题的有效手段。
行动清单:
- 动手验证:使用下面的Python代码示例,亲自验证矩阵的加法、转置和初等变换,加深对运算规则的理解。
- 概念辨析:默写矩阵加法、数乘、转置的定义,并各举一例。清晰区分主对角线、反对角线。
- 变换练习:任找一个 矩阵,手动对其执行一系列行变换和列变换,记录每一步的过程和结果。
import numpy as np
# 1. 定义矩阵和标量
A = np.array([[1, -1, 2],
[0, 3, 4]], dtype=float)
B = np.array([[2, 1, -1],
[5, -2, 0]], dtype=float)
c = 3
print("矩阵 A:")
print(A)
print("\n矩阵 B:")
print(B)
# 2. 基本运算验证
print("\n=== 基本运算验证 ===")
# a) 矩阵加法
A_plus_B = A + B
print(f"A + B = \n{A_plus_B}")
# b) 矩阵转置
A_transpose = A.T
print(f"A 的转置 A^T = \n{A_transpose}")
# c) 数量乘法与减法
cA_minus_B = c * A - B
print(f"c*A - B = \n{cA_minus_B}")
# 3. 初等行变换演示
print("\n=== 初等行变换演示 ===")
C = np.array([[2, 4, 6],
[1, 2, 3],
[-1, 0, 2]], dtype=float)
print("原始矩阵 C:")
print(C)
# 复制矩阵以避免修改原数据
C_transformed = C.copy()
# a) 交换第0行和第1行 (Python索引从0开始)
C_transformed[[0, 1]] = C_transformed[[1, 0]]
print("\na) 交换第1行和第2行后:")
print(C_transformed)
# b) 将第0行乘以 1/2
C_transformed[0] = C_transformed[0] * 0.5
print("\nb) 将新的第1行乘以 1/2 后:")
print(C_transformed)
# c) 将第2行加上第0行的1倍
C_transformed[2] = C_transformed[2] + C_transformed[0]
print("\nc) 将新的第3行加上第1行的1倍后:")
print(C_transformed)
# 4. 矩阵分块示例 (使用切片)
print("\n=== 矩阵分块示例 ===")
D = np.array([[1, 0, 2, 3, -1],
[0, 1, 1, 0, 4],
[-1, 2, 0, 5, 3],
[3, -1, 4, 2, 0]])
print("大矩阵 D (4x5):")
print(D)
# 进行分块:前2行前2列 -> D11, 前2行后3列 -> D12, 后2行前2列 -> D21, 后2行后3列 -> D22
D11 = D[0:2, 0:2]
D12 = D[0:2, 2:5]
D21 = D[2:4, 0:2]
D22 = D[2:4, 2:5]
print("\n子矩阵 D11 (2x2):")
print(D11)
print("\n子矩阵 D12 (2x3):")
print(D12)
print("\n子矩阵 D21 (2x2):")
print(D21)
print("\n子矩阵 D22 (2x3):")
print(D22)— 小象教研组
领取《小象 11GB VIP 课件资料包与大厂真题手册》
包含全套实战 Jupyter 源码、清洗后数据集、大厂高频面试真题与专属学员答疑交流群。
- ✔完整 Python / 数据分析 Jupyter 实战源码
- ✔大厂真实业务数据集与练习题
- ✔微信扫码添加课程顾问,免费获取网盘下载链接
微信扫码添加顾问