线性代数复习(四):线性变换 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)。如果秩等于未知元的个数,方程组的解就是惟一的;如果秩小于未知元的个数,方程组就有无限多个解。

线性代数复习(一):解线性方程组

我们解线性方程组的基本方法就是,将方程组的增广矩阵(argument matrix) 作初等行变换(row reduction),将方程组的增广矩阵化成行最简矩阵(reduced row echelon form)。因为行最简矩阵对应的方程组是最简单的,而且可以根据行最简矩阵,可以直接写出方程组的解。

这个视频讲解了如何将矩阵化成行最简矩阵,和化简的一些小技巧。以及化简后,如何通过行最简矩阵直接写出方程组的解。

怎样求复变函数的积分?

对于复变函数的积分的求法,不少同学相当迷惑,因为方法太多了。我们来总结一下,有哪些求复变函数积分的方法,这些方法的应用范围又是怎样的。

大体上讲,复变函数的积分方法有以下几种:

第一,直接积分方法。就是将曲线化成参数方程,然后化成定积分来求。如果我们求积分

\[\int_Lf(z)dz\]

那么先求得曲线 \(L\) 的参数方程 \(x=\phi(t), y=\psi(t), \alpha\le t\le \beta\),那么 \(z=x+iy\),\( f(z)=f(x+iy)=f(phi(t)+i\psi(t))\),\(dz=\phi'(t)dt+i\psi'(t)dt\),所以积分变成

\[\int_Lf(z)dz=\int_{\alpha}^{\beta}f(\phi(t)+i\psi(t))(\phi'(t)+i\psi'(t))dt\]

然后运用求定积分的方法来求即可。

第二种方法就是运用柯西(Cauchy)积分公式来求。如果积分具有形式\(\int_L \frac{f(z)}{z-z_0}dz\) 或者 \(\int_L \frac{f(z)}{(z-z_0)^{n+1}}dz\),并且 \(L\) 是一个闭曲线, \(z_0\) 位于闭曲线的内部,则可以直接运用柯西(Cauchy)积分公式

\[\int_L \frac{f(z)}{z-z_0}dz=2\pi i f(z_0)\]

或者

\[\int_L \frac{f(z)}{(z-z_0)^{n+1}}dz=\frac{2\pi if^{n}(z_0)}{n!}.\]

第三种方法就是利用留数定理。如果积分 \(\int_Lg(z)dz\) 不能直接写成 \(\int_L \frac{f(z)}{z-z_0}dz\) 的形式,但是函数本身在曲线的内部不是解析的,而同时它的罗朗级数(Laurent Series)可以求得,那么运用留数定理

\[\int_Lg(z)dz=2\pi i Res(z_0, g(z))=2\pi i c_{-1}\]

其中 \(c_{-1}\) 是函数的罗朗级数展开式的关于 \(\frac{1}{z-z_0}\) 那一项的系数。

最后一种方法,就是利用积分与路径无关的性质。如果函数在某个区域内解析,而且积分路径从位于这个区域内,

\[\int_Lf(z)dz=F(z_1)-F(z_0)\]

其中,\(F(z)\) 是 \(f(z)\) 的原函数,\(z_0\) 和 \(z_1\) 分别是曲线的起点与终点。

复变函数(Complex Variables)学些什么?

复变函数,实际上就是复数函数的微积分理论。这门课程就是逐步建立起复数域上的微积分理论。它的内容主要是以下几个部分。

1,复数的运算。复数的平面表达式 \(z=x+iy\),极坐标表达式\(z=re^{i\theta}\),复数的模(norm)\(|z|\),共轭复数(conjugate),曲线的复数表达式等等;

2,复数函数的定义与性质。例如指数函数 \(e^z\),三角函数\(\sin z, \cos z, \tan z\), 对数函数 \(\log z\),幂函数 \(z^n\),根式函数 \(\sqrt[n]{z}\) 等函数的定义与性质,它们的定义域,值域,取值等等;

3,复数函数的导数的定义,可导的条件;Cauchy-Riemann 方程以及函数可导的条件;

4,复数函数的积分运算;Cauchy 积分公式的及其各种应用;

5,复数函数的级数定理,Taylor 级数与 Laurent 级数;

6,复数函数的映射,或者函数的图形性质。共形映射定理。

通常初等的复函数课程不太可能讲共形映射定理,但一般的函数的映射会讲。

