线性代数复习(十一):施密特正交化方法 Gram-Schmidt processing

施密特正交化方法,就是将一组线性无关的向量组,变成一组正交的向量组的方法。通过这个方法,可以将一个线性空间的基,变成一组正交基(orthogonal basis),甚至标准正交基(或规范正交基,orthonormal basis )。这一方法的理论基础就是投影定理。它的方法如下:

设 \((\vec{v_1},\vec{v_2},\cdots, \vec{v_p})\) 是一组线性无关的向量组,我们令
\begin{align}
\vec{b}_1&=\vec{v}_1\\
\vec{b}_2&=\vec{v}_2-\frac{\vec{v}_2\cdot \vec{b}_1}{||\vec{b}_1||^2}\vec{b}_1\\
\vec{b}_3&=\vec{v}_3-\frac{\vec{v}_3\cdot \vec{b}_2}{||\vec{b}_2||^2}\vec{b}_2-\frac{\vec{v}_3\cdot \vec{b}_1}{||\vec{b}_1||^2}\vec{b}_1\\
\cdots &\\
\vec{b}_p&=\vec{v}_p-\sum_{i=1}^{p-1}\frac{\vec{v}_p\cdot \vec{b}_i}{||\vec{b}_i||^2}\vec{b}_i
\end{align}

那么, \((\vec{b}_1,\vec{b}_2,\cdots, \vec{b}_p)\) 是一组正交向量组。进一步,令
\[\vec{e}_1=\frac{\vec{b}_1}{||\vec{b}_1||}, \vec{e}_2=\frac{\vec{b}_2}{||\vec{b}_2||},\cdots, \vec{e}_p=\frac{\vec{b}_p}{||\vec{b}_p||}\]
则\((\vec{e}_1,\vec{b}_2,\cdots, \vec{b}_p)\) 是一组f规范正交向量组或标准正交组。

线性代数复习(十):内积、正交性、投影定理 inner product, orthogonality and projection theorem

两个向量的内积(inner product),定义为
\[\vec{x}\cdot\vec{y}=x_1y_1+x_2y_2+\cdots +x_ny_n\]
其中 \(\vec{x}=(x_1,x_2,\cdots, x_n)^T, \vec{y}=(y_1,y_2,\cdots, y_n)^T\)。 利用矩阵的乘法定义,我们可以把内积写成
\[\vec{x}\cdot\vec{y}=\vec{x}^T\vec{y}\]
我们说两个向量是正交的(orthogonal),是指两个向量的内积为 \(0\),也就是说,当 \(\vec{x}\cdot\vec{y}=0\) 时,我们说 \(\vec{x}\) 和 \(\vec{y}\) 是正交的。

投影定理:如果 \(\mathcal{W}\) 是 \(\mathbb{R}^n\) 的子空间,它的一个正交基 (orthogonal basis) 是 \(\vec{u}_1,\vec{u}_2,\cdots, \vec{u}_p\),那么对于任意的 \(\vec{y}\in \mathbb{R}^n\),
\[\vec{y}=\hat{\vec y}+z\]
其中 \(\hat{\vec y}\in \mathcal{W}, z\in\mathcal{W}^{\bot}\)。并且
\[\hat{\vec y}=\frac{\vec{y}\cdot\vec{u}_1}{||\vec{u}_1||^2}\vec{u}_1+\frac{\vec{y}\cdot\vec{u}_2}{||\vec{u}_2||^2}\vec{u}_2+\cdots +\frac{\vec{y}\cdot\vec{u}_p}{||\vec{u}_p||^2}\vec{u}_p.\]

我们这里给出了求投影的例子。

线性代数复习(九):离散动力系统 Dynamical System

离散动力系统,是指由方程 \(\vec{x}_{k+1}=A\vec{x}_k\) 所定义的线性系统。如果我们得到了 \(A\) 的特征值与特征向量,这种系统的一些长期性态也就显示出来了。因为,如果 \(\vec{v}_1,\vec{v}_2,\cdots ,\vec{v}_n\)是 \(A\) 的特征向量,而 \(\vec{x}_0=a_1\vec{v}_1+a_2\vec{v}_2+\cdots a_n\vec{v}_n\), 那么

