线性代数及矩阵论(九)

文章目录

二十九、相似矩阵和若尔当形

在本讲的开始,先接着上一讲来继续说一说正定矩阵。

  • 正定矩阵的逆矩阵有什么性质?我们将正定矩阵分解为 A = S Λ S − 1 A=S\Lambda S^{-1} A=SΛS−1,引入其逆矩阵 A − 1 = S Λ − 1 S − 1 A^{-1}=S\Lambda^{-1}S^{-1} A−1=SΛ−1S−1,我们知道正定矩阵的特征值均为正值,所以其逆矩阵的特征值也必为正值(即原矩阵特征值的倒数)所以,正定矩阵的逆矩阵也是正定的

  • 如果 A ,   B A,\ B A, B均为正定矩阵,那么 A + B A+B A+B呢?我们可以从判定 x T ( A + B ) x x^T(A+B)x xT(A+B)x入手,根据条件有 x T A x > 0 ,   x T B x > 0 x^TAx>0,\ x^TBx>0 xTAx>0, xTBx>0,将两式相加即得到 x T ( A + B ) x > 0 x^T(A+B)x>0 xT(A+B)x>0。所以正定矩阵之和也是正定矩阵

  • 再来看有 m × n m\times n m×n矩阵 A A A,则 A T A A^TA ATA具有什么性质?我们在投影部分经常使用 A T A A^TA ATA,这个运算会得到一个对称矩阵,这个形式的运算用数字打比方就像是一个平方,用向量打比方就像是向量的长度平方,而对于矩阵,有 A T A A^TA ATA正定:在式子两边分别乘向量及其转置得到 x T A T A x x^TA^TAx xTATAx,分组得到 ( A x ) T ( A x ) (Ax)^T(Ax) (Ax)T(Ax),相当于得到了向量 A x Ax Ax的长度平方,则 ∣ A x ∣ 2 ≥ 0 |Ax|^2\geq0 ∣Ax∣2≥0。要保证模不为零,则需要 A x Ax Ax的零空间中仅有零向量,即 A A A的各列线性无关( r a n k ( A ) = n rank(A)=n rank(A)=n)即可保证 ∣ A x ∣ 2 > 0 |Ax|^2>0 ∣Ax∣2>0, A T A A^TA ATA正定

  • 另外,在矩阵数值计算中,正定矩阵消元不需要进行“行交换”操作,也不必担心主元过小或为零,正定矩阵具有良好的计算性质。

接下来进入本讲的正题。

1.相似矩阵

一组相似矩阵表示的是同样的线性变换,就像是对一个人从不同的角度(即基不同)拍照,照片是不一样的,但实际上都是在拍用一个人

先列出定义:矩阵 A ,   B A,\ B A, B对于某矩阵 M M M满足 B = M − 1 A M B=M^{-1}AM B=M−1AM时,成 A ,   B A,\ B A, B互为相似矩阵。

对于在对角化一讲(第二十二讲)中学过的式子 S − 1 A S = Λ S^{-1}AS=\Lambda S−1AS=Λ,则有 A A A相似于 Λ \Lambda Λ。

  • 举个例子, A = [ 2 1 1 2 ] A=\begin{bmatrix}2&1\\1&2\end{bmatrix} A=[21​12​],容易通过其特征值得到相应的对角矩阵 Λ = [ 3 0 0 1 ] \Lambda=\begin{bmatrix}3&0\\0&1\end{bmatrix} Λ=[30​01​],取 M = [ 1 4 0 1 ] M=\begin{bmatrix}1&4\\0&1\end{bmatrix} M=[10​41​],则 B = M − 1 A M = [ 1 − 4 0 1 ] [ 2 1 1 2 ] [ 1 4 0 1 ] = [ − 2 − 15 1 6 ] B=M^{-1}AM=\begin{bmatrix}1&-4\\0&1\end{bmatrix}\begin{bmatrix}2&1\\1&2\end{bmatrix}\begin{bmatrix}1&4\\0&1\end{bmatrix}=\begin{bmatrix}-2&-15\\1&6\end{bmatrix} B=M−1AM=[10​−41​][21​12​][10​41​]=[−21​−156​]。

    我们来计算这几个矩阵的的特征值(利用迹与行列式的性质), λ Λ = 3 ,   1 \lambda_{\Lambda}=3,\ 1 λΛ​=3, 1、 λ A = 3 ,   1 \lambda_A=3,\ 1 λA​=3, 1、 λ B = 3 ,   1 \lambda_B=3,\ 1 λB​=3, 1。

所以,相似矩阵有相同的特征值

  • 继续上面的例子,特征值为 3 ,   1 3,\ 1 3, 1的这一族矩阵都是相似矩阵,如 [ 3 7 0 1 ] \begin{bmatrix}3&7\\0&1\end{bmatrix} [30​71​]、 [ 1 7 0 3 ] \begin{bmatrix}1&7\\0&3\end{bmatrix} [10​73​],其中最特殊的就是 Λ \Lambda Λ。

现在我们来证明这个性质,有 A x = λ x ,   B = M − 1 A M Ax=\lambda x,\ B=M^{-1}AM Ax=λx, B=M−1AM,第一个式子化为 A M M − 1 x = λ x AMM^{-1}x=\lambda x AMM−1x=λx,接着两边同时左乘 M − 1 M^{-1} M−1得 M − 1 A M M − 1 x = λ M − 1 x M^{-1}AMM^{-1}x=\lambda M^{-1}x M−1AMM−1x=λM−1x,进行适当的分组得 ( M − 1 A M ) M − 1 x = λ M − 1 x \left(M^{-1}AM\right)M^{-1}x=\lambda M^{-1}x (M−1AM)M−1x=λM−1x即 B M − 1 x = λ M − 1 x BM^{-1}x=\lambda M^{-1}x BM−1x=λM−1x。

B M − 1 x = λ M − 1 x BM^{-1}x=\lambda M^{-1}x BM−1x=λM−1x可以解读成矩阵 B B B与向量 M − 1 x M^{-1}x M−1x之积等于 λ \lambda λ与向量 M − 1 x M^{-1}x M−1x之积,也就是 B B B的特征值仍为 λ \lambda λ,而特征向量变为 M − 1 x M^{-1}x M−1x。

