一、线性变换的概念
当一个矩阵 A A A 乘一个向量 v \boldsymbol v v 时,它将 v \boldsymbol v v “变换” 成另一个向量 A v A\boldsymbol v Av. 输入 v \boldsymbol v v,输出 T ( v ) = A v T(\boldsymbol v)=A\boldsymbol v T(v)=Av. 变换 T T T 和函数类似:对于函数,输入数字 x x x,输出 f ( x ) f(x) f(x);对于变换,输入一个向量 v \boldsymbol v v,我们用矩阵左乘这个向量,输出 T ( v ) T(\boldsymbol v) T(v). 我们更深入的目标是所有向量 v \boldsymbol v v 的变换,当我们用矩阵 A A A 左乘每个向量 v \boldsymbol v v 时,我们是在变换整个空间 V V V.
先从矩阵 A A A 开始,它将 v \boldsymbol v v 变换成 A v A\boldsymbol v Av,将 w \boldsymbol w w 变换成 A w A\boldsymbol w Aw,当 u = v + w \boldsymbol u=\boldsymbol v+\boldsymbol w u=v+w 时,我们得到 A u A\boldsymbol u Au 等于 A v + A w A\boldsymbol v+A\boldsymbol w Av+Aw. 矩阵乘法 T ( v ) = A v T(\boldsymbol v)=A\boldsymbol v T(v)=Av 给出了一个线性变换(linear transformation):
一个 变换 T 对于每个输入的向量 v 都对应一个输出 T ( v ) . 如果对于所有的 v 和 w 都满足如下条件,则这个变换是 线性 的: ( a ) T ( v + w ) = T ( v ) + T ( w ) ( b ) 对于任意的 c 都有 : T ( c v ) = c T ( v ) 一个\,\pmb{变换\,T}\,对于每个输入的向量\,\boldsymbol v\,都对应一个输出\,T(\boldsymbol v).\,如果对于所有的\,\boldsymbol v\,和\,\boldsymbol w\,都满足如下条件,则这个变换是\pmb{线性}的:\\\,\\\color{blue}(a)\kern 5ptT(\boldsymbol v+\boldsymbol w)=T(\boldsymbol v)+T(\boldsymbol w)\kern 15pt(b)\kern 5pt对于任意的\,c\,都有:\,T(c\boldsymbol v)=cT(\boldsymbol v) 一个变换T对于每个输入的向量v都对应一个输出T(v).如果对于所有的v和w都满足如下条件,则这个变换是线性的:(a)T(v+w)=T(v)+T(w)(b)对于任意的c都有:T(cv)=cT(v)
由上述定义可知,如果输入 v = 0 \boldsymbol v=\boldsymbol 0 v=0,则输出一定是 T ( v ) = 0 T(\boldsymbol v)=\boldsymbol 0 T(v)=0,我们可以将条件(a)和(b)合并成一个条件:
线性变换 T ( c v + d w ) = c T ( v ) + d T ( w ) \pmb{线性变换}\kern 30pt\color{blue}T(c\boldsymbol v+d\boldsymbol w)=cT(\boldsymbol v)+dT(\boldsymbol w) 线性变换T(cv+dw)=cT(v)+dT(w)
我们可以验证矩阵的乘法是线性的: A ( c v + d w ) = c A v + d A w A(c\boldsymbol v+d\boldsymbol w)=cA\boldsymbol v+dA\boldsymbol w A(cv+dw)=cAv+dAw.
线性变换的限制很强。假设变换 T T T 是对任意向量加上一个非零向量 u 0 \boldsymbol u_0 u0,则 T ( v ) = v + u 0 , T ( w ) = w + u 0 T(\boldsymbol v)=\boldsymbol v+\boldsymbol u_0,\,T(\boldsymbol w)=\boldsymbol w+\boldsymbol u_0 T(v)=v+u0,T(w)=w+u0,这个就不算线性的,我们对 v + w \boldsymbol v+\boldsymbol w v+w 作变换 T T T 会得到 v + w + u 0 \boldsymbol v+\boldsymbol w+\boldsymbol u_0 v+w+u0,它并不等于 T ( v ) + T ( w ) T(\boldsymbol v)+T(\boldsymbol w) T(v)+T(w): 平移不是线性的 v + w + u 0 不等于 T ( v ) + T ( w ) = ( v + u 0 ) + ( w + u 0 ) \pmb{平移不是线性的}\kern 15pt\boldsymbol v+\boldsymbol w+\boldsymbol u_0\kern 5pt不等于\kern 5ptT(\boldsymbol v)+T(\boldsymbol w)=(\boldsymbol v+\boldsymbol u_0)+(\boldsymbol w+\boldsymbol u_0) 平移不是线性的v+w+u0不等于T(v)+T(w)=(v+u0)+(w+u0)只有当 u 0 = 0 \boldsymbol u_0=\boldsymbol 0 u0=0 时才是线性的,此时这个变换简化为 T ( v ) = v T(\boldsymbol v)=\boldsymbol v T(v)=v,这个是恒等变换(identity transformation,没有任何变换,就如单位矩阵左乘向量一样)。这个当然是线性的,这种情况输入空间 V \pmb{\textrm V} V 和输出空间 W \textrm{\pmb W} W 是完全一样的。
“线性 + 平移(linear-plus-shift)” 变换 T ( v ) = A v + u 0 T(\boldsymbol v)=A\boldsymbol v+\boldsymbol u_0 T(v)=Av+u0 称为 “仿射的(affine)”,尽管此时 T T T 不是线性的,但是直线变换后仍为直线。移动计算机图形时,就可以使用仿射变换。
【例1】选择一个固定的向量 a = ( 1 , 3 , 4 ) \boldsymbol a=(1,3,4) a=(1,3,4),令 T ( v ) T(\boldsymbol v) T(v) 是点积 a ⋅ v \boldsymbol a\cdot\boldsymbol v a⋅v:
输入是 v = ( v 1 , v 2 , v 3 ) , 输出是 T ( v ) = a ⋅ v = v 1 + 3 v 2 + 4 v 3 \boxed{输入是\,\boldsymbol v=(v_1,v_2,v_3),\kern 20pt输出是\,T(\boldsymbol v)=\boldsymbol a\cdot\boldsymbol v=v_1+3v_2+4v_3} 输入是v=(v1,v2,v3),输出是T(v)=a⋅v=v1+3v2+4v3点积是线性的。输入 v \boldsymbol v v 来自于三维空间,所以 V = R 3 \textrm{\pmb V}=\textrm{\pmb{R}}^3 V=R3. 输出只是数字,所以输出空间是 W = R 1 \textrm{\pmb W}=\textrm{\pmb R}^1 W=R1. 这个就相当于用行矩阵 A = [ 1 3 4 ] A=\begin{bmatrix}1&3&4\end{bmatrix} A=[134] 左乘 v \boldsymbol v v,即 T ( v ) = A v T(\boldsymbol v)=A\boldsymbol v T(v)=Av.
现在我们能够很好的判断哪些变换是线性的了,如果输出包含平方、乘积或长度, v 1 2 , v 1 v 2 v_1^2,v_1v_2 v12,v1v2 或 ∣ ∣ v ∣ ∣ ||\boldsymbol v|| ∣∣v∣∣,则 T T T 就不是线性的。
【例2】长度 T ( v ) = ∣ ∣ v ∣ ∣ T(\boldsymbol v)=||\boldsymbol v|| T(v)=∣∣v∣∣ 不是线性的。线性条件(a)要求 ∣ ∣ v + w ∣ ∣ = ∣ ∣ v ∣ ∣ + ∣ ∣ w ∣ ∣ ||\boldsymbol v+\boldsymbol w||=||\boldsymbol v||+||\boldsymbol w|| ∣∣v+w∣∣=∣∣v∣∣+∣∣w∣∣,条件(b)要求 ∣ ∣ c v ∣ ∣ = c ∣ ∣ v ∣ ∣ ||c\boldsymbol v||=c||\boldsymbol v|| ∣∣cv∣∣=c∣∣v∣∣. 这两个条件均不满足!
条件(a)不成立:三角形的边满足三角不等式 ∣ ∣ v + w ∣ ∣ ≤ ∣ ∣ v ∣ ∣ + ∣ ∣ w ∣ ∣ ||\boldsymbol v+\boldsymbol w||\le||\boldsymbol v||+||\boldsymbol w|| ∣∣v+w∣∣≤∣∣v∣∣+∣∣w∣∣.
条件(b)不成立:长度 ∣ ∣ − v ∣ ∣ ||-\boldsymbol v|| ∣∣−v∣∣ 是 ∣ ∣ v ∣ ∣ ||\boldsymbol v|| ∣∣v∣∣ 而不是 − ∣ ∣ v ∣ ∣ -||\boldsymbol v|| −∣∣v∣∣. 对于负数 c c c,线性不成立。
【例3】(旋转) T T T 是将每个向量逆时针旋转 30 ° 30° 30° 的变换, T T T 的 “定义域(domain)” 是 x y xy xy 平面(所有的输入向量 v \boldsymbol v v), T T T 的 “值域(range)” 也是 x y xy xy 平面(所有旋转了的向量 T ( v ) T(\boldsymbol v) T(v))。我们不适用矩阵来描述就是:平面逆时针旋转 30 ° 30° 30°.
旋转变换是线性的吗?答案是肯定的。我们可以将两个向量旋转后相加,旋转后的向量之和 T ( v ) + T ( w ) T(\boldsymbol v)+T(\boldsymbol w) T(v)+T(w) 等于向量和的旋转 T ( v + w ) T(\boldsymbol v+\boldsymbol w) T(v+w). 在这个线性变换中,整个平面一起旋转。
二、线到线、三角形到三角形、基决定一切
Figure 8.1 展示了输入空间中从 v \boldsymbol v v 到 w \boldsymbol w w 的直线,也展示了输出空间中从 T ( v ) T(\boldsymbol v) T(v) 到 T ( w ) T(\boldsymbol w) T(w) 的直线。线性告诉我们:输入直线上的每一个点都映射到输出直线上;进一步地是:等间距的点映射为等间距的点。中点 u = 1 2 v + 1 2 w \boldsymbol u=\displaystyle\frac{1}{2}\boldsymbol v+\frac{1}{2}\boldsymbol w u=21v+21w 映射为中点 T ( u ) = 1 2 T ( v ) + 1 2 T ( w ) T(\boldsymbol u)=\displaystyle\frac{1}{2}T(\boldsymbol v)+\frac{1}{2}T(\boldsymbol w) T(u)=21T(v)+21T(w).
另一个图上升一个维度,现在我们有三个顶点 v 1 , v 2 , v 3 \boldsymbol v_1,\boldsymbol v_2,\boldsymbol v_3 v1,v2,v3,这些输入有三个输出 T ( v 1 ) , T ( v 2 ) , T ( v 3 ) T(\boldsymbol v_1),T(\boldsymbol v_2),T(\boldsymbol v_3) T(v1),T(v2),T(v3),输入三角形映射为输出三角形,等间距的点仍然保持等间距(沿着边的和不在边上的都是如此),重心 u = 1 3 ( v 1 + v 2 + v 3 ) \boldsymbol u=\displaystyle\frac{1}{3}(\boldsymbol v_1+\boldsymbol v_2+\boldsymbol v_3) u=31(v1+v2+v3) 映射为重心 T ( u ) = 1 3 ( T ( v 1 ) + T ( v 2 ) + T ( v 3 ) ) T(\boldsymbol u)=\displaystyle\frac{1}{3}(T(\boldsymbol v_1)+T(\boldsymbol v_2)+T(\boldsymbol v_3)) T(u)=31(T(v1)+T(v2)+T(v3)).
线性性质可以扩展到三个向量或 n 个向量的组合: \color{blue}线性性质可以扩展到三个向量或\,n\,个向量的组合: 线性性质可以扩展到三个向量或n个向量的组合:
线性的 u = c 1 v 1 + c 2 v 2 + ⋯ + c n v n 一定是变换为 T ( u ) = c 1 T ( v 1 ) + c 2 T ( v 2 ) + ⋯ + c n T ( v n ) ( 8.1.1 ) \begin{array}{c}\pmb{线性的}\kern 15pt{\color{blue}\boldsymbol u=c_1\boldsymbol v_1+c_2\boldsymbol v_2+\cdots+c_n\boldsymbol v_n}\kern 15pt\pmb{一定是变换为}\\\\{\color{blue}T(\boldsymbol u)=c_1T(\boldsymbol v_1)+c_2T(\boldsymbol v_2)+\cdots+c_nT(\boldsymbol v_n)}\end{array}\kern 20pt(8.1.1) 线性的u=c1v1+c2v2+⋯+cnvn一定是变换为T(u)=c1T(v1)+c2T(v2)+⋯+cnT(vn)(8.1.1)
由 2 2 2 个向量的性质得到推出 3 3 3 个向量情形的证明: T ( c u + d v + e w ) = T ( c u ) + d T ( d v + e w ) T(c\boldsymbol u+d\boldsymbol v+e\boldsymbol w)=T(c\boldsymbol u)+dT(d\boldsymbol v+e\boldsymbol w) T(cu+dv+ew)=T(cu)+dT(dv+ew),然后对右边的这些项继续应用线性性质,可以得到 c T ( u ) + d T ( v ) + e T ( w ) cT(\boldsymbol u)+dT(\boldsymbol v)+eT(\boldsymbol w) cT(u)+dT(v)+eT(w).
n n n 个向量的规则(8.1.1)给出线性变换最重要的性质:`
假设知道了一组基 v 1 , v 2 , ⋯ , v 3 \boldsymbol v_1,\boldsymbol v_2,\cdots,\boldsymbol v_3 v1,v2,⋯,v3 的全部变换 T ( v ) T(\boldsymbol v) T(v),那么就知道了这个空间中任意向量 u \boldsymbol u u 的变换 T ( u ) T(\boldsymbol u) T(u).
理由是:空间中的任意向量 u \boldsymbol u u 均是基向量 v j \boldsymbol v_j vj 的线性组合,由线性性质可知, T ( u ) T(\boldsymbol u) T(u) 是输出 T ( v j ) T(\boldsymbol v_j) T(vj) 同样系数的线性组合。
【例4】变换 T T T 是求输入的导数: T ( u ) = d u d x T(u)=\displaystyle\frac{\textrm du}{\textrm dx} T(u)=dxdu. 如何求 u = 6 − 4 x + 3 x 2 u=6-4x+3x^2 u=6−4x+3x2 的导数?我们先从 1 , x 1,x 1,x 和 x 2 x^2 x2 的导数开始,这些就是基向量,它们的导数分别是 0 , 1 0,1 0,1 和 2 x 2x 2x,那么可以使用线性性质求基向量任意线性组合的导数: d u d x = 6 ( 1 的导数 ) − 4 ( x 的导数 ) + 3 ( x 2 的导数 ) = − 4 + 6 x \frac{\textrm du}{\textrm dx}=6(1\,的导数)-4(x\,的导数)+3(x^2\,的导数)=-4+6x dxdu=6(1的导数)−4(x的导数)+3(x2的导数)=−4+6x微积分的内容都是基于线性性质的!微积分基础是先求出基本初等函数的导数,如 x n , sin x , cos x x^n,\sin x,\cos x xn,sinx,cosx 和 e x e^x ex,然后再对它们所有的组合使用线性性质。
微积分中唯一特殊的法则是链式法则(chain rule),链式法则给出了复合函数 f ( g ( x ) ) f(g(x)) f(g(x)) 的导数。
T ( u ) = d u d x T(u)=\displaystyle\frac{\textrm du}{\textrm dx} T(u)=dxdu 的零空间:要得到零空间我们需要求解 T ( u ) = 0 T(u)=0 T(u)=0. 当且仅当 u u u 是一个常数函数时其导数为零。所以零空间是一维的,它是函数空间中的一条线 —— 包含特解 u = 1 u=1 u=1 所有的倍数。
T ( u ) = d u d x T(u)=\displaystyle\frac{\textrm du}{\textrm dx} T(u)=dxdu 的列空间:该例中输入空间包含所有的二次函数 a + b x + c x 2 a+bx+cx^2 a+bx+cx2,输出空间(列空间)是所有的线性函数 b + 2 c x b+2cx b+2cx. 注意计数定理 r + ( n − r ) = n \pmb{r+(n-r)=n} r+(n−r)=n 仍然成立。 维数 ( 列空间 ) + 维数 ( 零空间 ) = 2 + 1 = 3 = 维数 ( 输入空间 ) 维数(\pmb{列空间})+维数(\pmb{零空间})=\pmb{2+1=3}=维数(\pmb{输入空间}) 维数(列空间)+维数(零空间)=2+1=3=维数(输入空间)求导 d d x \displaystyle\frac{\textrm d}{\textrm dx} dxd 对应的矩阵是什么?对于线性变换 T = d d x T=\displaystyle\frac{\textrm d}{\textrm dx} T=dxd,我们知道 T T T 对基函数的作用: v 1 , v 2 , v 3 = 1 , x , x 2 d v 1 d x = 0 d v 2 d x = 1 = v 1 d v 3 d x = 2 x = 2 v 2 ( 8.1.2 ) \boldsymbol v_1,\boldsymbol v_2,\boldsymbol v_3=\pmb{1,x,x^2}\kern 20pt\frac{\textrm d\boldsymbol v_1}{\textrm dx}=\boldsymbol 0\kern 20pt\frac{\textrm d\boldsymbol v_2}{\textrm dx}=1=\boldsymbol v_1\kern 20pt\frac{\textrm d\boldsymbol v_3}{\textrm dx}=2x=\pmb{2 v_2}\kern 18pt(8.1.2) v1,v2,v3=1,x,x2dxdv1=0dxdv2=1=v1dxdv3=2x=2v2(8.1.2)三维的输入空间 V \pmb{\textrm V} V(二次函数)变换到二维的输出空间 W \textrm{\pmb W} W(线性函数)。如果将 v 1 , v 2 , v 3 \boldsymbol v_1,\boldsymbol v_2,\boldsymbol v_3 v1,v2,v3 当做向量,就可以得到变换矩阵 A = [ 0 1 0 0 0 2 ] 是求导变换 T = d d x 的变换矩阵 ( 8.1.3 ) \boxed{\pmb A=\begin{bmatrix}0&\pmb1&0\\0&0&\pmb2\end{bmatrix}是求导变换\,T=\frac{\textrm d}{\textrm dx}\,的变换矩阵}\kern 25pt(8.1.3) A=[001002]是求导变换T=dxd的变换矩阵(8.1.3)线性变换 d u d x \displaystyle\frac{\textrm du}{\textrm dx} dxdu 可以完美的由矩阵的乘法 A u A\boldsymbol u Au 来解释。 输入 u a + b x + c x 2 乘积 A u = [ 0 1 0 0 0 2 ] [ a b c ] = [ b 2 c ] 输出 d u d x = b + 2 c x \begin{array}{l}\pmb{输入}\,\boldsymbol u\\a+bx+cx^2\end{array}\begin{array}{c}\pmb{乘积}\,A\boldsymbol u=\begin{bmatrix}0&1&0\\0&0&2\end{bmatrix}\begin{bmatrix}a\\b\\c\end{bmatrix}=\begin{bmatrix}b\\2c\end{bmatrix}&\pmb{输出\,\displaystyle\frac{\textrm du}{\textrm dx}}=b+2cx\end{array} 输入ua+bx+cx2乘积Au=[001002]
abc
=[b2c]输出dxdu=b+2cx T T T 和 A A A 之间的联系(我们可以对每个线性变换都确定一个变换矩阵)依赖于输入基 1 , x , x 2 1,x,x^2 1,x,x2 和输出基 1 , x 1,x 1,x 的选取。
下面看积分,它们给出导数的伪逆 T + T^+ T+ ! 这里不能写成 T − 1 T^{-1} T−1,那么也不能说 “ T T T 的逆 ”,因为所有常数函数的导数都是 0 0 0,这是多对一的情况。
【例5】积分 T + T^+ T+ 也是线性的: ∫ 0 x ( D + E x ) d x = D x + 1 2 E x 2 \int_0^x(D+Ex)\,\textrm dx=Dx+\displaystyle\frac{1}{2}Ex^2 ∫0x(D+Ex)dx=Dx+21Ex2.
现在输入基是 1 , x 1,x 1,x,输出基是 1 , x , x 2 1,x,x^2 1,x,x2, T + T^+ T+ 对应的矩阵 A + A^+ A+ 是 3 × 2 3\times2 3×2 的: 输入 v D + E x 乘积 A + v = [ 0 0 1 0 0 1 / 2 ] [ D E ] = [ 0 D 1 2 E ] 输出 v 的积分 T + ( v ) = D x + 1 2 E x 2 \begin{array}{l}\pmb{输入\,v}\\D+Ex\end{array}\kern 10pt\pmb{乘积}\,A^+\boldsymbol v=\begin{bmatrix}0&0\\1&0\\0&1/2\end{bmatrix}\begin{bmatrix}D\\E\end{bmatrix}=\begin{bmatrix}\pmb0\\\pmb D\\\pmb{\displaystyle\frac{1}{2}E}\end{bmatrix}\kern 5pt\begin{array}{l}\pmb{输出\,v\,的积分}\\T^+(\boldsymbol v)=Dx+\displaystyle\frac{1}{2}Ex^2\end{array} 输入vD+Ex乘积A+v=
010001/2
[DE]=
0D21E
输出v的积分T+(v)=Dx+21Ex2微积分基本定理指出:积分是微分的(伪)逆。从线性代数来看,矩阵 A + A^+ A+ 是矩阵 A A A 的伪逆: A + A = [ 0 0 1 0 0 1 / 2 ] [ 0 1 0 0 0 2 ] = [ 0 0 0 0 1 0 0 0 1 ] A A + = [ 1 0 0 1 ] ( 8.1.4 ) A^+A=\begin{bmatrix}0&0\\1&0\\0&1/2\end{bmatrix}\begin{bmatrix}0&1&0\\0&0&2\end{bmatrix}=\begin{bmatrix}\pmb0&0&0\\0&\pmb1&0\\0&0&\pmb1\end{bmatrix}\kern 15ptAA^+=\begin{bmatrix}\pmb1&0\\0&\pmb1\end{bmatrix}\kern 19pt(8.1.4) A+A=
010001/2
[001002]=
000010001
AA+=[1001](8.1.4)常数函数的导数是零,零在 A + A A^+A A+A 的对角线上。如果 T = d d x T=\displaystyle\frac{\textrm d}{\textrm dx} T=dxd 没有一维的零空间,则微积分就不是微积分了(不再完整)。
三、变换的例子(大部分是线性的)
【例6】将任意三维向量投影到水平面 z = 1 z=1 z=1 上:向量 v = ( x , y , z ) \boldsymbol v=(x,y,z) v=(x,y,z) 变换为 T ( v ) = ( x , y , 1 ) T(\boldsymbol v)=(x,y,1) T(v)=(x,y,1). 这个向量不是线性的。为什么呢?因为 v = 0 \boldsymbol v=\boldsymbol 0 v=0 甚至没有变换为 T ( v ) = 0 T(\boldsymbol v)=\boldsymbol 0 T(v)=0.
【例7】假设 A A A 是一个可逆矩阵,则有 T ( v + w ) = A v + A w = T ( v ) + T ( w ) T(\boldsymbol v+\boldsymbol w)=A\boldsymbol v+A\boldsymbol w=T(\boldsymbol v)+T(\boldsymbol w) T(v+w)=Av+Aw=T(v)+T(w). 另一个线性变换是用 A − 1 A^{-1} A−1 左乘,这个给出了逆变换(inverse transformation) T − 1 T^{-1} T−1,它将每个向量 T ( v ) T(\boldsymbol v) T(v) 变换回 v \boldsymbol v v: T − 1 ( T ( v ) ) = v 对应矩阵的乘积 A − 1 ( A v ) = v T^{-1}(T(\boldsymbol v))=\boldsymbol v\kern 18pt对应矩阵的乘积\kern 19ptA^{-1}(A\boldsymbol v)=\boldsymbol v T−1(T(v))=v对应矩阵的乘积A−1(Av)=v如果 T ( v ) = A v , S ( u ) = B u T(\boldsymbol v)=A\boldsymbol v,S(\boldsymbol u)=B\boldsymbol u T(v)=Av,S(u)=Bu,则乘积 T ( S ( u ) ) T(S(\boldsymbol u)) T(S(u)) 对应乘积 A B u AB\boldsymbol u ABu.
下面讨论一个无可避免的问题:所有的从 V = R n \textrm{\pmb{V}}={\textrm {\pmb R}}^n V=Rn 到 W = R m \pmb {\textrm W}=\pmb{\textrm R}^m W=Rm 的线性变换都可以由矩阵给出吗? 当线性的 T T T 是 “旋转” “投影” 或其它的变换, T T T 总是有对应的矩阵 A A A 吗? T ( v ) T(\boldsymbol v) T(v) 总是 A v A\boldsymbol v Av 吗?
答案是肯定的!这是不从矩阵开始的线性代数的一种方法。在我们选择好一组输入基和输出基后,我们可以通过矩阵来描述线性变换。
注: 变换有自己的语言。从矩阵角度来看线性变换 T ( v ) = A v T(\boldsymbol v)=A\boldsymbol v T(v)=Av,矩阵 A A A 的列空间包含所有的输出 A v A\boldsymbol v Av,零空间包含所有的使 A v = 0 A\boldsymbol v=\boldsymbol 0 Av=0 时的输入;在变换语言中,这些对应的分别是 “值域(range)” 与 “核(kernel)”:
T 的值域: \color{blue}T\,的值域: T的值域: 所有的输出 T ( v ) T(\boldsymbol v) T(v). 值域对应列空间。
T 的核: \color{blue}T\,的核: T的核:所有使得 T ( v ) = 0 T(\boldsymbol v)=\boldsymbol 0 T(v)=0 的输入. 核对应零空间。
值域在输出空间 W \textrm {\pmb W} W 中,核在输入空间 V \textrm{\pmb V} V 中,当 T T T 是用一个矩阵左乘,即 T ( v ) = A v T(\boldsymbol v)=A\boldsymbol v T(v)=Av 时,值域是列空间,核是零空间。
四、平面的线性变换
观察线性变换的作用比起定义它要更有趣。当一个 2 × 2 2\times2 2×2 的矩阵 A A A 左乘 R 2 \textrm{\pmb R}^2 R2 中的所有向量时,我们可以观察它是如何作用的。我们下面以一个有 11 11 11 个顶点的 “房子” 为例,这 11 11 11 个向量 v \boldsymbol v v 变换成 11 11 11 个向量 A v A\boldsymbol v Av,连接 v \boldsymbol v v 的直线变换成了连接 A v A\boldsymbol v Av 的直线(从房子到房子的变换是线性的!)。对一个标准的房子应用 A A A 会产生一个新房子 —— 可能伸缩或旋转或其它的不适合居住的房子。
这一部分是可视化的图像,不属于理论。下面展示了 4 4 4 个房子和用于生成它们的矩阵。 H H H 的列是第一个房子的 11 11 11 个顶点( H H H 是 2 × 12 2\times12 2×12 的,以便于 plot2d 连接第 11 11 11 个顶点和第 1 1 1 个顶点), A A A 左乘房子矩阵 H H H 的 11 11 11 个顶点将得到变换后房子 A H AH AH 的顶点。
房子矩阵 H = [ − 6 − 6 − 7 0 7 6 6 − 3 − 3 0 0 − 6 − 7 2 1 8 1 2 − 7 − 7 − 2 − 2 − 7 − 7 ] \pmb{房子矩阵}\kern 16ptH=\begin{bmatrix}-6&-6&-7&0&7&6&\kern 7pt6&-3&-3&\kern 7pt0&\kern 7pt0&-6\\-7&\kern 7pt2&\kern 7pt1&8&1&2&-7&-7&-2&-2&-7&-7\end{bmatrix} 房子矩阵H=[−6−7−62−710871626−7−3−7−3−20−20−7−6−7]
MATLAB 中画出标准房子的程序:
H = [-6 -6 -7 0 7 6 6 -3 -3 0 0 -6;-7 2 1 8 1 2 -7 -7 -2 -2 -7 -7];
x = H(1,:)'; y = H(2,:)';
axis([-10 10 -10 10]), axis('square') % 坐标范围是x轴-10~10,y轴-10~10,坐标区域显示为正方形
plot(x, y,'o', x, y, '-'); % 连接线是实线,顶点是圆圈
五、主要内容总结
- 变换 T T T 将每个输入空间中的 v \boldsymbol v v 映射为输出空间中的 T ( v ) T(\boldsymbol v) T(v).
- 若 T ( v + w ) = T ( v ) + T ( w ) T(\boldsymbol v+\boldsymbol w)=T(\boldsymbol v)+T(\boldsymbol w) T(v+w)=T(v)+T(w) 且 T ( c v ) = c T ( v ) T(c\boldsymbol v)=cT(\boldsymbol v) T(cv)=cT(v),则 T T T 是线性的:直线映射为直线。
- 线性变换将线性组合映射为线性组合: T ( c 1 v 1 + c 2 v 2 + ⋯ + c n v n ) = c 1 T ( v 1 ) + c 2 T ( v 2 ) + ⋯ + c n T ( v n ) T(c_1\boldsymbol v_1+c_2\boldsymbol v_2+\cdots+c_n\boldsymbol v_n)=c_1T(\boldsymbol v_1)+c_2T(\boldsymbol v_2)+\cdots+c_nT(\boldsymbol v_n) T(c1v1+c2v2+⋯+cnvn)=c1T(v1)+c2T(v2)+⋯+cnT(vn).
- T T T 为求导, T + T^+ T+ 为积分都是线性的。 A A A 为 m × n m\times n m×n 的矩阵,则 T ( v ) = A v T(\boldsymbol v)=A\boldsymbol v T(v)=Av 是将 R n \textrm{\pmb R}^n Rn 映射成 R m \pmb {\textrm R}^m Rm.
六、例题
【例8】消元矩阵 A = [ 1 0 1 1 ] A=\begin{bmatrix}1&0\\1&1\end{bmatrix} A=[1101] 给出一个从 ( x , y ) (x,y) (x,y) 到 T ( x , y ) = ( x , x + y ) \pmb{T(x,y)=(x,x+y)} T(x,y)=(x,x+y) 的剪切变换(shearing transformation). 如果输入向量填满一个正方形,画出变换后的正方形。
解: x x x 轴上的点 ( 1 , 0 ) (1,0) (1,0) 和 ( 2 , 0 ) (2,0) (2,0) 进行 T T T 变换后是与 x x x 轴成 45 ° 45° 45° 角直线上的点 ( 1 , 1 ) (1,1) (1,1) 和 ( 2 , 2 ) (2,2) (2,2). y y y 轴上的点没有移动: T ( 0 , y ) = ( 0 , y ) T(0,y)=(0,y) T(0,y)=(0,y),这个是 λ = 1 \lambda=1 λ=1 的特征向量。垂直的线向上滑动,这就是剪切,因此正方形变成了平行四边形。
【例9】若要非线性变换 T T T 可逆,那么需要输出空间中的每个向量 b \boldsymbol b b 都恰好对应输入空间的一个 x \boldsymbol x x: T ( x ) = b T(\boldsymbol x)=\boldsymbol b T(x)=b 总是恰好有一个解。下面这些变换( x x x 为实数)哪些是可逆的?若可逆,则 T − 1 T^{-1} T−1 是什么?它们不是线性的,甚至 T 3 T_3 T3 也不是。 当求解 T ( x ) = b T(\boldsymbol x)=\boldsymbol b T(x)=b 时,就是在求 T T T 的逆: T 1 ( x ) = x 2 T 2 ( x ) = x 3 T 3 ( x ) = x + 9 T 4 ( x ) = e x T 5 ( x ) = 1 x ( x ≠ 0 ) \color{blue}T_1(x)=x^2\kern 10ptT_2(x)=x^3\kern 10ptT_3(x)=x+9\kern 10ptT_4(x)=e^x\kern 10ptT_5(x)=\frac{1}{x}(x\neq0) T1(x)=x2T2(x)=x3T3(x)=x+9T4(x)=exT5(x)=x1(x=0)解: T 1 T_1 T1 不可逆: x 2 = 1 x^2=1 x2=1 有两个解并且 x 2 = − 1 x^2=-1 x2=−1 无解。
T 4 T_4 T4 不可逆因为 e x = − 1 e^x=-1 ex=−1 无解。(如果输出空间改为正数 b b b,则 e x = b e^x=b ex=b 的逆就是 x = ln b x=\ln b x=lnb.)
注意 T 5 2 ( x ) = 1 T^2_5(x)=1 T52(x)=1(取两次倒数)是恒等变换,但是 T 3 2 ( x ) = x + 18 T_3^2(x)=x+18 T32(x)=x+18, T 2 2 ( x ) = x 9 T_2^2(x)=x^9 T22(x)=x9, T 4 2 ( x ) = e e x T_4^2(x)=e^{e^x} T42(x)=eex.
T 2 , T 3 , T 5 T_2,T_3,T_5 T2,T3,T5 可逆: x 3 = b , x + 9 = b x^3=b,x+9=b x3=b,x+9=b 和 1 x = b \displaystyle\frac{1}{x}=b x1=b 都只有一个解: x = T 2 − 1 ( b ) = b 1 / 3 x = T 3 − 1 ( b ) = b − 9 x = T 5 − 1 ( b ) = 1 b \color{blue}x=T_2^{-1}(b)=b^{1/3}\kern 10ptx=T_3^{-1}(b)=b-9\kern 10ptx=T_5^{-1}(b)=\frac{1}{b} x=T2−1(b)=b1/3x=T3−1(b)=b−9x=T5−1(b)=b1