\[\begin{align}
\vec{x}_{k+1}&=A\vec{x}_{k}=A^2\vec{x}_{k-1}=\cdots=A^{k+1}\vec{x}_0\\
&=A(a_1\vec{v}_1+a_2\vec{v}_2+\cdots a_n\vec{v}_n)\\
&=a_1\lambda_1^{k+1}\vec{v}_1+a_2\lambda_2^{k+1}\vec{v}_2+\cdots a_n\lambda_n^{k+1}\vec{v}_n
\end{align}\]
所以,\(x_k\) 的变化趋势也就明白了。如果某个特征值的绝对值小于 \(1\),那么它所对应的项就趋于 \(0\)。我们这里以二维的情形给出相应的例子。

线性代数复习(八):特征值,特征向量与矩阵对角化 eigenvalue, eigenvector and diagonalization

矩阵的特征值和特征向量的定义是,如果有一个数 \(\lambda\) 和一个向量 \(\vec{x}\),满足 \(A\vec{x}=\lambda \vec{x}\), 我们就说 \(\lambda\) 是矩阵 \(A\) 的一个特征值(eigenvalue),而 \(\vec{x}\) 称为 \(A\) 的对应于 \(\lambda\) 的特征向量(eigenvector)。

特征值的计算,是通过解方程 \(|A-\lambda I|=0\) 得到。\(|A-\lambda I|\) 称做特征多项式(characteristic polynomial),而\(|A-\lambda I|=0\) 称做特征方程(characteristic equation)。我们计算特征多项式的时候,行列式的一些计算技巧可以用得上。

计算特征向量的方法就是解方程组 \((A-\lambda I)\vec{x}=0\),将求得的特征值代入这个式子,然后用求解方程组的方法求解。注意,每个特征值都要计算它的特征向量。

矩阵的对角化问题,实际上还是特征值与特征向量的问题。矩阵可以对角化是指存在一个可逆矩阵 \(P\) 和一个对角矩阵,使得 \(P^{-1}AP=D\)。矩阵 \(A\) 可对角化的条件是它有 \(n\) 个线性无关的特征向量。只要特征向量求出来了,\(P\) 和 \(D\) 就求出来了。\(P=(\vec{v}_1, \vec{v}_2,\cdots,\vec{v}_n)\),其中 \(\vec{v}_1, \vec{v}_2,\cdots,\vec{v}_n)\) 都是特征向量; 而 \(D=\text{diag}(\lambda _1, \lambda _2,\cdots,\lambda _n)\),也就是主对角线上的元素都是特征向量所对应的特征值(顺序跟特征向量的顺序一样,别弄错了!)

线性代数复习(七):行列式 determinant

我们首先讲述了行列式的定义。我们采取的方法是用递归展开的方式定义行列式。这种方式具有计算上的方便性。另外,要注意的是,行列式的结果是一个数,而矩阵是一张数表。

行列式的一些性质能够简化行列式的计算。最重要的性质包括:

  • 行列式可以按行,也可以按列展开
  • 交换行列式的两行或者两列,行列式变号
  • 行列式里,一行或者一列的公因数可以提到行列式外面
  • 将某一行或者某一列乘以一个数加到另一行去,行列式不变

这些性质,有些跟矩阵差不多,有些很不一样。例如,矩阵可以对一行乘以一个数,但是行列式将一行乘以一个数,则必须在行列式外面除以相同的数。另外,矩阵交换两行,矩阵是等价的,但是行列式交换两行,行列式要变号。

行列式的计算,最主要的方法是降阶法。这对于一些具体的行列式的计算很有效。降阶法的方法是:用初等变换将其中一行或者其中一列化成除一个元素外全是 \(0\),然后按该行或列展开,从而降低了行列式的阶。重复这个过程,最后将行列式化成只有二阶的行列式,就可以直接计算了。

线性代数复习(六):子空间,零空间及列空间 subspace, null space and column space

这里的子空间特指的是  \(\mathbb{R}^n\) 中的线性子空间。\(\mathbb{R}^n\) 本身是一个向量空间,它的一个子集 \(\mathcal{U}\) 成为一个子空间,如果  \(\mathcal{U}\)  满足两个条件:

  • 如果 \(\vec{u},\vec{v}\in \mathcal{U}\) ,那么 \(\vec{u}+\vec{v}\in \mathcal{U}\);
  • 如果  \(\vec{u}\in \mathcal{U}\) ,那么 \(\lambda\vec{u}\in \mathcal{U}\) for all \(\lambda\in \mathbb{R}\)

要证明一个向量集是线性子空间,只需要逐一验证这两个条件即可。如果两个条件都满足,则它是线性子空间。如果有一个条件不满足,则它不是线性子空间。