以上就是我们得到的一族特征值为 3 ,   1 3,\ 1 3, 1的矩阵,它们具有相同的特征值。接下来看特征值重复时的情形。

  • 特征值重复可能会导致特征向量短缺,来看一个例子,设 λ 1 = λ 2 = 4 \lambda_1=\lambda_2=4 λ1​=λ2​=4,写出具有这种特征值的矩阵中的两个 [ 4 0 0 4 ] \begin{bmatrix}4&0\\0&4\end{bmatrix} [40​04​], [ 4 1 0 4 ] \begin{bmatrix}4&1\\0&4\end{bmatrix} [40​14​]。其实,具有这种特征值的矩阵可以分为两族,第一族仅有一个矩阵 [ 4 0 0 4 ] \begin{bmatrix}4&0\\0&4\end{bmatrix} [40​04​],它只与自己相似(因为 M − 1 [ 4 0 0 4 ] M = 4 M − 1 E M = 4 E = [ 4 0 0 4 ] M^{-1}\begin{bmatrix}4&0\\0&4\end{bmatrix}M=4M^{-1}EM=4E=\begin{bmatrix}4&0\\0&4\end{bmatrix} M−1[40​04​]M=4M−1EM=4E=[40​04​],所以无论 M M M如何取值该对角矩阵都只与自己相似);另一族就是剩下的诸如 [ 4 1 0 4 ] \begin{bmatrix}4&1\\0&4\end{bmatrix} [40​14​]的矩阵,它们都是相似的。在这个“大家族”中, [ 4 1 0 4 ] \begin{bmatrix}4&1\\0&4\end{bmatrix} [40​14​]是“最好”的一个矩阵,称为若尔当形。

若尔当形在过去是线性代数的核心知识,但现在不是了(现在是下一讲的奇异值分解),因为它并不容易计算。

  • 继续上面的例子,我们再写出几个这一族的矩阵 [ 4 1 0 4 ] ,   [ 5 1 − 1 3 ] ,   [ 4 0 17 4 ] \begin{bmatrix}4&1\\0&4\end{bmatrix},\ \begin{bmatrix}5&1\\-1&3\end{bmatrix},\ \begin{bmatrix}4&0\\17&4\end{bmatrix} [40​14​], [5−1​13​], [417​04​],我们总是可以构造出一个满足 t r a c e ( A ) = 8 ,   ∣ A ∣ = 16 trace(A)=8,\ |A|=16 trace(A)=8, ∣A∣=16的矩阵,这个矩阵总是在这一个“家族”中。
    矩阵 A A A和 B B B相似有如下性质
  • ∣ λ E − A ∣ = ∣ λ E − B ∣ |\lambda E-A|=|\lambda E-B| ∣λE−A∣=∣λE−B∣

  • r ( A ) = r ( B ) r(A)=r(B) r(A)=r(B)

  • A A A和 B B B有相同的特征值

  • ∣ A ∣ = ∣ B ∣ = 特 征 值 之 积 |A|=|B|=特征值之积 ∣A∣=∣B∣=特征值之积

  • t r a ( A ) = t r a ( B ) = 特 征 值 之 和 tra(A)=tra(B)=特征值之和 tra(A)=tra(B)=特征值之和

  • 矩阵特征值只有可能是化零多项式的零点,但化零多项式的零点不一定是特征值

  • 化零多项式的解可以用 P − 1 A P P^{-1}AP P−1AP表达, A A A是对角阵,对角线元素是化零多项式的零点,每个零点个数不定

  • 化零多项式无重根(代数重度不确定) ⇒ \Rightarrow ⇒ 最小多项式无重根(最小多项式能整除化零多项式) ⇒ \Rightarrow ⇒ 矩阵可对角化

  • J o r d a n Jordan Jordan块可以写成 J = λ E k + N J=\lambda E_k+N J=λEk​+N,即 N N N矩阵(幂零矩阵)和数量矩阵(对角阵)

  • 对于方阵 A A A和方阵 B B B,若 ∣ A ∣ ≠ 0 |A|{\neq}0 ∣A∣​=0,那么 A B AB AB和 B A BA BA相似

2.若尔当形

再来看一个更加“糟糕”的矩阵:

  • 矩阵 [ 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 ] \begin{bmatrix}0&1&0&0\\0&0&1&0\\0&0&0&0\\0&0&0&0\end{bmatrix} ⎣⎢⎢⎡​0000​1000​0100​0000​⎦⎥⎥⎤​,其特征值为四个零。很明显矩阵的秩为 2 2 2,所以其零空间的维数为 4 − 2 = 2 4-2=2 4−2=2,即该矩阵有两个特征向量。

  • 另一个例子, [ 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 ] \begin{bmatrix}0&1&0&0\\0&0&0&0\\0&0&0&1\\0&0&0&0\end{bmatrix} ⎣⎢⎢⎡​0000​1000​0000​0010​⎦⎥⎥⎤​,从特征向量的数目看来这两个矩阵是相似的,其实不然。

    若尔当认为第一个矩阵是由一个 3 × 3 3\times 3 3×3的块与一个 1 × 1 1\times 1 1×1的块组成的 [ 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 ] \left[\begin{array}{ccc|c}0&1&0&0\\0&0&1&0\\0&0&0&0\\\hline0&0&0&0\end{array}\right] ⎣⎢⎢⎡​0000​1000​0100​0000​​⎦⎥⎥⎤​,而第二个矩阵是由两个 2 × 2 2\times 2 2×2矩阵组成的 [ 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 ] \left[\begin{array}{cc|cc}0&1&0&0\\0&0&0&0\\\hline0&0&0&1\\0&0&0&0\end{array}\right] ⎣⎢⎢⎡​0000​1000​0000​0010​​⎦⎥⎥⎤​,这些分块被称为若尔当块。

若尔当块的定义型为 J i = [ λ i 1 ⋯ λ i 1 ⋯ λ i ⋯ ⋮ ⋮ ⋮ ⋱ λ i ] J_i=\begin{bmatrix}\lambda_i&1&&\cdots&\\&\lambda_i&1&\cdots&\\&&\lambda_i&\cdots&\\\vdots&\vdots&\vdots&\ddots&\\&&&&\lambda_i\end{bmatrix} Ji​=⎣⎢⎢⎢⎢⎢⎡​λi​⋮​1λi​⋮​1λi​⋮​⋯⋯⋯⋱​λi​​⎦⎥⎥⎥⎥⎥⎤​,它的对角线上只为同一个数,仅有一个特征向量。

所以,每一个矩阵 A A A都相似于一个若尔当矩阵,型为 J = [ J 1 J 2 ⋱ J d ] J=\left[\begin{array}{c|c|c|c}J_1&&&\\\hline&J_2&&\\\hline&&\ddots&\\\hline&&&J_d\end{array}\right] J=⎣⎢⎢⎡​J1​​J2​​⋱​Jd​​​⎦⎥⎥⎤​。注意,对角线上方还有 1 1 1。若尔当块的个数即为矩阵特征值的个数。

在矩阵为“好矩阵”的情况下, n n n阶矩阵将有 n n n个不同的特征值,那么它可以对角化,所以它的若尔当矩阵就是 Λ \Lambda Λ,共 n n n个特征向量,有 n n n个若尔当块。

