为什么要给程序员单独开一门线性代数

传统教材往往从行列式或抽象定义讲起,容易让读者迷失在证明里,却说不清这些概念在代码里对应什么。这门课的逻辑反过来了:它针对的是写代码的人,而不是写论文的人。

课程的核心痛点在于“翻译”。当你看到机器学习里的梯度下降,或者图形学里的坐标变换,你需要的不是背诵公式,而是理解向量和矩阵在计算机内存里是如何被存储、计算和变换的。这门课正是填补这一差距,把数学符号还原成可执行的逻辑。

适合什么基础,以及学习路径建议

这门课要求你具备基础的编程能力,至少熟悉一种语言(如 Python 或 C++)的基本语法,并能编写简单的类和方法。如果你连基本的循环和函数定义都感到吃力,建议先补齐编程基础。课程前期会花大量时间让你从零实现向量类和矩阵类,这是为了建立对数据结构的直观感受,切勿因为觉得“太简单”而跳过。

建议的学习顺序如下:

1. **第一章导学与环境搭建**:重点理解课程的学习方法论,并确保本地开发环境能正常运行代码示例。
2. **第二、三章(向量专题)**:这是后续所有知识的基础。务必亲手实现向量的加减、点乘及规范化操作,特别是点乘的几何意义,这是理解高维空间相似度的关键。
3. **第四章(矩阵专题)**:将矩阵视为线性变换而非数字表格。尝试理解矩阵乘法如何作用于向量,以及转置的本质含义。

学完能做什么,资料如何配合练习

完成本课程后,你将能够独立推导和理解常见算法背后的数学原理。具体而言,你能复现一个简单的线性回归模型,理解神经网络中权重矩阵的更新逻辑,或者处理基础的图形坐标变换。更重要的是,当你在阅读技术文档遇到陌生术语时,不再感到恐惧,而是能迅速映射到代码层面。

资料包中的章节设计与动手实践紧密配合。每一节理论课后都紧跟“实现”环节,例如在讲解点乘之后,立即要求用代码实现它。建议采用“先看理论推导,再遮羞源码独立实现,最后对照参考代码”的方式。不要急于复制粘贴运行,真正的收获发生在你调试代码、理解为何 `shape` 不匹配或为何结果不符合几何直觉的那一刻。对于后续涉及 NumPy 的章节,重点在于对比手写实现与库函数实现的差异,从而体会底层优化的必要性。

课程目录

第1章 欢迎大家来到《专给程序员设计的线性代数》 4 节 | 61分钟 1-1 《专为程序员设计的线性代数课程》导学 (14:51).mp4
 1-2 课程学习的更多补充说明 (17:55).mp4
 1-3 线性代数与机器学习 (13:21).mp4
 1-4 课程使用环境搭建 (14:14).mp4
 第2章 一切从向量开始 试看 9 节 | 98分钟 2-1 什么是向量. (16:11).mp4
 2-2 向量的更多术语和表示法 (08:15).mp4
 2-3 实现属于我们自己的向量 (12:41).mp4
 2-4 向量的两个基本运算. (09:38).mp4
 2-5 实现向量的基本运算. (16:05).mp4
 2-6 向量基本运算的性质与数学大厦的建立. (10:47).mp4
 2-7 零向量. (16:24).mp4
 2-8 实现零向量 (03:30).mp4
 2-9 一切从向量开始 (04:21).mp4
 第3章 向量的高级话题 7 节 | 96分钟 3-1 规范化和单位向量. (12:47).mp4
 3-2 实现向量规范化 (15:54).mp4
 3-3 向量的点乘与几何意义. (14:00).mp4
 3-4 向量点乘的直观理解 (09:00).mp4
 3-5 实现向量的点乘操作 (05:04).mp4
 3-6 向量点乘的应用. (17:36).mp4
 3-7 Numpy 中向量的基本使用 (21:17).mp4
 第4章 矩阵不只是 m*n 个数字 

11 节 | 157分钟 4-1 什么是矩阵 (09:53).mp4
 4-2 实现属于我们自己的矩阵类 (16:15).mp4
 4-3 矩阵的基本运算和基本性质 (11:54).mp4
 4-4 实现矩阵的基本运算 (13:53).mp4
 4-5 把矩阵看作是对系统的描述 (21:54).mp4
 4-6 矩阵和向量的乘法与把矩阵看作向量的函数 (16:01).mp4
 4-7 矩阵和矩阵的乘法 (20:12).mp4
 4-8 实现矩阵的乘法 (11:30).mp4
 4-9 矩阵乘法的性质和矩阵的幂 (09:55).mp4
 4-

10 矩阵的转置 (10:28).mp4
 4-

11 实现矩阵的转置和Numpy中的矩阵 (14:24).mp4
 第5章 矩阵的应用和更多矩阵相关的高级话题 

10 节 | 124分钟 5-1 更多变换矩阵 (14:24).mp4
 5-2 矩阵旋转变换和矩阵在图形学中的应用 (14:45).mp4
 5-3 实现矩阵变换在图形学中的应用 (17:16).mp4
 5-4 从缩放变换到单位矩阵 (10:47).mp4
 5-5 简单的图形学变换.mp4
 5-6 矩阵的逆 (12:26).mp4
 5-7 实现单位矩阵和numpy中矩阵的逆 (09:07).mp4
 5-8 矩阵的逆的性质 (13:55).mp4
 5-9 看待矩阵的关键视角:用矩阵表示空间 (22:24).mp4
 5-

10 总结:看待矩阵的四个重要视角 (08:42).mp4
 第6章 线性系统 