这门课程很多内容可以直接看成是实函数的微积分在复数域上的推广,这一部分的内容不难,例如求导公式 \((\sin z)’=\cos z, (e^z)’=e^z\), 可微函数的Taylor 级数,可微函数的积分,都跟实函数差不多。

但是这门课程的核心内容却是与实函数不一样的地方。例如 Cauchy 积分公式,Laurent 级数和共形映射。在初等的复变函数中,Cauchy 积分公式及其应用和 Laurent 级数占了这门课程的大部分比重。可以说,掌握了这两部分的内容,你就差不多掌握了这门课程。

如何应用对数求导法(logarithm differential) ?

所谓的对数求导法,就是先对函数 \(y=f(x)\) 取对数 \(\ln y=ln f(x)\),然后应用函数求导法则,两边对 \(x\) 求导
\[\frac{1}{y}y’=\frac{f(x)}{f'(x)},\]
从而求出 \(y’\) 的方法。

这种方法主要应用于下列两种情况:

1,函数是幂指函数 \(y=h(x)^{g(x)}\) 的情形。例如
\[y=\sin x ^{\ln x}\]

两边取对数,我们得到
\[\ln y=\ln(\sin x ^{\ln x})。\]

根据对数的运算法则,上式等于
\[\ln y= \ln x \ln(\sin x).\]

两边对 \(x\) 求导,将 \(y\) 看成是 \(x\) 的函数,我们得到
\[\begin{align*}\frac{1}{y}y’&=\frac{1}{x}\ln(\sin x)+\ln x \frac{\cos x}{\sin x}\\
&=\frac{\ln(\sin x)}{x}+\ln x\tan x
\end{align*}.\]

所以
\[\begin{align*}
y’&=y\left(\frac{\ln(\sin x)}{x}+\ln x\tan x\right)\\
&=\sin x ^{\ln x}\left(\frac{\ln(\sin x)}{x}+\ln x\tan x\right)
\end{align*}\]

2,函数混合了多重乘、除法及根式,例如
\[y=\frac{\sqrt[3]{7x^2+1}\cdot \sqrt[5]{2x-3}}{\sqrt{x^2+5}\cdot \sqrt[4]{3x-2}}.\]
这样的函数,不管是用乘法规则(product rule)还是除法规则(quotient rule),都是非常头疼的事。但是用对数求导法则,就简单多了。因为对数函数有几个非常好用的运算法则,就是乘法变成加法,除法变成减法,指数可以提到对数符号前面来。

我们对上面的函数两边取对数,得到
\[\ln y =\ln \left(\frac{\sqrt[3]{7x^2+1}\cdot \sqrt[5]{2x-3}}{\sqrt{x^2+5}\cdot \sqrt[4]{3x-2}}\right)\]
因为根式可以写成指数的形式,例如 \(\sqrt[3]{7x^2+1}=(7x^2+1)^{\frac{1}{3}}\),所以根据对数的运算法则,上式变成
\[\ln y=\frac{1}{3}\ln(7x^2+1)+\frac{1}{5}\ln(2x-3)-\frac{1}{2}\ln(x^2+5)-\frac{1}{4}\ln(3x-2)\]

两边关于 \(x\) 求导,我们得到
\[\frac{y’}{y}=\frac{1}{3}\frac{14x}{7x^2+1}+\frac{1}{5}\frac{2}{2x-3}-\frac{1}{2}\frac{2x}{x^2+5}-\frac{1}{4}\frac{3}{3x-2}\]
两边同乘以 \(y\),然后将 \(y\) 的表达式代入,就得到了
\[y’=\frac{\sqrt[3]{7x^2+1}\cdot \sqrt[5]{2x-3}}{\sqrt{x^2+5}\cdot \sqrt[4]{3x-2}}\left(\frac{1}{3}\frac{14x}{7x^2+1}+\frac{1}{5}\frac{2}{2x-3}-\frac{1}{2}\frac{2x}{x^2+5}-\frac{1}{4}\frac{3}{3x-2
}\right)\]

如何快速地写出方程组的解?

在教材上,通常求解方程组的时候,是将系数矩阵(coefficient matrix)或者增广矩阵(argument matrix)作初等行变换(row reduction)化成行阶梯形(row echelon form),然后写出它所对应的方程来求解。其实,这样的方法并不简便,特别是写回对应的方程,基本上是没有必要这样做。更有效的方法是将矩阵化成最简单的情形(Reduced row echelon form),然后根据系数直接写出解。我们用两个例子来说明这种方法。

我们行看一个齐次方程:

例1:求解线性方程组 \(A\vec{x}=0\),其中
\[A=
\begin{pmatrix}
1& 1& 2& 3\\
2& 0& 0& 2\\
3 &2& 4& 7
\end{pmatrix}\]

解:利用初等行变换,将系数矩阵化成行最简矩阵(我们省略具体步骤):

\[A=\begin{pmatrix}
1& 1& 2& 3\\
2& 0& 0& 2\\
3 &2& 4& 7
\end{pmatrix}
\sim
\begin{pmatrix}
1& 0& 0& 1\\
0 &1& 2& 2\\
0& 0&0& 0\\
\end{pmatrix}
\]

现在我们用一种比较快速的方法写出解。

我们知道每一个非零行的第一个非零元(pivot number) 所对应的未知元就是依赖元或者自由元(dependent variables),其它的叫自由元(free variables)。这里,自由元就是 \(x_3\) 和 \(x_4\),而非自由元是\(x_1,x_2\)。如果要快速地写出方程的解,可以这样作:

第一步,每次取一个自由元为 \(1\), 另外的所有自由元为 \(0\), 在这个题里,就是这样

\[\begin{pmatrix}
x_1\\
x_2\\
x_3\\x_4
\end{pmatrix}=x_3
\begin{pmatrix}
\\
\\
1\\
0
\end{pmatrix}+x_4
\begin{pmatrix}
\\
\\
0\\
1
\end{pmatrix}
\]

第二步,写出剩下的数字。剩下的数字怎么求呢? 我们只需要将自由元上的系数变个符号,就是非自由元的值。第一行,非自由元是 \(x_1\),它对应的 \(x_3\) 的系数是 \(0\),所以它在 \(x_3\) 那一部分的值是 \(0\);它对应 \(x_4\) 的系数是 \(1\),所以它对应于\(x_4\) 的部分是 \(-1\), 就是将 \(1\) 改个符号。就是这样:

\[\begin{pmatrix}
x_1\\
x_2\\
x_3\\x_4
\end{pmatrix}=x_3
\begin{pmatrix}
0\\
\\
1\\
0
\end{pmatrix}+x_4
\begin{pmatrix}
-1\\
\\
0\\
1
\end{pmatrix}
\]

而第二行,非自由元是 \(x_2\),它对应的 \(x_3\) 的系数是 \(2\),所以它在 \(x_3\) 那一部分的值是 \(-2\);它对应 \(x_4\) 的系数是 \(2\),所以它对应于\(x_4\) 的部分是 \(-2\)。所以方程的解就是

\[\begin{pmatrix}
x_1\\
x_2\\
x_3\\x_4
\end{pmatrix}=x_3
\begin{pmatrix}
0\\
-2\\
1\\
0
\end{pmatrix}+x_4
\begin{pmatrix}
-1\\
-2\\
0\\
1
\end{pmatrix}
\]

那么对于非齐次方程,怎么快速地写出解呢?由线性方程组解的理论可以知道,非齐次方程的解由两部分组成,一部分是对应齐次方程的解,另一部分就是非齐次方程的一个特解。这个特解其实也很好求的,我们用例子来说明。

例2:求解线性方程组 \(A\vec{x}=\vec{b}\),其中
\[A=
\begin{pmatrix}
1& 1& 2& 3\\
2& 0& 0& 2\\
3 &2& 4& 7
\end{pmatrix}\quad
\vec{b}=
\begin{pmatrix}
1\\
4\\
4
\end{pmatrix}
\]

解:利用初等行变换,将系数矩阵化成行最简矩阵:

\[
A=
\begin{pmatrix}
1& 1& 2& 3 &\vdots& 1\\
2& 0& 0& 2&\vdots& 4\\
3 &2& 4& 7 &\vdots& 4
\end{pmatrix}
\sim
\begin{pmatrix}
1& 0& 0&1 &\vdots&2\\
0& 1& 2& 2&\vdots& -1\\
0 &0& 0& 0&\vdots& 0
\end{pmatrix}
\]
我们知道,非齐次方程的通解是对应齐次方程的通解加上非齐次方程的一个特解。齐次方程的解,我们只要不看上式里最后一列,就跟前面的例子一样。所以对应齐次方程的通解是
\[\vec{x}=x_3
\begin{pmatrix}
0\\
-2\\
1\\
0
\end{pmatrix}+x_4
\begin{pmatrix}
-1\\
-2\\
0\\
1
\end{pmatrix}
\]

那么,非齐次方程的特解怎么得到呢?很简单,我们只要令自由元的值都为\(0\), 而非自由元的值就是对应的最后一列的值。所以,非齐次方程的一个特解就是
\[\vec{\eta}=\begin{pmatrix}
2\\
-1\\
0\\
0
\end{pmatrix}\]

所以,非齐次方程的通解是
\[
\vec{\xi}=\vec{x}+\vec{\eta}=x_3
\begin{pmatrix}
0\\
-2\\
1\\
0
\end{pmatrix}+x_4
\begin{pmatrix}
-1\\
-2\\
0\\
1
\end{pmatrix}+
\begin{pmatrix}
2\\
-1\\
0\\
0
\end{pmatrix}
\]

怎么判断一致收敛与非一致收敛?

我们这里考虑的是函数序列的一致收敛问题。

区间 \([a,b]\) 上的函数序列 \(\{f_n\}\) 被称为是一致收敛到\([a,b]\) 上的函数 \(f(x)\),指的是对于任意的 \(\epsilon>0\),存在不依赖于 \(x\) 的 \(N\),使得当 \(n>N\) 时,不等式\(|f_n(x)-f(x)|<\epsilon\)对于所有 \(x\in [a,b]\)成立。

从定义可以看到,要证明序列是一致收敛的,我们就要找到 \(N\),使得不等式\(|f_n(x)-f(x)|<\epsilon\) 当 \(n>N\)时对于所有 \(x\in [a,b]\)成立。这个 \(N\) 可以依赖于 \(n\) 和 \(\epsilon\),但不能依赖于 \(x\)。我们看一个例子:

例1:考虑 \(f_n(x)=\frac{x}{1+nx}, x\ge 0\)。因为
\[0< \frac{x}{1+nx}< \frac{x}{nx}\le \frac{1}{n}\] 所以只要 \(n>\frac{1}{\epsilon}\),\(|f_n(x)-0|<\epsilon\)。我们只需要取 \(N=[\frac{1}{\epsilon}]+1\),对么当 \(n>N\)时,\(|f_n(x)-0|<\epsilon\)对于所有 \(x\) 成立。所以 \(f_n(x)\) 一致收敛到 \(0\)。

要证明序列不一致收敛,并不是一件容易的事。当然,从定义可以看到,要证明序列不一致收敛,只需要找到一个 \(\epsilon\),使得不等式\(|f_n(x)-f(x)|<\epsilon\) 对某些 \(x\) 不成立即可。我们还是用一个例子来说明这种做法。

例2:考虑函数序列 \(f_n(x)=\frac{nx}{1+n^2x^2}, 0\le x\le 1\)。可以看出,这个序列收敛于 \(f(x)=0\), 因为
\[\frac{nx}{1+n^2x^2}< \frac{nx}{n^2x^2}=\frac{1}{nx}\] 所以只要 \(n>\frac{1}{x\epsilon}\),\(\frac{nx}{1+n^2x^2}<\epsilon\)。所以函数逐点收敛到 \(0\)。

现在取 \(\epsilon=\frac{1}{2}\),那么在区间\([0,1]\)上,总有一点 \(x=\frac{1}{n}\),使得函数值 \(f_n(x)=\frac{1}{2}\)。在这点上 \(f_n(x)<\frac{1}{2}\)是不成立的。所以函数序列不一致收敛。

怎么寻找线性变换(linear transformation)所对应的矩阵?

\(\mathbb{R}^n\)上的线性变换有一个重要的定理,就是每一个线性变换 \(T\) ,都有一个矩阵 \(A\) 跟它对应,使得 \(T(\vec{x})=A\vec{x}\)。定理的结论是这样的:

定理: 假设 \(T\) 是 \(\mathbb{R}^n\) 上的一个线性变换,那么必定存在一个矩阵 \(A\) 使得
\[T(\vec{x})=A\vec{x},\]
并且
\[A=[T\vec{e}_1 \ T\vec{e}_2 \ \cdots T\vec{e}_n].\]

这个定理的前一部分说明了这样的矩阵是存在的,而后一部分说明了怎么样寻找这样的矩阵。

从定理的叙述可以看出,我们只要\(\mathbb{R}^n\) 上的标准基的像都找出来,那么我矩阵 \(A\) 就找出来了。也就是说,一般情况下,我们只要盯住标准基 \(\vec{e}_1,\vec{e}_2,\cdots,\vec{e}_n\),看它们怎么变就行了。当然,有些复杂一点的变换,我们需要用一点点其它的技巧。

我们来看两个例子。

例1 假设 \(\mathbb{R}^2\) 的一个线性变换 \(T\) 定义为将平面上的点以直线 \(y=x\) 作反射,求 \(T\) 所对就的矩阵 \(A\).

解:要求出这个矩阵,我们只需要知道两个向量 \(\vec{v}_1=\begin{pmatrix}1\\0\end{pmatrix}, \vec{v}_2=\begin{pmatrix}0\\1\end{pmatrix}\) 变成了什么就可以了。

显然,以直线 \(y=x\) 作反射,\(\vec{v}_1=\begin{pmatrix}1\\0\end{pmatrix}\) 就变成了\(\vec{v}_2=\begin{pmatrix}0\\1\end{pmatrix}\), 而\(\vec{v}_2=\begin{pmatrix}0\\1\end{pmatrix}\) 就变成了\(\vec{v}_1=\begin{pmatrix}1\\0\end{pmatrix}\)。所以
\[A=[T\vec{v}_1 \ T\vec{v}_2]=\begin{pmatrix}0&1\\ 1&0\end{pmatrix}\]

例2:假设 \(\mathbb{R}^2\) 的一个线性变换 \(T\) 定义为将平面上的点以直线 \(y=2x\) 作反射,求 \(T\) 所对就的矩阵 \(A\).

这个问题麻烦些,因为我们不能直接计算出 \(T\vec{v}_1\) 和 \(T\vec{v}_2\),但我们可以用间接的方式算出 \(A\)。

解:既然是以 \(y=2x\) 作反射轴,那么这条线上的所有的点是不变的。我们不妨选取点 \((1,2)\),那么 \(T \begin{pmatrix}1 \\ 2 \end{pmatrix} = \begin{pmatrix}1 \\ 2\end{pmatrix}\)。

但是 \(\begin{pmatrix}1\\2\end{pmatrix}=\vec{v}_1+2\vec{v}_2\), 由线性变换的性质,\(T(\vec{v}_1+2\vec{v}_2)=T\vec{v}_1+2T\vec{v}_2=\begin{pmatrix}1\\2\end{pmatrix}\)

另外,我们通过原点作垂直于\(y=2x\) 的直线。由直线垂直的性质,我们作出来的这条直线具有方程 \(y=-\frac{1}{2}x\)。这条直线上所有的点,都变成以原点为对称点的点。我们不妨选取点 \((-2,1)\),这个点变成 \((2,-1)\)。也就是说
\[T\begin{pmatrix}-2\\1\end{pmatrix}=\begin{pmatrix}2\\-1\end{pmatrix}\]
同样的道理, \(\begin{pmatrix}-2\\1\end{pmatrix}=-2\vec{v}_1+\vec{v}_2\),\(T(-2\vec{v}_1+\vec{v}_2)=-2T\vec{v}_1+T\vec{v}_2=\begin{pmatrix}2\\-1\end{pmatrix}\).

所以我们得到了两个方程,
\[\begin{cases}
T\vec{v}_1+2T\vec{v}_2=\begin{pmatrix}1\\2\end{pmatrix}\\
-2T\vec{v}_1+T\vec{v}_2=\begin{pmatrix}2\\-1\end{pmatrix}
\end{cases}\]

将 \(T\vec{v}_1\) 和 \(T\vec{v}_2\) 看成未知数,求解上述方程,我们得到解
\[
T\vec{v}_1=\begin{pmatrix}-\frac{3}{5}\\ \frac{4}{5}\end{pmatrix}, \quad
T\vec{v}_2=\begin{pmatrix}\frac{4}{5}\\ \frac{3}{5}\end{pmatrix}
\]

所以
\[A=\begin{pmatrix}
-\frac{3}{5}& \frac{4}{5}\\
\frac{4}{5}&\frac{3}{5}
\end{pmatrix}\]