矩阵的行列式因子、不变因子、初等因子
一次因式

  • 特征多项式的因式数目 n n n确定 J o r d a n Jordan Jordan标准型由 n n n个子 J o r d a n Jordan Jordan矩阵构成
  • 每个代数重数 k k k确定这 n n n个子 J o r d a n Jordan Jordan矩阵的阶数
  • 每个子 J o r d a n Jordan Jordan矩阵的对角元是特征值,最小多项式确定每个子 J o r d a n Jordan Jordan矩阵中的所有 J o r d a n Jordan Jordan块必有的且最高的阶数(这里说子 J o r d a n Jordan Jordan矩阵是因为只确定了对角线元素,而不能确定 J o r d a n Jordan Jordan块的形式,因为不同的 J o r d a n Jordan Jordan块可能有同一个对角线值,因此可以理解为 同 一 个 对 角 线 元 素 = 同 一 个 子 J o r d a n 矩 阵 ≠ 同 一 个 J o r d a n 块 同一个对角线元素 = 同一个子Jordan矩阵 \ne 同一个Jordan块 同一个对角线元素=同一个子Jordan矩阵​=同一个Jordan块)

任意矩阵 A A A都一定相似于唯一的 J o r d a n Jordan Jordan标准形(忽略 J o r d a n Jordan Jordan块的次序),对于给定的矩阵 A A A可以尝试以下方法寻找它对应的 J o r d a n Jordan Jordan标准形:

  1. 写出 A A A的特征多项式,确定 J o r d a n Jordan Jordan标准形的可能形式 J 1 , J 2 , J 3 , ⋯   , J s J_1,J_2,J_3,\cdots,J_s J1​,J2​,J3​,⋯,Js​(依据上面的规则)
  2. 根据 r ( A − λ E ) = r ( J − λ E ) r(A-\lambda E)=r(J-\lambda E) r(A−λE)=r(J−λE)排除其中不可能的形式

若尔当标准型的一些求法
Jordan 链及计算Jordan 标准型的算法

第三十讲:奇异值分解

本讲我们将一个矩阵分解为 A = U Σ V T A=U\varSigma V^T A=UΣVT,分解的因子分别为正交矩阵、对角矩阵、正交矩阵,与前面几讲的分解不同的是,这两个正交矩阵通常是不同的,而且这个式子可以对任意矩阵使用,不仅限于方阵、可对角化的方阵等

  • 在正定一讲中(第二十八讲)我们知道一个正定矩阵**(正定矩阵概念不同,部分教材定义正定二次型的矩阵称为正定矩阵**)可以分解为 A = Q Λ Q T A=Q\Lambda Q^T A=QΛQT的形式,由于 A A A对称性其特征向量是正交的,且其 Λ \Lambda Λ矩阵中的元素皆为正,这就是正定矩阵的奇异值分解。在这种特殊的分解中,我们只需要一个正交矩阵 Q Q Q就可以使等式成立。

  • 在对角化一讲中(第二十二讲),我们知道可对角化的矩阵能够分解为 A = S Λ S T A=S\Lambda S^T A=SΛST的形式,其中 S S S的列向量由 A A A的特征向量组成,但 S S S并不是正交矩阵,所以这不是我们希望得到的奇异值分解。

我们现在要做的是,在 A A A的列空间中找到一组特殊的正交基 v 1 , v 2 , ⋯   , v r v_1,v_2,\cdots,v_r v1​,v2​,⋯,vr​,这组基在 A A A的作用下可以转换为 A A A的行空间中的一组正交基 u 1 , u 2 , ⋯   , u r u_1,u_2,\cdots,u_r u1​,u2​,⋯,ur​。

用矩阵语言描述为 A [ v 1   v 2   ⋯   v r ] = [ σ 1 u 1   σ 2 u 2   ⋯   σ r u r ] = [ u 1   u 2   ⋯   u r ] [ σ 1 σ 2 ⋱ σ n ] A\Bigg[v_1\ v_2\ \cdots\ v_r\Bigg]=\Bigg[\sigma_1u_1\ \sigma_2u_2\ \cdots\ \sigma_ru_r\Bigg]=\Bigg[u_1\ u_2\ \cdots\ u_r\Bigg]\begin{bmatrix}\sigma_1&&&\\&\sigma_2&&\\&&\ddots&\\&&&\sigma_n\end{bmatrix} A[v1​ v2​ ⋯ vr​]=[σ1​u1​ σ2​u2​ ⋯ σr​ur​]=[u1​ u2​ ⋯ ur​]⎣⎢⎢⎡​σ1​​σ2​​⋱​σn​​⎦⎥⎥⎤​,即 A v 1 = σ 1 u 1 ,   A v 2 = σ 2 u 2 , ⋯   , A v r = σ r u r Av_1=\sigma_1u_1,\ Av_2=\sigma_2u_2,\cdots,Av_r=\sigma_ru_r Av1​=σ1​u1​, Av2​=σ2​u2​,⋯,Avr​=σr​ur​,这些 σ \sigma σ是缩放因子,表示在转换过程中有拉伸或压缩。而 A A A的左零空间和零空间将体现在 σ \sigma σ的零值中。

另外,如果算上左零、零空间,我们同样可以对左零、零空间取标准正交基,然后写为 A [ v 1   v 2   ⋯   v r   v r + 1   ⋯   v m ] = [ u 1   u 2   ⋯   u r   u r + 1   ⋯   u n ] [ σ 1 ⋱ σ r [ 0 ] ] A\Bigg[v_1\ v_2\ \cdots\ v_r\ v_{r+1}\ \cdots\ v_m\Bigg]=\Bigg[u_1\ u_2\ \cdots\ u_r\ u_{r+1}\ \cdots \ u_n\Bigg]\left[\begin{array}{c c c|c}\sigma_1&&&\\&\ddots&&\\&&\sigma_r&\\\hline&&&\begin{bmatrix}0\end{bmatrix}\end{array}\right] A[v1​ v2​ ⋯ vr​ vr+1​ ⋯ vm​]=[u1​ u2​ ⋯ ur​ ur+1​ ⋯ un​]⎣⎢⎢⎡​σ1​​⋱​σr​​[0​]​​⎦⎥⎥⎤​,此时 U U U是 m × m m\times m m×m正交矩阵, Σ \varSigma Σ是 m × n m\times n m×n对角矩阵, V T V^T VT是 n × n n\times n n×n正交矩阵。

最终可以写为 A V = U Σ AV=U\varSigma AV=UΣ,可以看出这十分类似对角化的公式,矩阵 A A A被转化为对角矩阵 Σ \varSigma Σ,我们也注意到 U ,   V U,\ V U, V是两组不同的正交基。(在正定的情况下, U ,   V U,\ V U, V都变成了 Q Q Q。)进一步可以写作 A = U Σ V − 1 A=U\varSigma V^{-1} A=UΣV−1,因为 V V V是标准正交矩阵所以可以写为 A = U Σ V T A=U\varSigma V^T A=UΣVT

