从线性组合的角度理解三维运算

从线性组合的角度理解三维运算

一、矩阵的向量化

利用分块矩阵概念,矩阵 A = ( a i j ) m × n A=(a_{ij})_{m\times n} A=(aij)m×n可以按行划分为一组行向量
A = ( α 1 α 2 ⋮ α m ) A=\begin{pmatrix} \alpha_1 \\ \alpha_2 \\ \vdots \\ \alpha_m \\ \end{pmatrix} A=α1α2αm
其中
α i = ( a i 1 , a i 2 , ⋯   , a i n ) , i ∈ [ 1 , 2 , ⋯   , m ] \alpha_i=(a_{i1},a_{i2},\cdots,a_{in}),i\in[1,2,\cdots,m] αi=(ai1,ai2,,ain),i[1,2,,m]
或,按列划分为一组列向量 A = ( β 1 , β 2 , ⋯   , β n ) A=(\beta_1,\beta_2,\cdots,\beta_n) A=(β1,β2,,βn),其中

β j = ( a 1 j a 2 j ⋮ a m j ) , j ∈ [ 1 , 2 , ⋯   , n ] \beta_j=\begin{pmatrix}a_{1j}\\a_{2j}\\\vdots\\a_{mj}\end{pmatrix},j\in[1,2,\cdots,n] βj=a1ja2jamj,j[1,2,,n]

因此,矩阵 A A A可以看成是有序向量组 ( α 1 , α 2 , ⋯   , α m ) T (\alpha_1,\alpha_2,\cdots,\alpha_m)^T (α1,α2,,αm)T ( β 1 , β 2 , ⋯   , β n ) (\beta_1,\beta_2,\cdots,\beta_n) (β1,β2,,βn)

二、向量的线性组合

假设数域 F F F上的线性空间 V m V_m Vm上的一组基为 ( α 1 , α 2 , ⋯   , α m ) (\alpha_1,\alpha_2,\cdots,\alpha_m) (α1,α2,,αm),则 V V V上任一向量 α \alpha α可以表示为这组基的线性组合:
α = k 1 α 1 + k 2 α 2 + ⋯ + k m α m \alpha=k_1\alpha_1+k_2\alpha_2+\cdots+k_m\alpha_m α=k1α1+k2α2++kmαm

三、矩阵乘法的向量式

同样利用分块矩阵概念,矩阵 A = ( a i j ) m × n , B = ( b i j ) n × s A=(a_{ij})_{m\times n},B=(b_{ij})_{n\times s} A=(aij)m×n,B=(bij)n×s的乘法可以表示为:
A B = ( α 1 α 2 ⋮ α m ) B = ( α 1 B α 2 B ⋮ α m B ) = ( ∑ j = 1 n a 1 j γ j ∑ j = 1 n a 2 j γ j ⋮ ∑ j = 1 n a m j γ j ) AB=\begin{pmatrix} \alpha_1 \\ \alpha_2 \\ \vdots \\ \alpha_m \\ \end{pmatrix}B=\begin{pmatrix} \alpha_1B \\ \alpha_2B \\ \vdots \\ \alpha_mB \\ \end{pmatrix}=\begin{pmatrix} \displaystyle\sum_{j=1}^na_{1j}\gamma_j \\ \displaystyle\sum_{j=1}^na_{2j}\gamma_j \\ \vdots \\ \displaystyle\sum_{j=1}^na_{mj}\gamma_j \\ \end{pmatrix} AB=α1α2αmB=α1Bα2BαmB=j=1na1jγjj=1na2jγjj=1namjγj
其中,按行划分, B = ( γ 1 , γ 2 , ⋯   , γ n ) T B=(\gamma_1,\gamma_2,\cdots,\gamma_n)^T B=(γ1,γ2,,γn)T A B AB AB可以看成: A B AB AB的第 i i i行向量是 B B B行向量组的线性组合,系数为 A A A的第 i i i α i \alpha_i αi


A B = A ( θ 1 , θ 2 , ⋯   , θ s ) = ( A θ 1 , A θ 2 , ⋯   , A θ s ) = ( ∑ i = 1 n β 1 b i 1 ∑ i = 1 n β 2 b i 2 ⋯ ∑ i = 1 n β i b i s ) AB=A(\theta_1,\theta_2,\cdots,\theta_s)=(A\theta_1,A\theta_2,\cdots,A\theta_s)=\begin{pmatrix} \displaystyle\sum_{i=1}^n\beta_1b_{i1} & \displaystyle\sum_{i=1}^n\beta_2b_{i2} & \cdots & \displaystyle\sum_{i=1}^n\beta_ib_{is} \end{pmatrix} AB=A(θ1,θ2,,θs)=(Aθ1,Aθ2,,Aθs)=(i=1nβ1bi1i=1nβ2bi2i=1nβibis)
其中,按列划分, B = ( θ 1 , θ 2 , ⋯   , θ s ) B=(\theta_1,\theta_2,\cdots,\theta_s) B=(θ1,θ2,,θs) A B AB AB可以看成: A B AB AB的第 j j j列向量是 A A A列向量组 ( β 1 , β 2 , ⋯   , β n ) (\beta_1,\beta_2,\cdots,\beta_n) (β1,β2,,βn)的线性组合,系数为 B B B的第 j j j θ j \theta_j θj

