Interactive Linear Algebra 中文译注

1. 概述

1.1. 本文的主题

在开始正文内容之前,我们先问一个基本问题:什么是线性代数(Linear Algebra)?

  • 线性(Linear):与线、平面等有关;
  • 代数(Algebra):求解涉及未知数的方程(Equation)。

本文的名称突出了一个重要主题:代数和几何之间的综合。 对我们来说,从代数(为它们的解编写方程)和几何(绘制图片和可视化)的角度理解**线性方程组(System of Linear Equations)**非常重要。

代数(Algebra)一词是由公元 9 世纪的数学家 Abu Jafar Muhammad ibn Musa alKhwarizmiAbu \ Ja’far \ Muhammad \ ibn \ Musa \ al-Khwarizmi 创造的,它来自阿拉伯语单词 aljebral-jebr,意为“破碎部分的重聚”。

在最简单的层面上,求解线性方程组并不是很困难。 你可能在高中时就学会了如何解决像这样的系统:

{x+3yz=42xy+3z=17y4z=3(1-1)\left\{ \begin{align} x + 3y - z &= 4 \\ 2x - y + 3z &= 17 \\ y - 4z &= -3 \end{align} \right. \tag{1-1}

然而,在现实生活中,人们通常必须更加聪明:

  • 工程师需要在非常多的变量中求解大量的方程。 这里有一个小例子:

    {3x1+4x2+10x3+19x42x53x6=1417x1+2x213x37x4+21x5+8x6=2567x1+9x2+32x3+x4+14x5+27x6=2612x1+4x2+10x3+11x4+2x5+x6=15(1-2)\left\{ \begin{align} 3x_{1} + 4x_{2} + 10x_{3} + 19x_{4} - 2x_{5} - 3x_{6} &= 141 \\ 7x_{1} + 2x_{2} - 13x_{3} - 7x_{4} + 21x_{5} + 8x_{6} &= 2567 \\ -x_{1} + 9x_{2} + \frac{3}{2}x_{3} + x_{4} + 14x_{5} + 27x_{6} &= 26 \\ \frac{1}{2}x_{1} + 4x_{2} + 10x_{3} + 11x_{4} + 2x_{5} + x_{6} &= -15 \end{align} \right. \tag{1-2}

  • 通常情况下,我们只要知道解集的一些信息就足够了,而不必首先求解方程。例如,是否存在解?解集的几何形状是怎样的?如果我们把 2626 改成 2727 还会有解吗?

  • 有时系数还包含参数,如特征值方程:

    {(7λ)x+y+3z=03x+(2λ)y3z=03x2y+(1λ)z=0(1-3)\left\{ \begin{align} (7 - \lambda)x + y + 3z &= 0 \\ -3x + (2 - \lambda)y - 3z &= 0 \\ -3x - 2y + (-1 - \lambda)z &= 0 \end{align} \right. \tag{1-3}

  • 在数据建模(Data Modeling)中,方程组通常实际上没有解。 在这种情况下,最好的近似解是什么?

因此,本文分为三个主要部分:

  1. 求解矩阵方程 Ax=bAx = b​​(第 2~4 章节)

    • 使用矩阵(Matrix)、行约简(Row Reduction)和逆(Inverse)求解线性方程组;

    • 使用解集的几何形状和线性变换以几何方式分析线性方程组。

  2. 求解矩阵方程 Ax=λxAx = \lambda x​​(第 5~6 章节)

    • 使用特征多项式(Characteristic Polynomial)求解特征值问题;
    • 使用相似性(Similarity)、特征值(Eigenvalue)、对角化(Diagonalization)和复数(Complex Numbers)了解矩阵的几何形状。
  3. 近似求解矩阵方程 Ax=bAx = b​(第 7 章节)

    • 使用最小二乘近似法(Least-Squares Approximation)为没有实际解的线性方程组找到最佳拟合解;
    • 研究最近向量(Vector)和正交投影(Orthogonal Projection)的几何形状。

本文大致一半是计算性的,一半是概念性的。 主要目标是提供一个线性代数工具库,更重要的是,教授一个概念框架,用于理解在给定上下文中应该应用哪些工具。

如果 MATLAB 能比你更快地找到答案,那么你的问题只是一个算法:这不是真正的解决问题。

这个主题的微妙部分在于理解要求计算机为你做什么计算,而知道如何执行计算机可以比你做得更好的计算远没有那么重要。

1.2. 线性代数在工程中的应用

佐治亚理工学院(Georgia Tech)的绝大多数本科生都必须参加线性代数课程。 这是有原因的:

大多数工程问题,无论多么复杂,都可以简化为线性代数:

Ax=b or Ax=λx or AxbAx = b \quad \mathrm{~or~} \quad Ax = \lambda{x} \quad \mathrm{~or~} \quad Ax \approx b

在这里,我们提出了一些需要线性代数来解决的科学和工程示例问题。