计算一个例子, A = [ 4 4 − 3 3 ] A=\begin{bmatrix}4&4\\-3&3\end{bmatrix} A=[4−3​43​],我们需要找到:

  • 行空间 R 2 \mathbb{R}^2 R2的标准正交基 v 1 , v 2 v_1,v_2 v1​,v2​;
  • 列空间 R 2 \mathbb{R}^2 R2的标准正交基 u 1 , u 2 u_1,u_2 u1​,u2​;
  • σ 1 > 0 , σ 2 > 0 \sigma_1>0, \sigma_2>0 σ1​>0,σ2​>0。

在 A = U Σ V T A=U\varSigma V^T A=UΣVT中有两个标准正交矩阵需要求解,我们希望一次只解一个,如何先将 U U U消去来求 V V V?

这个技巧会经常出现在长方形矩阵中:求 A T A A^TA ATA,这是一个对称正定矩阵(至少是半正定矩阵),于是有 A T A = V Σ T U T U Σ V T A^TA=V\varSigma^TU^TU\varSigma V^T ATA=VΣTUTUΣVT,由于 U U U是标准正交矩阵,所以 U T U = E U^TU=E UTU=E,而 Σ T Σ \varSigma^T\varSigma ΣTΣ是对角线元素为 σ 2 \sigma^2 σ2的对角矩阵。

现在有 A T A = V [ σ 1 σ 2 ⋱ σ n ] V T A^TA=V\begin{bmatrix}\sigma_1&&&\\&\sigma_2&&\\&&\ddots&\\&&&\sigma_n\end{bmatrix}V^T ATA=V⎣⎢⎢⎡​σ1​​σ2​​⋱​σn​​⎦⎥⎥⎤​VT,这个式子中 V V V即是 A T A A^TA ATA的特征向量矩阵而 Σ 2 \varSigma^2 Σ2是其特征值矩阵。

同理,我们只想求 U U U时,用 A A T AA^T AAT消掉 V V V即可。

我们来计算 A T A = [ 4 − 3 4 3 ] [ 4 4 − 3 3 ] = [ 25 7 7 25 ] A^TA=\begin{bmatrix}4&-3\\4&3\end{bmatrix}\begin{bmatrix}4&4\\-3&3\end{bmatrix}=\begin{bmatrix}25&7\\7&25\end{bmatrix} ATA=[44​−33​][4−3​43​]=[257​725​],对于简单的矩阵可以直接观察得到特征向量 A T A [ 1 1 ] = 32 [ 1 1 ] ,   A T A [ 1 − 1 ] = 18 [ 1 − 1 ] A^TA\begin{bmatrix}1\\1\end{bmatrix}=32\begin{bmatrix}1\\1\end{bmatrix},\ A^TA\begin{bmatrix}1\\-1\end{bmatrix}=18\begin{bmatrix}1\\-1\end{bmatrix} ATA[11​]=32[11​], ATA[1−1​]=18[1−1​],化为单位向量有 σ 1 = 32 ,   v 1 = [ 1 2 1 2 ] ,   σ 2 = 18 ,   v 2 = [ 1 2 − 1 2 ] \sigma_1=32,\ v_1=\begin{bmatrix}\frac{1}{\sqrt{2}}\\\frac{1}{\sqrt{2}}\end{bmatrix},\ \sigma_2=18,\ v_2=\begin{bmatrix}\frac{1}{\sqrt{2}}\\-\frac{1}{\sqrt{2}}\end{bmatrix} σ1​=32, v1​=[2 ​1​2 ​1​​], σ2​=18, v2​=[2 ​1​−2 ​1​​]。

到目前为止,我们得到 [ 4 4 − 3 3 ] = [ u ? u ? u ? u ? ] [ 32 0 0 18 ] [ 1 2 1 2 1 2 − 1 2 ] \begin{bmatrix}4&4\\-3&3\end{bmatrix}=\begin{bmatrix}u_?&u_?\\u_?&u_?\end{bmatrix}\begin{bmatrix}\sqrt{32}&0\\0&\sqrt{18}\end{bmatrix}\begin{bmatrix}\frac{1}{\sqrt{2}}&\frac{1}{\sqrt{2}}\\\frac{1}{\sqrt{2}}&-\frac{1}{\sqrt{2}}\end{bmatrix} [4−3​43​]=[u?​u?​​u?​u?​​][32 ​0​018 ​​][2 ​1​2 ​1​​2 ​1​−2 ​1​​],接下来继续求解 U U U。

A A T = U Σ V T V Σ T U T = U Σ 2 U T AA^T=U\varSigma V^TV\varSigma^TU^T=U\varSigma^2U^T AAT=UΣVTVΣTUT=UΣ2UT,求出 A A T AA^T AAT的特征向量即可得到 U U U, [ 4 4 − 3 3 ] [ 4 − 3 4 3 ] = [ 32 0 0 18 ] \begin{bmatrix}4&4\\-3&3\end{bmatrix}\begin{bmatrix}4&-3\\4&3\end{bmatrix}=\begin{bmatrix}32&0\\0&18\end{bmatrix} [4−3​43​][44​−33​]=[320​018​],观察得 A A T [ 1 0 ] = 32 [ 1 0 ] ,   A A T [ 0 1 ] = 18 [ 0 1 ] AA^T\begin{bmatrix}1\\0\end{bmatrix}=32\begin{bmatrix}1\\0\end{bmatrix},\ AA^T\begin{bmatrix}0\\1\end{bmatrix}=18\begin{bmatrix}0\\1\end{bmatrix} AAT[10​]=32[10​], AAT[01​]=18[01​]。但是我们不能直接使用这一组特征向量,因为式子 A V = U Σ AV=U\varSigma AV=UΣ明确告诉我们,一旦 V V V确定下来, U U U也必须取能够满足该式的向量,所以此处 A v 2 = [ 0 − 18 ] = u 2 σ 2 = [ 0 − 1 ] 18 Av_2=\begin{bmatrix}0\\-\sqrt{18}\end{bmatrix}=u_2\sigma_2=\begin{bmatrix}0\\-1\end{bmatrix}\sqrt{18} Av2​=[0−18 ​​]=u2​σ2​=[0−1​]18 ​,则 u 1 = [ 1 0 ] ,   u 2 = [ 0 − 1 ] u_1=\begin{bmatrix}1\\0\end{bmatrix},\ u_2=\begin{bmatrix}0\\-1\end{bmatrix} u1​=[10​], u2​=[0−1​]。(这个问题在本讲的官方笔记中有详细说明。)

最终,我们得到 [ 4 4 − 3 3 ] = [ 1 0 0 − 1 ] [ 32 0 0 18 ] [ 1 2 1 2 1 2 − 1 2 ] \begin{bmatrix}4&4\\-3&3\end{bmatrix}=\begin{bmatrix}1&0\\0&-1\end{bmatrix}\begin{bmatrix}\sqrt{32}&0\\0&\sqrt{18}\end{bmatrix}\begin{bmatrix}\frac{1}{\sqrt{2}}&\frac{1}{\sqrt{2}}\\\frac{1}{\sqrt{2}}&-\frac{1}{\sqrt{2}}\end{bmatrix} [4−3​43​]=[10​0−1​][32 ​0​018 ​​][2 ​1​2 ​1​​2 ​1​−2 ​1​​]。