10 节 | 167分钟 6-1 线性系统与消元法 (13:55).mp4
 6-2 高斯消元法 (22:02).mp4
 6-3 高斯-约旦消元法 (13:54).mp4
 6-4 实现高斯-约旦消元法 (25:09).mp4
 6-5 行最简形式和线性方程组解的结构 (23:09).mp4
 6-6 直观理解线性方程组解的结构 (22:41).mp4
 6-7 更一般化的高斯-约旦消元法 (17:03).mp4
 6-8 实现更一般化的高斯-约旦消元法 (18:34).mp4
 6-9 齐次线性方程组 (09:40).mp4
 6-10 关于线性系统.mp4
 第7章 初等矩阵和矩阵的可逆性 9 节 | 178分钟 7-1 线性系统与矩阵的逆 (22:32).mp4
 7-2 实现求解矩阵的逆 (10:24).mp4
 7-3 初等矩阵 (20:45).mp4
 7-4 从初等矩阵到矩阵的逆 (15:22).mp4
 7-5 为什么矩阵的逆这么重要 (25:58).mp4
 7-6 矩阵的LU分解 (25:58).mp4
 7-7 实现矩阵的LU分解 (13:37).mp4
 7-8 非方阵的LU分解,矩阵的LDU分解和PLU分解 (16:50).mp4
 7-9 矩阵的PLUP分解和再看矩阵的乘法 (26:17).mp4
 第8章 线性相关,线性无关与生成空间 9 节 | 145分钟 8-1 线性组合 (14:19).mp4
 8-2 线性相关和线性无关 (22:14).mp4
 8-3 矩阵的逆和线性相关,线性无关 (16:03).mp4
 8-4 直观理解线性相关和线性无关 (21:31).mp4
 8-5 生成空间 (16:03).mp4
 8-6 空间的基 (22:40).mp4
 8-7 空间的基的更多性质 (17:40).mp4
 8-8 本章小结:形成自己的知识图谱 (14:04).mp4
 8-9 关于总结.mp4
 第9章 向量空间,维度,和四大子空间 

12 节 | 230分钟 9-1 空间,向量空间和欧几里得空间 (18:26).mp4
 9-2 广义向量空间 (18:28).mp4
 9-3 子空间 (23:06).mp4
 9-4 直观理解欧几里得空间的子空间 (16:50).mp4
 9-5 维度 (21:48).mp4
 9-6 行空间和矩阵的行秩 (20:48).mp4
 9-7 列空间 (14:19).mp4
 9-8 矩阵的秩和矩阵的逆 (17:25).mp4
 9-9 实现矩阵的秩 (18:57).mp4
 9-

10 零空间与看待零空间的三个视角 (21:50).mp4
 9-

11 零空间 与 秩-零化度定理 (20:52).mp4
 9-

12 左零空间,四大子空间和研究子空间的原因 (17:01).mp4
 第10章 正交性,标准正交矩阵和投影 8 节 | 107分钟 10-1 正交基与标准正交基 (16:48).mp4
 10-2 一维投影 (12:05).mp4
 10-3 高维投影和Gram-Schmidt过程 (16:02).mp4
 10-4 实现Gram-Schmidt过程 (15:59).mp4
 10-5 标准正交基的性质 (10:39).mp4
 10-6 矩阵的QR分解 (18:02).mp4
 10-7 实现矩阵的QR分解 (08:20).mp4
 10-8 本章小结和更多和投影相关的话题 (08:09).mp4
 第11章 坐标转换和线性变换 5 节 | 75分钟 11-1 空间的基和坐标系 (14:28).mp4
 11-2 其他坐标系与标准坐标系的转换 (10:07).mp4
 11-3 任意坐标系转换 (17:19).mp4
 11-4 线性变换 (19:52).mp4
 11-5 更多和坐标转换和线性变换相关的话题 (12:25).mp4
 第12章 行列式 8 节 | 119分钟 12-1 什么是行列式 (22:51).mp4
 12-2 行列式的四大基本性质 (12:55).mp4
 12-3 行列式与矩阵的逆 (16:35).mp4
 12-4 计算行列式的算法 (17:21).mp4
 12-5 初等矩阵与行列式 (17:29).mp4
 12-6 行式就是列式! (12:42).mp4
 12-7 华而不实的行列式的代数表达 (18:20).mp4
 12-8 关于行列式的编程实现.mp4
 第13章 特征值与特征向量 

11 节 | 165分钟 13-1 什么是特征值和特征向量 (19:38).mp4
 13-2 特征值和特征向量的相关概念 (14:09).mp4
 13-3 特征值与特征向量的性质 (15:59).mp4
 13-4 直观理解特征值与特征向量 (20:20).mp4
 13-5 “不简单”的特征值 (16:09).mp4
 13-6 实践numpy中求解特征值和特征向量 (13:55).mp4
 13-7 矩阵相似和背后的重要含义 (19:58).mp4
 13-8 换一个角度理解矩阵的相似.mp4
 13-9 矩阵对角化 (15:35).mp4
 13-

10 实现属于自己的矩阵对角化 (14:48).mp4
 13-

11 矩阵对角化的应用:求解矩阵的幂和动态系统 (13:53).mp4
 第14章 对称矩阵与矩阵的SVD分解 7 节 | 103分钟 14-1 完美的对称矩阵 (11:06).mp4
 14-2 正交对角化 (17:17).mp4
 14-3 什么是奇异值 (13:32).mp4
 14-4 奇异值的几何意义 (14:35).mp4
 14-5 奇异值的SVD分解 (20:00).mp4
 14-6 实践scipy中的SVD分解 (09:31).mp4
 14-7 SVD分解的应用 (16:51).mp4
 第15章 更广阔的线性代数世界,大家加油! 1 节 | 12分钟 15-1 更广阔的线性代数世界,大家加油! (11:38).mp4