因此,矩阵乘法可以理解为:

  • A B AB AB B B B行向量组的线性组合;
  • A B AB AB也是 A A A列向量组的线性组合。

四、线性组合在三维计算中的应用

在三维计算中,我们常看到坐标左乘矩阵,或者坐标右乘矩阵

1. 坐标左乘矩阵

矩阵乘法与向量节, A B AB AB的第 i i i行向量是 B B B行向量组的线性组合,系数为 A A A的第 i i i α i \alpha_i αi。这时, R n R^n Rn上的坐标可以表示为行向量 v = ( c 1 , c 2 , ⋯   , c n ) v=(c_1,c_2,\cdots,c_n) v=(c1,c2,,cn),矩阵看成是一组行向量 A = ( α 1 , α 2 , ⋯   , α n ) T A=(\alpha_1,\alpha_2,\cdots,\alpha_n)^T A=(α1,α2,,αn)T,坐标左乘为
v A = v ⋅ A = ( c 1 , c 2 , ⋯   , c n ) ⋅ ( α 1 , α 2 , ⋯   , α n ) = ∑ i = 1 n c i α i vA=v\cdot A = (c_1,c_2,\cdots,c_n)\cdot (\alpha_1,\alpha_2,\cdots,\alpha_n) = \sum_{i=1}^nc_i\alpha_i vA=vA=(c1,c2,,cn)(α1,α2,,αn)=i=1nciαi

2. 坐标右乘矩阵

矩阵乘法与向量节, A B AB AB的第 j j j列向量是 A A A列向量组的线性组合,系数为 B B B的第 j j j θ i \theta_i θi。这时, R n R^n Rn上的坐标可以表示为列向量 v T = ( c 1 , c 2 , ⋯   , c n ) v^T=(c_1,c_2,\cdots,c_n) vT=(c1,c2,,cn),矩阵看成是一组列向量 A = ( β 1 , β 2 , ⋯   , β n ) A=(\beta_1,\beta_2,\cdots,\beta_n ) A=(β1,β2,,βn),坐标右乘为
A v T = A ⋅ v = ( β 1 , β 2 , ⋯   , β n ) ⋅ ( c 1 , c 2 , ⋯   , c n ) = ∑ i = 1 n c i β i Av^T=A\cdot v = (\beta_1,\beta_2,\cdots,\beta_n)\cdot(c_1,c_2,\cdots,c_n) = \sum_{i=1}^nc_i\beta_i AvT=Av=(β1,β2,,βn)(c1,c2,,cn)=i=1nciβi

3. 使用线性组合的方式来表示点与矩阵乘法

这里,在空间坐标系下,只讨论方阵。

由以上坐标左乘矩阵坐标右乘矩阵讨论可以看出,我们在三维计算中使用的坐标与方阵乘法,无论左乘还是右乘,都是点坐标分量与向量组的线性组合关系,左乘和右乘只是约定了向量的书写方式(行或列)。

从而,方阵可以看成是有序向量组 A = ( α 1 , α 2 , ⋯   , α n ) A=(\alpha_1,\alpha_2,\cdots,\alpha_n) A=(α1,α2,,αn),其中 α i \alpha_i αi可以为行或列向量,我们可以定义方阵与点坐标的乘法为
v ⋅ A = A ⋅ v = ( c 1 , c 2 , ⋯   , c n ) ⋅ ( α 1 , α 2 , ⋯   , α n ) = ( α 1 , α 2 , ⋯   , α n ) ⋅ ( c 1 , c 2 , ⋯   , c n ) = ∑ i = 1 n c i α i v\cdot A = A\cdot v = (c_1,c_2,\cdots,c_n)\cdot (\alpha_1,\alpha_2,\cdots,\alpha_n)= (\alpha_1,\alpha_2,\cdots,\alpha_n)\cdot (c_1,c_2,\cdots,c_n) = \sum_{i=1}^nc_i\alpha_i vA=Av=(c1,c2,,cn)(α1,α2,,αn)=(α1,α2,,αn)(c1,c2,,cn)=i=1nciαi

这样,点与方阵不论左乘还是右乘,形式都是一样的。

其中,上述运算满足与方阵乘法的结合律:
( v ⋅ A ) B = ( ∑ i = 1 n c i α i ) B = ∑ i = 1 n c i α i B = ∑ i = 1 n c i ( A B ) i = v ⋅ ( A B ) (v\cdot A)B=(\sum_{i=1}^nc_i\alpha_i)B=\sum_{i=1}^nc_i\alpha_iB=\sum_{i=1}^nc_i(AB)_i=v\cdot (AB) (vA)B=(i=1nciαi)B=i=1nciαiB=i=1nci(AB)i=v(AB)