再做一个例子, A = [ 4 3 8 6 ] A=\begin{bmatrix}4&3\\8&6\end{bmatrix} A=[48​36​],这是个秩一矩阵,有零空间。 A A A的行空间为 [ 4 3 ] \begin{bmatrix}4\\3\end{bmatrix} [43​]的倍数, A A A的列空间为 [ 4 8 ] \begin{bmatrix}4\\8\end{bmatrix} [48​]的倍数。

  • 标准化向量得 v 1 = [ 0.8 0.6 ] ,   u 1 = 1 5 [ 1 2 ] v_1=\begin{bmatrix}0.8\\0.6\end{bmatrix},\ u_1=\frac{1}{\sqrt{5}}\begin{bmatrix}1\\2\end{bmatrix} v1​=[0.80.6​], u1​=5 ​1​[12​]。
  • A T A = [ 4 8 3 6 ] [ 4 3 8 6 ] = [ 80 60 60 45 ] A^TA=\begin{bmatrix}4&8\\3&6\end{bmatrix}\begin{bmatrix}4&3\\8&6\end{bmatrix}=\begin{bmatrix}80&60\\60&45\end{bmatrix} ATA=[43​86​][48​36​]=[8060​6045​],由于 A A A是秩一矩阵,则 A T A A^TA ATA也不满秩,所以必有特征值 0 0 0,则另特征值一个由迹可知为 125 125 125
  • 继续求零空间的特征向量,有 v 2 = [ 0.6 − 0 , 8 ] ,   u 1 = 1 5 [ 2 − 1 ] v_2=\begin{bmatrix}0.6\\-0,8\end{bmatrix},\ u_1=\frac{1}{\sqrt{5}}\begin{bmatrix}2\\-1\end{bmatrix} v2​=[0.6−0,8​], u1​=5 ​1​[2−1​]

最终得到 [ 4 3 8 6 ] = [ 1 2 ‾ 2 − 1 ‾ ] [ 125 0 0 0 ‾ ] [ 0.8 0.6 0.6 ‾ − 0.8 ‾ ] \begin{bmatrix}4&3\\8&6\end{bmatrix}=\begin{bmatrix}1&\underline {2}\\2&\underline{-1}\end{bmatrix}\begin{bmatrix}\sqrt{125}&0\\0&\underline{0}\end{bmatrix}\begin{bmatrix}0.8&0.6\\\underline{0.6}&\underline{-0.8}\end{bmatrix} [48​36​]=[12​2​−1​​][125 ​0​00​​][0.80.6​​0.6−0.8​​],其中下划线部分都是与零空间相关的部分。

  • v 1 ,   ⋯   ,   v r v_1,\ \cdots,\ v_r v1​, ⋯, vr​是行空间的标准正交基;
  • u 1 ,   ⋯   ,   u r u_1,\ \cdots,\ u_r u1​, ⋯, ur​是列空间的标准正交基;
  • v r + 1 ,   ⋯   ,   v n v_{r+1},\ \cdots,\ v_n vr+1​, ⋯, vn​是零空间的标准正交基;
  • u r + 1 ,   ⋯   ,   u m u_{r+1},\ \cdots,\ u_m ur+1​, ⋯, um​是左零空间的标准正交基。

通过将矩阵写为 A v i = σ i u i Av_i=\sigma_iu_i Avi​=σi​ui​形式,将矩阵对角化,向量 u ,   v u,\ v u, v之间没有耦合, A A A乘以每个 v v v都能得到一个相应的 u u u。

奇异值分解的意义

第三十一讲:线性变换及对应矩阵

如何判断一个操作是不是线性变换?线性变换需满足以下两个要求:

T ( v + w ) = T ( v ) + T ( w ) T ( c v ) = c T ( v ) T(v+w)=T(v)+T(w)\\ T(cv)=cT(v) T(v+w)=T(v)+T(w)T(cv)=cT(v)

即变换 T T T需要同时满足加法和数乘不变的性质。将两个性质合成一个式子为: T ( c v + d w ) = c T ( v ) + d T ( w ) T(cv+dw)=cT(v)+dT(w) T(cv+dw)=cT(v)+dT(w)

例1,二维空间中的投影操作, T : R 2 → R 2 T: \mathbb{R}^2\to\mathbb{R}^2 T:R2→R2,它可以将某向量投影在一条特定直线上。检查一下投影操作,如果我们将向量长度翻倍,则其投影也翻倍;两向量相加后做投影与两向量做投影再相加结果一致。所以投影操作是线性变换。

“坏”例1,二维空间的平移操作,即平面平移:

%matplotlib inline
import matplotlib.pyplot as plt
import seaborn as sns
import numpy as np


fig = plt.figure()

sp1 = plt.subplot(221)
vectors_1 = np.array([[0,0,3,2],]) 
X_1, Y_1, U_1, V_1 = zip(*vectors_1)
plt.axhline(y=0, c='black')
plt.axvline(x=0, c='black')
sp1.quiver(X_1, Y_1, U_1, V_1, angles='xy', scale_units='xy', scale=1)
sp1.set_xlim(0, 10)
sp1.set_ylim(0, 5)
sp1.set_xlabel("before shifted")

sp2 = plt.subplot(222)
vector_2 = np.array([[0,0,3,2],
                     [3,2,2,0],
                     [0,0,5,2],
                     [0,0,10,4]]) 
X_2,Y_2,U_2,V_2 = zip(*vector_2)
plt.axhline(y=0, c='black')
plt.axvline(x=0, c='black')
sp2.quiver(X_2, Y_2, U_2, V_2, angles='xy', scale_units='xy', scale=1)
sp2.set_xlim(0, 10)
sp2.set_ylim(0, 5)
sp2.set_xlabel("shifted by horizontal 2 then double")

sp3 = plt.subplot(223)
vectors_1 = np.array([[0,0,6,4],]) 
X_1, Y_1, U_1, V_1 = zip(*vectors_1)
plt.axhline(y=0, c='black')
plt.axvline(x=0, c='black')
sp3.quiver(X_1, Y_1, U_1, V_1, angles='xy', scale_units='xy', scale=1)
sp3.set_xlim(0, 10)
sp3.set_ylim(0, 5)
sp3.set_xlabel("double the vector")

sp4 = plt.subplot(224)
vector_2 = np.array([[0,0,6,4],
                     [6,4,2,0],
                     [0,0,8,4]]) 
X_2,Y_2,U_2,V_2 = zip(*vector_2)
plt.axhline(y=0, c='black')
plt.axvline(x=0, c='black')
sp4.quiver(X_2, Y_2, U_2, V_2, angles='xy', scale_units='xy', scale=1)
sp4.set_xlim(0, 10)
sp4.set_ylim(0, 5)
sp4.set_xlabel("doubled vector shifted by horizontal 2")