\(\mathbb{R}^n\) 中有两个特殊的线性子空间,这就是矩阵 \(A\) 的零空间或解空间(Null space, \(\text{Null} A\)),它的定义是所有满足 \(A\vec{x}=0\) 的向量,它们组成一个线性子空间;另外一个是矩阵 \(A\) 的列空间,它定义为 \(\text{col}A=\text{span}\{\vec{v}_1,\vec{v}_2,\cdots, \vec{v}_n\}\),其中 \( \vec{v}_i, 1\leq i \leq n\) 是矩阵的列向量。

我们这里给出了求零空间和列空间的快速有效的方法。

线性代数复习(五):逆矩阵 inverse matrix

逆矩阵的定义是:如果两个矩阵 \(AB=I_n\) ,其中 \(I_n\) 是 \(n\) 阶单位矩阵,就是主对角线上的元素都是 \(1\), 其它所有的元素都是 \(0\) 的方阵(square matrix)。那么 \(B=A^{-1}\) 或者 \(A=B^{-1}\)。注意,逆矩阵的定义只对方阵有意义。

求逆矩阵的方法,比较有效的是初等行变换的方法。将矩阵 \(A\) 与单位矩阵 \(I\) 放在一起组成一个新的矩阵 \((A\vdots I)\), 将此矩阵做初等行变换,如果 \(A\) 变成了单位矩阵,那么单位矩阵就变成了 \(A\) 的逆矩阵。也就是说,\((A\ \vdots \ I)\sim (I \ \vdots\  A^{-1})\)。

我们还给出了判断矩阵是否可逆的等价条件。常用的条件有

  • \(A\vec {x}=0\) 只有零解;
  • \(\text{Rank} A=n\);
  • \(\text{det} A\ne 0\) 或者 \(|A|\ne 0\).

线性代数复习(四):线性变换 linear transformation

我们先回顾一下线性变换(linear transformation)的定义。

线性变换的定义是:如果一个变换 \(T\)满足两个条件

  •  \(T(\vec{u}+\vec{v})=T\vec{u}+T\vec{v}\);
  • \(T(\lambda\vec{u})=\lambda T\vec{u}\);

那么,如果要判定一个变换是否是线性的, 只要逐一验证这两个条件即可。事实上,上面的两个条件可以合并成一个条件:如果 \(T(\lambda\vec{u}+\mu\vec{v})=\lambda T\vec{u}+\mu T\vec{v}\),则 \(T\) 是一个线性变换。

对于线性变换来说,另外一个重要的知识点就是它所对应的矩阵。对于 \(\mathbb{R}^n\) 上的每一个线性变换,都有一个矩阵与它相对应。一个重要的定理说明,对每一个线性变换 \(T\),都存在一个矩阵 \(A\), 使得 \(T\vec{x}=A\vec{x}\) 。而且 \(A=(T\vec{e}_1,\cdots, T\vec{e}_n)\)。很多时候,我们只需要盯住 \(\mathbb{R}^n\) 中的标准基(canonical basis, 或者 standard basis)的变换就能找到 \(A\)。 这里我们还给出另外几个找 \(A\) 的方法。

线性代数(Linear algebra)复习(三):线性相关性 linear dependence

这里我们先给出线性相关与线性无关的定义。然后给出判断线性相关或者线性无关的方法。

判断线性相关性,比较有效的方法主要有三种:其一,如果线性方程组 \(Ax=0\) 只有零解(平凡解, trivial solution),那么它的列向量组是线性无关的;其二,如果矩阵的秩(rank)等于它的列向量的个数,那么列向量之间是线性无关的;其三,利用定义。事实上,如果向量的具体表达式已经给出的情况下,利用秩来判断线性相关性是最有效的方法。

线性代数复习(二):有解与无解方程组

我们利用矩阵的秩(rank)的概念,给出方程组有解和无解的条件。我们首先给出秩的定义,以及三个关于解的结构的定理。利用这几个定理,可以比较方便地得出方程组有解无解的结论。以及解的结构问题。

如果方程组的系数矩阵(coefficient matrix)的秩小于增广矩阵的秩,方程组就是无解的(inconsistent system)。如果系数矩阵的秩等于增广矩阵的秩,方程组就是有解(consistent system)。如果秩等于未知元的个数,方程组的解就是惟一的;如果秩小于未知元的个数,方程组就有无限多个解。