《线性代数导论》笔记 第2章 Solving Linear Equations
本文为《Introduction to Linear Algebra》的读书笔记
2.0 个人心得
单说矩阵本身,其语义只是一堆数的罗列。比如\(a_{12}\) 表示第1行第2列的数字,
是运算符,再次特化了矩阵中数字的意义。 也就是说矩阵的最终解释权归运算符所有。
比如加法运算符和常量乘法,会将矩阵中的数字看成一个个列向量或者行向量。
以及矩阵和矩阵的乘法,计算的是左手边矩阵\(A_L\)中的m个行向量和右手边矩阵\(A_R\)中的p个列向量的内积。
计算结果为 (m, p)大小的矩阵\(A\)。\(A\)中内积所在的行就是\(A_L\)行向量的行,所在的列就是\(A_R\)列向量的列。
对于两个n维向量的内积,可以看成是n个数的线性组合,组合所使用的系数来自另一个向量。
总之,矩阵本身只是数的集合,作用于矩阵的运算符,决定了如何操作这些数。
2.1 向量和线性等式 Vectors and Linear Equations
列视角看\(A\vec{x}=\vec{b}\) :A矩阵中的n列向量的组合生成了向量\(\vec{b}\)
这是一个向量等式\(A\vec{x}=x_1\vec{a_1} +...+ x_n\vec{a_n}=\vec{b}\):A的向量为\(\vec{a_1},\vec{a_2},...,\vec{a_n}\)
向量内的不同分量之间是平行的关系,它们接受批量的乘法操作或者是加法操作,但分量与分量之间基本没关系。
行视角看\(A\vec{x}=\vec{b}\) : m行等式对应了m个平面,这些平面相交于\(\vec{x}\).
每个点乘积对应了每个平面的等式:\((row_1)·\vec{x}=b_1, ..., (row_m) ·\vec{x}=b_m\)
当\(\vec{b}=0\),所有的平面 \((row_i)·\vec{x}=0\) 经过原点 \(\vec{x}=(0,0,...,0)\)
矩阵A的每行为一个向量,到这个向量的投影的值相同的点都位于垂直于这个向量的某个平面。
虽然这里矩阵A中的列向量 和 行向量,我们都将其称为向量。但本质上,它们分属于不同类型的向量。
列向量这里进行的都是批量操作,分量之间没有任何关系, 乘法操作或者加法操作后,列向量保持原有的长度。
但是行向量,它进行的是求内积操作,等式结果会将n维的向量坍塌成1维的数字。这和上文批量操作为主的向量语义不符。
矩阵的乘法,可以按列看,或者按行看。
如果我们按列看,那么就是向量的线性组合。
按行看,就是 2个平面 相交于一点,或者是行向量的点乘积。
这里行向量的点乘积,也可以看做是 x y这两个数的线性组合。
矩阵中第i行,第j列的元素为 \(a_{ij}\) 或者 A(i, j)
Multiplication by A is a "linear transformation". Those words mean:
If \(\vec{w}\) is a combination of \(\vec{u}\) and \(\vec{v}\), then A\(\vec{w}\) is the same combination of A\(\vec{u}\) and A\(\vec{v}\).
It is this "linearity" \(A\vec{w}=cA\vec{u}+ dA\vec{v}\) that gives us the name "linear algebra".
知识要点
- The basic operations on vectors are multiplication c\(\vec{v}\) and vector addition \(\vec{v}\) + \(\vec{w}\).
- Together those operations give linear combinations \(c\vec{v} + d\vec{w}\).
- Matrix-vector multiplication A\(\vec{x}\) can be computed by dot products, a row at a time. But A\(\vec{x}\) must be understood as a combination of the columns of A.
- Column picture: Ax = b asks for a combination of columns to produce b.
- Row picture: Each equation in Ax = b gives a line (n = 2) or a plane (n = 3)
or a "hyperplane" (n> 3). They intersect at the solution or solutions, if any.
2.2 消元 The Idea of Elimination
- \([m][n]\)大小的矩阵,对于\(Ax=b\), 其中m=3表示有3个等式。 n=3表示有3个未知数 \(x_1\) \(x_2\) \(x_3\)
- 前两个等式为 \(a_{11}x_1 + ... = b_1\) 以及 \(a_{21}x_1+...=b_2\)
- 第一个等式乘以 \(a_{21}/a_{11}\),然后用第二个等式减去得到的结果,这样 \(x_1\)就被消除了。
- \(a_{11}\) 是第一个 pivot(\(a_{ii}\)), 比例 \(a_{21}/a_{11}\) 是第一个 乘数
- 通过 减去 \(a_{i1}/a_{11}\) 乘以第一个等式,我们可以消除剩下的每个等式i中的\(x_1\)
- 现在 倒数 n-1个 等式包含 n-1个未知数 \(x_2,...,x_n\). 重复消除 \(x_2\)
- 如果主对角线位置有0,消除法会失败,交换两个等式说不定能避免。
该小节介绍了一个系统性的用于解决线性等式的方法,即消元法(elimination)。
下面第二个等式 减去 3乘以第一个等式,就可以消去第二个等式中的x。
To eliminate x : Subtract a multiple of equation 1 from equation 2. The system became triangular.
Pivot = 位于主对角线, 当前行第一个不为0的数
知识要点
- 一个线性系统(linear system) \(Ax=b\) 消元后会变为 上三角形式(upper triangular) \(Ux=c\)
- 我们从等式i中减去 乘数\(\mathscr{l}_{ij}\)和等式j的乘积,可以让 矩阵 \([i][j]\) 位置的项 变为 0
- 乘数的值为\(\mathscr{l}_{ij}=\frac{A[i][j]}{A[j][j]}\). \(A[j][j]\)(pivot)的值不能为0
- 如果\(A[j][j]\) (pivot) 为0, 尝试交换下面不为0的行。
- 上三角矩阵 \(Ux=c\)可以通过回替法(back substitution) 解决(从底部开始)
- When breakdown is permanent, \(Ax = b\) has no solution or infinitely many.
2.3 使用矩阵消元 Elimination Using Matrices
- 第一步用消元矩阵\(E_{21}\)乘以等式 \(Ax=b\) ,可以获得 \(E_{21}Ax=E_{21}b\).
- \(E_{21}A\)产生的矩阵 第2行,第1列为0, 因为 \(x_1\)从 等式2中被消除了。
- \(E_{21}\)是 单位矩阵(identity matrix, 对角线为1) 在 \([2][1]\) 的位置减去来自A的乘数\(\mathscr{l}_{21}\)= \(a_{21}/a_{11}\)
- 矩阵-矩阵乘法(matrix-matrix multiplication)是n个矩阵-向量乘法(matrix-vector multiplications): \(EA=[Ea_1 \space ... \space Ea_n]\)
- 我们还需要乘以 \(Eb\) !所以E需要乘以扩增矩阵(augmented matrix) \([A \space b] = [a_1\space...\space a_n \space b]\)
- 我们通过乘以这些矩阵实现消元, \(Ax=b\) 乘以 \(E_{21},E_{31},...,E{n1}\),然后是\(E_{32},E_{42},...,E_{n2}\),以此类推。
- 行交换矩阵 是\(P_{ij}\) 而不是 \(E_{ij}\) , \(P_{ij}\)就是交换单位矩阵\(I\)的第i行和第j行。
线性等式可以写成简短的形式\(Ax = b\)
"\(A乘以x\)"这个规则就是专门为了生成线性等式(linear equations)而设计的。
个人猜测矩阵和向量的乘法,原始形式应该是下面这样的,向量应该是行向量,
矩阵的第一列向量会乘以 x向量的第一个分量。
之所以行向量要转置成列向量,是方便批量处理。
\(Ax\) is a combination of the columns of \(A\). To compute each component of \(Ax\), we use the row form of matrix multiplication. Components of \(Ax\) are dot products with rows of \(A\)
\((Ax)_i=\Sigma_{j=1}^{n}a_{ij}x_{j}\) = \(a_{i1}x_1 + a_{i2}x_2 + ... + a_{in}x_n\)
求和符号\(\Sigma\) is an instruction to add. Start with j = 1 and stop with j = n. The sum
begins with \(a_{i1}x_{1}\) and ends with \(a_{in}x_n\),
矩阵乘法具有结合律 \(A(BC) = (AB)C\)
Permutation matrix is a row exchange matrix.
下面的\(P_{23}\) 交换 任何矩阵的 第2行和第3行.
知识要点
- \(Ax =\) \(x_1\)乘A的第1列 + ... + \(x_n\)乘A的第n列。 \((Ax)_i=\Sigma_{j=1}^{n}a_{ij}x_{j}\)
- 单位矩阵为\(I\) , 消元矩阵为\(E_{ij}\) ,交换矩阵为\(P_{ij}\)
- 用\(E_{21}\)去乘\(Ax=b\) 起到了 从等式2中减去 (\(\mathscr{l}_{21}\)和等式1的乘积) 的效果,\(\mathscr{l}_{21}\)= \(a_{21}/a_{11}\) , \(-\mathscr{l}_{21}\)为 消元矩阵\(E_{21}\)中的 \([2][1]\) 位置上的值
- 对于扩增矩阵 \([ A \space b ]\) , 上一步中的消元操作可以得到 \([E_{21}A \space \space E_{21}b]\)
- 当A乘以任何矩阵B,它会分开乘以B中的每个列。
2.4 矩阵操作相关的规则 Rules for Matrix Operations
矩阵和向量的乘法,本质上就是线性等式。 这一点其实很重要。
线性等式就是矩阵乘以向量,矩阵乘以向量,就是线性等式。
左边的矩阵,也被称为系数矩阵(coefficient matrix),这里的系数就是未知数\(x_1 \space x_2 \space x_3\) 的系数。
- 矩阵A中列的个数和矩阵B的行的个数相同:\(A_{m×n}B_{n×p}=C_{m×p}\)
这个看起来很抽象,其实很简单,以 \(2x_1 + 4x_2 - 2x_3 = 2\)为例,说的就是线性等式中,系数的个数要和未知数的个数对应。
- \(AB=C\)中的每一项都是点乘积:\(C_{ij}=(row_{i}\space of \space A)·(column_{j}\space of \space B\)) ,对应一个线性等式
- 选用上面的这个规则,矩阵的乘法具备了结合律。\(ABC=A(BC)\),同理\((AB)x=A(Bx)\)
- 矩阵乘法不具备交换律,
- 矩阵可以按块相乘(multiplied by blocks),\(A=[A_1 \space A_2]\) 乘 \(B=\begin{bmatrix}B_1\\B_2 \end{bmatrix}\) 等于\(A_1B_1+A_2B_2\)
如果我们将点乘的式子,\(A_1B_1+A_2B_2\) 存储到 \(C_{ij}\) 中的z轴中, 以立体的眼光看待矩阵乘法\(C_{m×p}=A_{m×n}B_{n×p}\),就是\(A_1B_1\)存储在\(C_{ij}[1]\) 中,\(A_2B_2\)存储在\(C_{ij}[2]\) 中。就会产生\(m×p×n\)个乘法, z轴的乘数再相加存储到\(C_{ij}\) ,会产生 \(m×p×(n-1)\)个加法,\(C\)矩阵中存储的是\(m×p\)个线性计算的结果
\(A_{m×n}B_{n×p}=C_{m×p}\),可以看做是 \(n×m×p\) 个并行的乘法计算。 对于矩阵\(C\), \(m\)为↓y方向,\(p\)为→x方向,n为·z方向(朝屏幕外,见上文)
我们可以先计算 n,m方向,这样的话就是算A和B的单独一列的乘法。先算矩阵A的第一行的n个乘法,然后算第2行...最后到第m行。
或者是先算 n, p方向, 矩阵A的一行,和B的每一列(共p列)的n个乘法。
比较特殊的是先m,p方向, 最后算n方向。 这种就是A矩阵的第1列先乘以B矩阵的第1行,...,最后矩阵A的第n列乘以矩阵B的第n行。 最后再将这些结果相加。
矩阵满足
\(A + B = B + A\) 加法交换律
\(A + B + C= A + (B + C)\) 加法结合律
\(A B C= A (B C)\) 乘法结合律
\(A(B + C)=AB+AC\) 分配律
知识要点
- The \([i][j]\) entry of AB is (row i of A)· (column j of B).
- An \(m\) by \(n\) matrix times an \(n\) by \(p\) matrix uses \(mnp\) separate multiplications
- A times BC equals AB times C (surprisingly important).
- \(AB\) is also the sum of these \(n\) matrices : (column j of A) times (row j of B)
- Block multiplication is allowed when the block shapes match correctly
- Block elimination produces the Schur complement 舒尔补 \(D - CA^{-1} B\)
2.5 逆矩阵 Inverse Matrices
- 如果正方矩阵(square matrix)有逆矩阵,那么 \(A^{-1}A=I\) 以及\(AA^{-1}=I\)
- 测试可逆性(invertibility)的算法(algorithm)是消元(elimination):A必须有n个不为0的pivots
- 测试可逆性的代数式(algebra)是A的行列式(determinant): \(det\space A\) 不能为 0
- 测试可逆性的等式为 \(Ax=0\) : x = 0 必须是唯一解。 否则逆矩阵无法将0还原成非0向量。
- 如果A和B(相同大小)可逆,那么AB也可逆: \((AB)^{-1}=B^{-1}A^{-1}\)
- \(AA^{-1} = I\) 是作用于\(A^{-1}\) 的n个列的n个等式。高斯乔登(Gauss-Jordan)法通过消元将\([A\space I]\) 转化\([I\space A^{-1}]\)
Pivot = 位于主对角线, 且是当前行第一个不为0的数
原版 p87 通过 Gauss-Jordan 方法 讲解了 如果\(A\)要想存在逆矩阵,为什么 pivot 不能为0
知识要点
-
逆矩阵使得 \(A^{-1}A=I\) 以及\(AA^{-1}=I\)
-
\(A\)是可逆的,当且仅当它有\(n\)个pivots(允许行交换)
-
重点。 如果存在一个非0向量\(x\),使得\(Ax=0\) ,那么 \(A\)不存在逆矩阵。
因为等式两边乘以\(A^{-1}\) ,会得到\(x=A^{-1}0 = 0\) 无法还原成原来的 非0向量。
- The inverse of \(AB\) is the reverse product \(B^{-1}A^{-1}\). And \((ABC)^{-1} = C^{-1}B^{-1}A^{-1}\)
- 高斯-乔登(Gauss-Jordan)方法通过解决\(AA^{-1}=I\) 来找到 \(A^{-1}\) 的n个列. 扩增矩阵 \([A \space I]\) 通过行操作(相当于左边乘一个 \(A^{-1}\))转化为\([I \space A^{-1}]\)
- 对角线主导的矩阵是可逆的。每个\(|a_{ii}|\) 主导了它所在的行。

浙公网安备 33010602011771号