plt.subplots_adjust(hspace=0.33)
plt.draw()

线性代数及矩阵论(九)

plt.close(fig)

比如,上图中向量长度翻倍,再做平移,明显与向量平移后再翻倍的结果不一致。

有时我们也可以用一个简单的特例判断线性变换,检查 T ( 0 ) = ? 0 T(0)\stackrel{?}{=}0 T(0)=?0。零向量平移后结果并不为零。

所以平面平移操作并不是线性变换。

“坏”例2,求模运算, T ( v ) = ∥ v ∥ ,   T : R 3 → R 1 T(v)=\|v\|,\ T:\mathbb{R}^3\to\mathbb{R}^1 T(v)=∥v∥, T:R3→R1,这显然不是线性变换,比如如果我们将向量翻倍则其模翻倍,但如果我将向量翻倍取负,则其模依然翻倍。所以 T ( − v ) ≠ − T ( v ) T(-v)\neq -T(v) T(−v)​=−T(v)

例2,旋转 4 5 ∘ 45^\circ 45∘操作, T : R 2 → R 2 T:\mathbb{R}^2\to\mathbb{R}^2 T:R2→R2,也就是将平面内一个向量映射为平面内另一个向量。检查可知,如果向量翻倍,则旋转后同样翻倍;两个向量先旋转后相加,与这两个向量先相加后旋转得到的结果一样。

所以从上面的例子我们知道,投影与旋转都是线性变换

例3,矩阵乘以向量, T ( v ) = A v T(v)=Av T(v)=Av,这也是一个(一系列)线性变换,不同的矩阵代表不同的线性变换。根据矩阵的运算法则有 A ( v + w ) = A ( v ) + A ( w ) ,   A ( c v ) = c A v A(v+w)=A(v)+A(w),\ A(cv)=cAv A(v+w)=A(v)+A(w), A(cv)=cAv。比如取 A = [ 1 0 0 − 1 ] A=\begin{bmatrix}1&0\\0&-1\end{bmatrix} A=[10​0−1​],作用于平面上的向量 v v v,会导致 v v v的 x x x分量不变,而 y y y分量取反,也就是图像沿 x x x轴翻转。

线性变换的核心,就是该变换使用的相应的矩阵。

比如我们需要做一个线性变换,将一个三维向量降至二维, T : R 3 → R 2 T:\mathbb{R}^3\to\mathbb{R}^2 T:R3→R2,则在 T ( v ) = A v T(v)=Av T(v)=Av中, v ∈ R 3 ,   T ( v ) ∈ R 2 v\in\mathbb{R}^3,\ T(v)\in\mathbb{R}^2 v∈R3, T(v)∈R2,所以 A A A应当是一个 2 × 3 2\times 3 2×3矩阵。

如果我们希望知道线性变换 T T T对整个输入空间 R n \mathbb{R}^n Rn的影响,我们可以找到空间的一组基 v 1 ,   v 2 ,   ⋯   ,   v n v_1,\ v_2,\ \cdots,\ v_n v1​, v2​, ⋯, vn​,检查 T T T对每一个基的影响 T ( v 1 ) ,   T ( v 2 ) ,   ⋯   ,   T ( v n ) T(v_1),\ T(v_2),\ \cdots,\ T(v_n) T(v1​), T(v2​), ⋯, T(vn​),由于输入空间中的任意向量都满足:

v = c 1 v 1 + c 2 v 2 + ⋯ + c n v n (1) v=c_1v_1+c_2v_2+\cdots+c_nv_n\tag{1} v=c1​v1​+c2​v2​+⋯+cn​vn​(1)

所以我们可以根据 T ( v ) T(v) T(v)推出线性变换 T T T对空间内任意向量的影响,得到:

T ( v ) = c 1 T ( v 1 ) + c 2 T ( v 2 ) + ⋯ + c n T ( v n ) (2) T(v)=c_1T(v_1)+c_2T(v_2)+\cdots+c_nT(v_n)\tag{2} T(v)=c1​T(v1​)+c2​T(v2​)+⋯+cn​T(vn​)(2)

现在我们需要考虑,如何把一个与坐标无关的线性变换变成一个与坐标有关的矩阵呢?

在 1 1 1式中, c 1 , c 2 , ⋯   , c n c_1,c_2,\cdots,c_n c1​,c2​,⋯,cn​就是向量 v v v在基 v 1 , v 2 , ⋯   , v n v_1,v_2,\cdots,v_n v1​,v2​,⋯,vn​上的坐标,比如分解向量 v = [ 3 2 4 ] = 3 [ 1 0 0 ] + 2 [ 0 1 0 ] + 4 [ 0 0 1 ] v=\begin{bmatrix}3\\2\\4\end{bmatrix}=3\begin{bmatrix}1\\0\\0\end{bmatrix}+2\begin{bmatrix}0\\1\\0\end{bmatrix}+4\begin{bmatrix}0\\0\\1\end{bmatrix} v=⎣⎡​324​⎦⎤​=3⎣⎡​100​⎦⎤​+2⎣⎡​010​⎦⎤​+4⎣⎡​001​⎦⎤​,式子将向量 v v v分解在一组标准正交基 [ 1 0 0 ] , [ 0 1 0 ] , [ 0 0 1 ] \begin{bmatrix}1\\0\\0\end{bmatrix},\begin{bmatrix}0\\1\\0\end{bmatrix},\begin{bmatrix}0\\0\\1\end{bmatrix} ⎣⎡​100​⎦⎤​,⎣⎡​010​⎦⎤​,⎣⎡​001​⎦⎤​上。当然,我们也可以选用矩阵的特征向量作为基向量,基的选择是多种多样的。

我们打算构造一个矩阵 A A A用以表示线性变换 T : R n → R m T:\mathbb{R}^n\to\mathbb{R}^m T:Rn→Rm。我们需要两组基,一组用以表示输入向量,一组用以表示输出向量。令 v 1 , v 2 , ⋯   , v n v_1,v_2,\cdots,v_n v1​,v2​,⋯,vn​为输入向量的基,这些向量来自 R n \mathbb{R}^n Rn; w 1 , w 2 , ⋯   , w m w_1,w_2,\cdots,w_m w1​,w2​,⋯,wm​作为输出向量的基,这些向量来自 R m \mathbb{R}^m Rm。

我们用二维空间的投影矩阵作为例子:

fig = plt.figure()

vectors_1 = np.array([[0, 0, 3, 2],
                      [0, 0, -2, 3]]) 