不过,由于方阵间乘法与矩阵的行列模式相关,一般的 A B ≠ B A AB\neq BA AB=BA,所以需要注意方阵行列模式选择的一致性。
( A ⋅ v ) B = ( ∑ i = 1 n c i β i ) B ≠ ∑ i = 1 n c i β i B (A \cdot v)B=(\sum_{i=1}^nc_i\beta_i)B\neq \sum_{i=1}^nc_i\beta_iB (Av)B=(i=1nciβi)B=i=1nciβiB
其中 ( β i ) n × 1 B n × n (\beta_i)_{n\times 1}B_{n\times n} (βi)n×1Bn×n无法相乘,列模式下应为:
B ( A ⋅ v ) = B ( ( β 1 , β 2 , ⋯   , β n ) ⋅ ( c 1 , c 2 , ⋯   , c n ) ) = B ( ∑ i = 1 n c i β i ) = ∑ i = 1 n c i ( B β i ) = ∑ i = 1 n c i ( B A ) i B(A \cdot v)=B((\beta_1,\beta_2,\cdots,\beta_n)\cdot (c_1,c_2,\cdots,c_n))=B(\sum_{i=1}^nc_i\beta_i)=\sum_{i=1}^nc_i(B\beta_i)=\sum_{i=1}^nc_i(BA)_i B(Av)=B((β1,β2,,βn)(c1,c2,,cn))=B(i=1nciβi)=i=1nci(Bβi)=i=1nci(BA)i
所以,需要注意左乘与右乘的选择,它关系到方阵的运算结果。

4. 几何解析
  1. 一组基就是一个空间坐标系,每一个基向量就是一个坐标轴向量;
  2. 点坐标就是在该坐标系下各坐标分量;

假设有两个空间坐标系(两组基) M 1 , M 2 M_1, M_2 M1,M2,点 v v v在各自坐标系下的坐标为 v 1 , v 2 v_1,v_2 v1,v2,有

行向量模式

v 1 M 1 = v 2 M 2 v_1M_1 = v_2M_2 v1M1=v2M2

v 1 = v 2 M 2 M 1 − 1 v_1 = v_2M_2M_1^{-1} v1=v2M2M11

v 1 M 1 M 2 − 1 = v 2 v_1M_1M_2^{-1} = v_2 v1M1M21=v2

其中:

  • M 2 M 1 − 1 M_2M_1^{-1} M2M11是点 v v v在空间坐标系2点坐标 v 2 v_2 v2到空间坐标系1点坐标 v 1 v_1 v1的过渡矩阵。
  • M 1 M 2 − 1 M_1M_2^{-1} M1M21是点 v v v在空间坐标系1点坐标 v 1 v_1 v1到空间坐标系2点坐标 v 2 v_2 v2的过渡矩阵。
列向量模式

M 1 v 1 = M 2 v 2 M_1 v_1 = M_2 v_2 M1v1=M2v2

v 1 = M 1 − 1 M 2 v 2 v_1 = M_1^{-1}M_2 v_2 v1=M11M2v2

M 2 − 1 M 1 v 1 = v 2 M_2^{-1}M_1 v_1 = v_2 M21M1v1=v2

其中:

  • M 1 − 1 M 2 M_1^{-1}M_2 M11M2是点 v v v在空间坐标系2点坐标 v 2 v_2 v2到空间坐标系1点坐标 v 1 v_1 v1的过渡矩阵。
  • M 2 − 1 M 1 M_2^{-1}M_1 M21M1是点 v v v在空间坐标系1点坐标 v 1 v_1 v1到空间坐标系2点坐标 v 2 v_2 v2的过渡矩阵。
行列模式之间为转置关系

( v r M r ) T = M c v c (v_rM_r)^T=M_cv_c (vrMr)T=Mcvc

其中:
v c = ( v r ) T , M c = ( M r ) T = ( α 1 , α 2 , ⋯   , α n ) T = ( α 1 T , α 2 T , ⋯   , α n T ) v_c=(v_r)^T,M_c=(M_r)^T=(\alpha_1,\alpha_2,\cdots,\alpha_n)^T=(\alpha_1^T,\alpha_2^T,\cdots,\alpha_n^T) vc=(vr)T,Mc=(Mr)T=(α1,α2,,αn)T=(α1T,α2T,,αnT)

五、结语

点坐标与矩阵的乘法从线性组合的角度看,就是:

  1. 矩阵是一组基;
  2. 点坐标是点在这组基上的组合系数;

在三维空间中,可以进一步理解为:

  1. 一组基就是一个局部空间坐标系,每一个基就是坐标轴向量;
  2. 点坐标就是各坐标轴的分量;
  3. 坐标与矩阵相乘是坐标轴向量的线性组合。

使用向量(基,坐标轴向量)来认识矩阵,把握了空间的本质,坐标是各分量在基上的度量,它反映了相对于基向量的线性相关度

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值