如何入门线性代数?这里有一份Python线性代数讲义

机器之心报道

作者:魔王

这份讲义为初学者设计,涉及线性代数的基本概念、特殊矩阵及其应用,并提供了相应代码和图示。

人工智能的基础是数学,线性代数又是其中的重要部分。然而,对于数学基础不好的人来说,「线性代数」是一门非常抽象的课程。如何学习线性代数呢?这个 GitHub 项目介绍了一份入门级线性代数课程讲义,适合大学生、程序员、数据分析师、算法交易员等,使用的代码用 Python 语言写成。

项目地址:https://github.com/MacroAnalyst/Linear_Algebra_With_Python

讲义大致基于以下线性代数教科书:

  • 1. Linear Algebra and Its Applications 作者:Gilbert Strang(此前,我们曾介绍过他的最新线性代数课程)

  • 2. Linear Algebra and Its Applications 作者:David Lay

  • 3. Introduction to Linear Algebra With Applications 作者:DeFranza、Gagliardi

  • 4. Linear Algebra With Applications 作者:Gareth Williams

该讲义为初学者设置,不过它对略有线性代数和微积分知识的人也有帮助。学习者应具备 Python、NumPy、Matplotlib、SymPy 的基础知识(3 天的训练足够了)。

为了使大家更容易地理解代码,讲义中涉及的所有代码均以直观的方式写成,而没有选择高效或专业的代码风格。

项目作者表示:这些讲义将为学习者提供数据学习、经济计量学、数学统计学、控制论等严重依赖线性代数的学科最需要的基础知识。耐心学习完之后,你将更好地掌握线性代数的基本概念,接下来就可以学习特殊矩阵及其应用。

讲义内容

这份讲义共包含 19 个章节,学习者可以使用 Jupyter NBViewer 打开 notebook,或者直接下载学习。

  • 第一讲:线性方程系统

  • 第二讲:基础矩阵代数

  • 第三讲:行列式

  • 第四讲:LU 分解

  • 第五讲:向量运算

  • 第六讲:线性组合

  • 第七讲:线性无关

  • 第八讲:向量空间与子空间

  • 第九讲:基与维度

  • 第十讲:行空间、列空间与零空间

  • 第十一讲:线性变换

  • 第十二讲:特征值与特征向量

  • 第十三讲:对角化

  • 第十四讲:动力系统的应用

  • 第十五讲:内积与正交

  • 第十六讲:Gram-Schmidt 正交化过程与 QR 分解

  • 第十七讲:对称矩阵与二次型

  • 第十八讲:奇异值分解

  • 第十九讲:多变量正态分布

打开对应的 notebook 后,学习者可以看到对线性代数基本概念的讲解,以及代码和图示等。以第十二讲「特征值与特征向量」为例,下图展示了其几何直观图:

特征向量与特征值的几何图示。在线性变换前后方向相同的向量即为特征向量,其长度比为特征值。

福利

入门Python的最强三件套《ThinkPython》、《简明Python教程》、《Python进阶》的PDF电子版已打包提供给大家,「P3」即可获取。

(0)

相关推荐