文章目录
- 1. 线性变换
- 2. 特殊矩阵
- 2.1 投影矩阵
- 2.2 平移矩阵
- 2.3 旋转矩阵
- 2.4 三维转二维矩阵
- 3. 基向量的线性变换
- 3.1 代数形式
- 3.2 矩阵形式
- 4. 坐标
- 5. 求导
1. 线性变换
线性代数从线性变换开始,是线性代数的另外一个起点。很多物理学家并不关系坐标的值,而是关系从A坐标系到B坐标系的变化。他们希望知道如何去描述一个变化,而现在我们研究的就是通过矩阵来描述这一个线性变化。
每个线性变换都对应于一个矩阵,我们所学的零空间,行空间,行列式,特征值都来源于矩阵,但是在矩阵的背后就是线性变换的概念。
2. 特殊矩阵
2.1 投影矩阵
假设二维空间中有一个向量a,通过线性变换T(x)得到b,这种线性变换通常称为映射。
T : a ∈ R 2 → b ∈ R 2 \begin{equation} T:a \in \R^2 \rightarrow b \in \R^2 \end{equation} T:a∈R2→b∈R2
- 假设我们有一个向量v,投影线性变换T(x),向量v经过投影线性变换后形成向量p,T(x)就像一个函数一样
p = T ( v ) \begin{equation} p=T(v) \end{equation} p=T(v)
- 线性变换的两个条件:
T ( v + w ) = T ( v ) + T ( w ) ; T ( c v ) = c T ( v ) ; T ( c v + d w ) = c T ( v ) + d T ( w ) \begin{equation} T(v+w)=T(v)+T(w);T(cv)=cT(v);T(cv+dw)=cT(v)+dT(w) \end{equation} T(v+w)=T(v)+T(w);T(cv)=cT(v);T(cv+dw)=cT(v)+dT(w) - 对于投影矩阵来说,是一个线性变换,向量k倍长,投影向量也k倍长,向量反向,投影向量也反向;
2.2 平移矩阵
- 平面平移
假设我们平面上有一个向量 v 0 , 2 v 0 v_0,2v_0 v0,2v0,需要平移 v v v,分别得到 p 1 , p 2 p_1,p_2 p1,p2,不满足比例关系,故不是线性变换。
p 1 = v + v 0 ; p 2 = 2 v + v 0 ; ⇒ p 2 ≠ 2 p 1 \begin{equation} p_1=v+v_0;p_2=2v+v_0;\Rightarrow p_2 \neq2p_1 \end{equation} p1=v+v0;p2=2v+v0;⇒p2=2p1
2.3 旋转矩阵
我们希望有任意一个向量v,逆时针旋转 45 ° 45\degree 45°后得到向量p
p = T ( v ) \begin{equation} p=T(v) \end{equation} p=T(v)
可以证明,当向量v翻倍的时候,向量p也翻倍,当向量取负号的时候,向量p也去负号。我们可以将通过旋转矩阵的线性变换将任何点集都进行旋转,比如将如下图形进行旋转。
这种线性变换就相当于任意向量左乘以矩阵A,是不是跟前面的 A x = b Ax=b Ax=b联系起来了,真神奇!!每一个不同的矩阵A相当于一种线性变换。
T ( x ) = A x ; T ( w + v ) = A ( w + v ) ; T ( c v ) = c A v = c T ( v ) \begin{equation} T(x)=Ax;T(w+v)=A(w+v);T(cv)=cAv=cT(v) \end{equation} T(x)=Ax;T(w+v)=A(w+v);T(cv)=cAv=cT(v)
2.4 三维转二维矩阵
我们希望将一个三维x,y,z坐标系上的点a经过线性变换为x,y平面上的b,可以构造矩阵A如下:
[ 1 2 ] = [ 1 0 0 0 1 0 ] [ 1 2 3 ] ⇒ p = [ 1 0 0 0 1 0 ] x \begin{equation} \begin{bmatrix}1\\\\2\end{bmatrix}=\begin{bmatrix}1&0&0\\\\0&1&0\end{bmatrix}\begin{bmatrix}1\\\\2\\\\3\end{bmatrix}\Rightarrow p=\begin{bmatrix}1&0&0\\\\0&1&0\end{bmatrix}x \end{equation} 12 = 100100 123 ⇒p= 100100 x
3. 基向量的线性变换
3.1 代数形式
- 首先我们看看对于向量 a 1 , a 2 a_1,a_2 a1,a2进行线性变换来说
p 1 = T ( a 1 ) , p 2 = T ( a 2 ) \begin{equation} p_1=T(a_1),p_2=T(a_2) \end{equation} p1=T(a1),p2=T(a2)
那我们可以看到,这一个线性变换其实也是对整个 a a a向量空间所有的变量进行变换,这样我们知道,任意向量a是可以用向量 a 的基向量表示的,假设基向量为 e 1 , e 2 e_1,e_2 e1,e2
a i = x 1 e 1 + x 2 e 2 ⇒ T ( a i ) = T ( x 1 e 1 + x 2 e 2 ) = x 1 T ( e 1 ) + x 2 T ( e 1 ) \begin{equation} a_i=x_1e_1+x_2e_2\Rightarrow T(a_i)=T(x_1e_1+x_2e_2)=x_1T(e_1)+x_2T(e_1) \end{equation} ai=x1e1+x2e2⇒T(ai)=T(x1e1+x2e2)=x1T(e1)+x2T(e1) - 由上述公式可以看出来,所谓的线性变换本质上是对基向量的变换。这样我们就可以在保留参数的情况下,通过改变基向量来得到同意的线性变换公式。找到统一的矩阵A。
- 用公式表示如下,假设v是由基向量组合二成
v = c 1 v 1 + c 2 v 2 + ⋯ + c n v n ⇒ p = T ( v ) = T ( c 1 v 1 + c 2 v 2 + ⋯ + c n v n ) \begin{equation} v=c_1v_1+c_2v_2+\cdots+c_nv_n\Rightarrow p=T(v)=T(c_1v_1+c_2v_2+\cdots+c_nv_n) \end{equation} v=c1v1+c2v2+⋯+cnvn⇒p=T(v)=T(c1v1+c2v2+⋯+cnvn)
p = 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 ) \begin{equation} p=T(c_1v_1+c_2v_2+\cdots+c_nv_n)=c_1T(v_1)+c_2T(v_2)+\cdots+c_nT(v_n) \end{equation} p=T(c1v1+c2v2+⋯+cnvn)=c1T(v1)+c2T(v2)+⋯+cnT(vn) - 小结:
p = c 1 T ( v 1 ) + c 2 T ( v 2 ) + ⋯ + c n T ( v n ) \begin{equation} p=c_1T(v_1)+c_2T(v_2)+\cdots+c_nT(v_n) \end{equation} p=c1T(v1)+c2T(v2)+⋯+cnT(vn) - 用矩阵形式代替线性变换 ⇒ T ( x ) = A x \Rightarrow T(x)=Ax ⇒T(x)=Ax
p = c 1 A v 1 + c 2 A v 2 + ⋯ + c n A v n \begin{equation} p=c_1Av_1+c_2Av_2+\cdots+c_nAv_n \end{equation} p=c1Av1+c2Av2+⋯+cnAvn
3.2 矩阵形式
- 我们在给定输入V矩阵和输出W矩阵的情况下,如何找到线性变化矩阵A?
假设输入n个分别为 v 1 , v 2 , ⋯ , v n v_1,v_2,\cdots,v_n v1,v2,⋯,vn个基向量,输出m个分别为 w 1 , w 2 , ⋯ , w m w_1,w_2,\cdots,w_m w1,w2,⋯,wm个基向量,我们希望用矩阵A来表示线性变换;我知道A的大小为m行n列,我们让 v 1 v_1 v1 线性变换得到 w 1 w_1 w1
T ( v 1 ) = A v 1 = a 1 w 1 + a 2 w 2 + ⋯ + a m w m \begin{equation} T(v_1)=Av_1=a_{1}w_1+a_{2}w_2+\cdots+a_{m}w_m \end{equation} T(v1)=Av1=a1w1+a2w2+⋯+amwm - 我们知道如果选取A的一行那么有n个,显然无法得到m个 w i w_i wi,所以只能选择A的一列,所以整理上述公式可得:
{ T ( v 1 ) = A v 1 = a 11 w 1 + a 21 w 2 + ⋯ + a m 1 w m T ( v 2 ) = A v 2 = a 12 w 1 + a 22 w 2 + ⋯ + a m 2 w m ⋮ T ( v n ) = A v n = a 1 n w 1 + a 2 n w 2 + ⋯ + a m n w m \begin{equation} \begin{cases} T(v_1)=Av_1=a_{11}w_1+a_{21}w_2+\cdots+a_{m1}w_m\\ T(v_2)=Av_2=a_{12}w_1+a_{22}w_2+\cdots+a_{m2}w_m\\ \vdots\\ T(v_n)=Av_n=a_{1n}w_1+a_{2n}w_2+\cdots+a_{mn}w_m\\ \end{cases} \end{equation} ⎩ ⎨ ⎧T(v1)=Av1=a11w1+a21w2+⋯+am1wmT(v2)=Av2=a12w1+a22w2+⋯+am2wm⋮T(vn)=Avn=a1nw1+a2nw2+⋯+amnwm - 整理上述可得:
[ w 1 w 2 ⋯ w m ] [ a 11 a 12 ⋯ a 1 n a 21 a 22 ⋯ a 2 n ⋮ ⋮ ⋯ ⋮ a m 1 a m 2 ⋯ a m n ] = [ T ( v 1 ) T ( v 2 ) ⋮ T ( v n ) ] \begin{equation} \begin{bmatrix} w_1&w_2&\cdots&w_m \end{bmatrix} \begin{bmatrix} a_{11}&a_{12}&\cdots&a_{1n}\\\\ a_{21}&a_{22}&\cdots&a_{2n}\\\\ \vdots&\vdots&\cdots&\vdots\\\\ a_{m1}&a_{m2}&\cdots&a_{mn} \end{bmatrix} =\begin{bmatrix}T(v_1)\\\\T(v_2)\\\\\vdots\\\\T(v_n) \end{bmatrix} \end{equation} [w1w2⋯wm] a11a21⋮am1a12a22⋮am2⋯⋯⋯⋯a1na2n⋮amn = T(v1)T(v2)⋮T(vn)
[ w 1 w 2 ⋯ w m ] [ a 11 a 12 ⋯ a 1 n a 21 a 22 ⋯ a 2 n ⋮ ⋮ ⋯ ⋮ a m 1 a m 2 ⋯ a m n ] = [ a 11 a 12 ⋯ a 1 n a 21 a 22 ⋯ a 2 n ⋮ ⋮ ⋯ ⋮ a m 1 a m 2 ⋯ a m n ] [ v 1 v 2 ⋮ v n ] \begin{equation} \begin{bmatrix} w_1&w_2&\cdots&w_m \end{bmatrix} \begin{bmatrix} a_{11}&a_{12}&\cdots&a_{1n}\\\\ a_{21}&a_{22}&\cdots&a_{2n}\\\\ \vdots&\vdots&\cdots&\vdots\\\\ a_{m1}&a_{m2}&\cdots&a_{mn} \end{bmatrix} = \begin{bmatrix} a_{11}&a_{12}&\cdots&a_{1n}\\\\ a_{21}&a_{22}&\cdots&a_{2n}\\\\ \vdots&\vdots&\cdots&\vdots\\\\ a_{m1}&a_{m2}&\cdots&a_{mn} \end{bmatrix}\begin{bmatrix}v_1\\\\v_2\\\\\vdots\\\\v_n\end{bmatrix} \end{equation} [w1w2⋯wm] a11a21⋮am1a12a22⋮am2⋯⋯⋯⋯a1na2n⋮amn = a11a21⋮am1a12a22⋮am2⋯⋯⋯⋯a1na2n⋮amn v1v2⋮vn
4. 坐标
我们知道坐标来源于向量基,将一个点A可以用如下表示,坐标建立在标准基上的。
A = [ 1 2 3 ] = 1 [ 1 0 0 ] + 2 [ 0 1 0 ] + 3 [ 0 0 1 ] \begin{equation} A=\begin{bmatrix} 1\\\\2\\\\3 \end{bmatrix}=1\begin{bmatrix} 1\\\\0\\\\0 \end{bmatrix}+2\begin{bmatrix} 0\\\\1\\\\0 \end{bmatrix}+3\begin{bmatrix} 0\\\\0\\\\1 \end{bmatrix} \end{equation} A= 123 =1 100 +2 010 +3 001
对于矩阵来说,我们可以选择一组特征向量来作为矩阵的标准基,通常我们用长度为1的标准正交特征向量作为基,这样就方便计算了。
5. 求导
假设我们需要用矩阵的方式求解导数:
y = c 1 + c 2 x + c 3 x 2 ; a = [ c 1 c 2 c 3 ] ; y ′ = c 2 + 2 c 3 x ; b = [ c 2 2 c 3 ] \begin{equation} y=c_1+c_2x+c_3x^2;a=\begin{bmatrix}c_1\\\\c_2\\\\c_3\end{bmatrix};y'=c_2+2c_3x;b=\begin{bmatrix}c_2\\\\2c_3\end{bmatrix} \end{equation} y=c1+c2x+c3x2;a= c1c2c3 ;y′=c2+2c3x;b= c22c3
- 也就是说我们要把初始向量a,变成 b
A [ c 1 c 2 c 3 ] = [ c 2 2 c 3 ] \begin{equation} A\begin{bmatrix}c_1\\\\c_2\\\\c_3\end{bmatrix}=\begin{bmatrix}c_2\\\\2c_3\end{bmatrix} \end{equation} A c1c2c3 = c22c3 - 可以得到矩阵A为如下:是不是很神奇,一个求导的非线性计算,居然在矩阵面前变成了线性变换,仅仅用矩阵乘法就行了。
[ 0 1 0 0 0 2 ] [ c 1 c 2 c 3 ] = [ c 2 2 c 3 ] \begin{equation} \begin{bmatrix} 0&1&0\\\\ 0&0&2 \end{bmatrix}\begin{bmatrix}c_1\\\\c_2\\\\c_3\end{bmatrix}=\begin{bmatrix}c_2\\\\2c_3\end{bmatrix} \end{equation} 001002 c1c2c3 = c22c3