X_1, Y_1, U_1, V_1 = zip(*vectors_1)
plt.axis('equal')
plt.axhline(y=0, c='black')
plt.axvline(x=0, c='black')
plt.quiver(X_1, Y_1, U_1, V_1, angles='xy', scale_units='xy', scale=1)
plt.plot([-6, 12], [-4, 8])
plt.annotate('$v_1=w_1$', xy=(1.5, 1), xytext=(10, -20), textcoords='offset points', size=14, arrowprops=dict(arrowstyle="->"))
plt.annotate('$v_2=w_2$', xy=(-1, 1.5), xytext=(-60, -20), textcoords='offset points', size=14, arrowprops=dict(arrowstyle="->"))
plt.annotate('project line', xy=(4.5, 3), xytext=(-90, 10), textcoords='offset points', size=14, arrowprops=dict(arrowstyle="->"))

ax = plt.gca()
ax.set_xlim(-5, 5)
ax.set_ylim(-4, 4)
ax.set_xlabel("Project Example")

plt.draw()

线性代数及矩阵论(九)

plt.close(fig)

从图中可以看到,设输入向量的基为 v 1 , v 2 v_1,v_2 v1​,v2​, v 1 v_1 v1​就在投影上,而 v 2 v_2 v2​垂直于投影方向,输出向量的基为 w 1 , w 2 w_1,w_2 w1​,w2​,而 v 1 = w 1 , v 2 = w 2 v_1=w_1,v_2=w_2 v1​=w1​,v2​=w2​。那么如果输入向量为 v = c 1 v 1 + c 2 v 2 v=c_1v_1+c_2v_2 v=c1​v1​+c2​v2​,则输出向量为 T ( v ) = c 1 v 1 T(v)=c_1v_1 T(v)=c1​v1​,也就是线性变换去掉了法线方向的分量,输入坐标为 ( c 1 , c 2 ) (c_1,c_2) (c1​,c2​),输出坐标变为 ( c 1 , 0 ) (c_1,0) (c1​,0)。

找出这个矩阵并不困难, A v = w Av=w Av=w,则有 [ 1 0 0 0 ] [ c 1 c 2 ] = [ c 1 0 ] \begin{bmatrix}1&0\\0&0\end{bmatrix}\begin{bmatrix}c_1\\c_2\end{bmatrix}=\begin{bmatrix}c_1\\0\end{bmatrix} [10​00​][c1​c2​​]=[c1​0​]。

本例中我们选取的基极为特殊,一个沿投影方向,另一个沿投影法线方向,其实这两个向量都是投影矩阵的特征向量,所以我们得到的线性变换矩阵是一个对角矩阵,这是一组很好的基。

所以,如果我们选取投影矩阵的特征向量作为基,则得到的线性变换矩阵将是一个包含投影矩阵特征值的对角矩阵。

继续这个例子,我们不再选取特征向量作为基,而使用标准基 v 1 = [ 1 0 ] , v 2 = [ 0 1 ] v_1=\begin{bmatrix}1\\0\end{bmatrix},v_2=\begin{bmatrix}0\\1\end{bmatrix} v1​=[10​],v2​=[01​],我们继续使用相同的基作为输出空间的基,即 v 1 = w 1 , v 2 = w 2 v_1=w_1,v_2=w_2 v1​=w1​,v2​=w2​。此时投影矩阵为 P = a a T a T a = [ 1 2 1 2 1 2 1 2 ] P=\frac{aa^T}{a^Ta}=\begin{bmatrix}\frac{1}{2}&\frac{1}{2}\\\frac{1}{2}&\frac{1}{2}\end{bmatrix} P=aTaaaT​=[21​21​​21​21​​],这个矩阵明显没有上一个矩阵“好”,不过这个矩阵也是一个不错的对称矩阵。

总结通用的计算线性变换矩阵 A A A的方法

  • 确定输入空间的基 v 1 , v 2 , ⋯   , v n v_1,v_2,\cdots,v_n v1​,v2​,⋯,vn​,确定输出空间的基 w 1 , w 2 , ⋯   , w m w_1,w_2,\cdots,w_m w1​,w2​,⋯,wm​;
  • 计算 T ( v 1 ) = a 11 w 1 + a 21 w 2 + ⋯ + a m 1 w m T(v_1)=a_{11}w_1+a_{21}w_2+\cdots+a_{m1}w_m T(v1​)=a11​w1​+a21​w2​+⋯+am1​wm​,求出的系数 a i 1 a_{i1} ai1​就是矩阵 A A A的第一列;
  • 继续计算 T ( v 2 ) = a 12 w 1 + a 22 w 2 + ⋯ + a m 2 w m T(v_2)=a_{12}w_1+a_{22}w_2+\cdots+a_{m2}w_m T(v2​)=a12​w1​+a22​w2​+⋯+am2​wm​,求出的系数 a i 2 a_{i2} ai2​就是矩阵 A A A的第二列;
  • 以此类推计算剩余向量直到 v n v_n vn​;
  • 最终得到矩阵 A = [ a 11 a 12 ⋯ a 1 n a 21 a 22 ⋯ a 2 n ⋮ ⋮ ⋱ ⋮ a m 1 a m 2 ⋯ a m n ] A=\left[\begin{array}{c|c|c|c}a_{11}&a_{12}&\cdots&a_{1n}\\a_{21}&a_{22}&\cdots&a_{2n}\\\vdots&\vdots&\ddots&\vdots\\a_{m1}&a_{m2}&\cdots&a_{mn}\\\end{array}\right] A=⎣⎢⎢⎢⎡​a11​a21​⋮am1​​a12​a22​⋮am2​​⋯⋯⋱⋯​a1n​a2n​⋮amn​​⎦⎥⎥⎥⎤​。

最后我们介绍一种不一样的线性变换, T = d d x T=\frac{\mathrm{d}}{\mathrm{d}x} T=dxd​:

  • 设输入为 c 1 + c 2 x + c 3 x 3 c_1+c_2x+c_3x^3 c1​+c2​x+c3​x3,基为 1 , x , x 2 1,x,x^2 1,x,x2;

  • 则输出为导数: c 2 + 2 c 3 x c_2+2c_3x c2​+2c3​x,基为 1 , x 1,x 1,x;

    所以我们需要求一个从三维输入空间到二维输出空间的线性变换,目的是求导。求导运算其实是线性变换,因此我们只要知道少量函数的求导法则(如 sin ⁡ x , cos ⁡ x , e x \sin x, \cos x, e^x sinx,cosx,ex),就能求出它们的线性组合的导数。

    有 A [ c 1 c 2 c 3 ] = [ c 2 2 c 3 ] A\begin{bmatrix}c_1\\c_2\\c_3\end{bmatrix}=\begin{bmatrix}c_2\\2c_3\end{bmatrix} A⎣⎡​c1​c2​c3​​⎦⎤​=[c2​2c3​​],从输入输出的空间维数可知, A A A是一个 2 × 3 2\times 3 2×3矩阵, A = [ 0 1 0 0 0 2 ] A=\begin{bmatrix}0&1&0\\0&0&2\end{bmatrix} A=[00​10​02​]。

最后,矩阵的逆相当于对应线性变换的逆运算,矩阵的乘积相当于线性变换的乘积,实际上矩阵乘法也源于线性变换。
矩阵乘积的秩-从线性变换的角度理解
线性变换的值域和核
对于线性映射 f : V → U f:V\rightarrow U f:V→U,如果 V V V的基已经确定为 α 1 , α 2 , α 3 , ⋯   , α s \alpha_1,\alpha_2,\alpha_3,\cdots,\alpha_s α1​,α2​,α3​,⋯,αs​,且这些基在 U U U中的像 β 1 , β 2 , β 3 , ⋯   , β s \beta_1,\beta_2,\beta_3,\cdots,\beta_s β1​,β2​,β3​,⋯,βs​也确定,那么线性映射 f f f也已经可以确定,根据基的唯一表示性质即可说明
线性变换 f f f    ⟺    \iff ⟺ 代表此变换的矩阵 A A A,只要找到线性变换对应的矩阵,其他都很好解决

线性变换的核子空间 K ( f ) K(f) K(f)    ⟺    \iff ⟺ 矩阵 A A A的零空间

线性变换的值域空间 R ( f ) R(f) R(f)    ⟺    \iff ⟺ 矩阵 A A A的列空间,矩阵 A A A列满秩    ⟺    \iff ⟺ 矩阵 A A A的零空间只有零向量    ⟺    \iff ⟺ K ( f ) = { 0 } K(f)=\{0\} K(f)={0}    ⟺    \iff ⟺ f f f是单射
矩阵 A A A列满秩    ⟺    \iff ⟺ 矩阵 A A A的零空间只有零向量    ⟺    \iff ⟺ K ( f ) = { 0 } K(f)=\{0\} K(f)={0}    ⟺    \iff ⟺ f f f是单射 ⇒ \Rightarrow ⇒ r ( A B ) = r ( B ) , 即 f 是 秩 恒 等 映 射 r(AB)=r(B),即f是秩恒等映射 r(AB)=r(B),即f是秩恒等映射

线性变换把线性空间变换为线性空间,这两个空间的关系是,变换后的空间维度不会增加,只可能减小( r ( A B ) ≤ r ( A ) , r ( B ) r(AB)\le r(A),r(B) r(AB)≤r(A),r(B))。矩阵的秩越大,认为矩阵包含的信息量越多,例如 0 0 0秩矩阵是零矩阵,无任何信息。满秩矩阵,列向量组是基,包含信息最多,因为基可以表示空间任意向量。 行满秩矩阵,列向量组的极大无关组是基,包含信息也最多,但其包含冗余信息,因为除了基向量外,还有其它向量,这些向量就是冗余向量。从信息量角度看,线性变换可能会损失矩阵的信息,因为秩变小了,所以是有损变换。只有变换矩阵的列向量组是无关组时,才是无损变换(秩恒等映射)。再从一个角度看,矩阵 A A A是列满秩时,是无损变换,若此时矩阵 A m × n A_{m \times n} Am×n​的行数 m m m大于等于列数 n n n,矩阵 B n × m B_{n \times m} Bn×m​列向量维度是 n n n ,变换后矩阵 C = A B C=AB C=AB列向量维度是 m m m,维度提高了。所以线性变换只有升维变换才有可能保持秩不变,信息量不减小,降维变换可能会损失信息

寻找线性变换 f f f对应的矩阵 A A A:

  1. 找一组抽象基 e 1 , e 2 , e 3 , ⋯   , e s e_1,e_2,e_3,\cdots,e_s e1​,e2​,e3​,⋯,es​
  2. 搭起架子: ( f ( e 1 ) , f ( e 2 ) , f ( e 3 ) , ⋯   , f ( e s ) ) = ( e 1 , e 2 , e 3 , ⋯   , e s ) A (f(e_1),f(e_2),f(e_3),\cdots,f(e_s))=(e_1,e_2,e_3,\cdots,e_s)A (f(e1​),f(e2​),f(e3​),⋯,f(es​))=(e1​,e2​,e3​,⋯,es​)A
  3. 根据线性组合的思路观察求得矩阵 A A A
    求得 A A A列向量组的极大线性无关组后,对应到 R ( f ) = L ( f ( e 1 ) , f ( e 2 ) , f ( e 3 ) , ⋯   , f ( e s ) ) R(f)=L(f(e_1),f(e_2),f(e_3),\cdots,f(e_s)) R(f)=L(f(e1​),f(e2​),f(e3​),⋯,f(es​))中找到 V V V基向量对应的像即可表示出值域的基(例如假设求得的极大线性无关组为 A A A的 c o l 1 , c o l 2 col_1,col_2 col1​,col2​,那么值域就是 f ( e 1 ) , f ( e 2 ) f(e_1),f(e_2) f(e1​),f(e2​),这里的 e 1 , e 2 e_1,e_2 e1​,e2​都是抽象的向量,不一定指的是一组数字向量),得到 A A A的基础解系也可以表示出核子空间的基。实际上求得的 A A A的极大线性无关组或基础解系就是值域 R ( f ) R(f) R(f)和核子空间 K ( f ) K(f) K(f)的坐标表示
  • 等距变换保持内积不变,长度不变(模),距离也不变。前两者在工程矩阵理论中已经证明。下面说明距离不变:
    d ( α , β ) = 定 义 ∣ ∣ α − β ∣ ∣ = 定 义 < α − β , α − β > = 等 距 变 换 定 义 : 变 换 前 后 内 积 不 变 < f ( α − β ) , f ( α − β ) > = 定 义 ∣ ∣ f ( α − β ) ) ∣ ∣ = 线 性 变 换 的 性 质 : 可 加 性 ∣ ∣ f ( α ) − f ( β ) ) ∣ ∣ = 定 义 d ( f ( α ) , f ( β ) ) d(\alpha,\beta)\stackrel{定义}{=}||\alpha -\beta||\overset{定义}{=}\sqrt{<\alpha-\beta,\alpha-\beta>}\overset{等距变换定义:变换前后内积不变}{=}\sqrt{<f(\alpha-\beta),f(\alpha-\beta)>}\overset{定义}{=}||f(\alpha-\beta))||\overset{线性变换的性质:可加性}{=}||f(\alpha)-f(\beta))||\overset{定义}{=}d(f(\alpha),f(\beta)) d(α,β)=定义∣∣α−β∣∣=定义<α−β,α−β> ​=等距变换定义:变换前后内积不变<f(α−β),f(α−β)> ​=定义∣∣f(α−β))∣∣=线性变换的性质:可加性∣∣f(α)−f(β))∣∣=定义d(f(α),f(β))
  • 等距变换都是可逆变换,其逆变换也是等距变换,对于有限维空间上的可逆变换(例如等距变换),满射    ⟺    \iff ⟺ 单射
上一篇:【蓝桥杯-刷题】二分模板总结:普通二分、lowerbound、upperbound


下一篇:2022同济825自控原理