【线性代数的本质】矩阵与线性变换

线性变化要满足两点性质:

  1. 直线(连续的点)在变换后还是直线。
  2. 原点不变。

假设有坐标轴(基底) i ^ \widehat{i} i 和 j ^ \widehat{j} j :
i ^ = [ 1 0 ] , j ^ = [ 0 1 ] \widehat{i}=\begin{bmatrix} 1 \\ 0 \end{bmatrix}, \widehat{j}=\begin{bmatrix} 0 \\ 1 \end{bmatrix} i =[10],j =[01]

若向量 v ⃗ = [ − 1 2 ] \vec{v}=\begin{bmatrix} -1 \\ 2 \end{bmatrix} v =[−12],则可以使用它们表示成:
v ⃗ = − 1 i ^ + 2 j ^ \vec{v}=-1\widehat{i}+2\widehat{j} v =−1i +2j

当空间进行一次线性变换后, i ^ \widehat{i} i 和 j ^ \widehat{j} j 都发生了变化,但 v ⃗ \vec{v} v 与它们的关系却保持不变。假设这些向量经过变换变成了:
T r a n ( i ^ ) = [ 1 − 2 ] , T r a n ( j ^ ) = [ 3 0 ] T r a n ( v ⃗ ) = [ 5 2 ] Tran(\widehat{i})=\begin{bmatrix} 1 \\ -2 \end{bmatrix}, Tran(\widehat{j})=\begin{bmatrix} 3 \\ 0 \end{bmatrix} \\ Tran(\vec{v})=\begin{bmatrix} 5 \\ 2 \end{bmatrix} Tran(i )=[1−2],Tran(j )=[30]Tran(v )=[52]

发现依然满足:
T r a n ( v ⃗ ) = − 1 T r a n ( i ^ ) + 2 T r a n ( j ^ ) = − 1 [ 1 − 2 ] + 2 [ 3 0 ] = [ − 1 ( 1 ) + 2 ( 3 ) − 1 ( − 2 ) + 2 ( 0 ) ] = [ 5 2 ] \begin{aligned} Tran(\vec{v})&= -1 Tran(\widehat{i})+2Tran(\widehat{j}) \\ &= -1 \begin{bmatrix} 1 \\ -2 \end{bmatrix} + 2 \begin{bmatrix} 3 \\ 0 \end{bmatrix} \\ &= \begin{bmatrix} -1(1) + 2(3) \\ -1(-2) + 2(0) \end{bmatrix} \\ &= \begin{bmatrix} 5 \\ 2 \end{bmatrix} \end{aligned} Tran(v )=−1Tran(i )+2Tran(j )=−1[1−2]+2[30]=[−1(1)+2(3)−1(−2)+2(0)]=[52]

实际上,将两个基底在线性变换后变成的两个列向量合在一起,就是一个表示该线性变换的矩阵;对原向量左乘该矩阵,就能得到线性变换后的向量:

T r a n ( v ⃗ ) = M ∗ v ⃗ = [ 1 3 − 2 0 ] [ − 1 2 ] = − 1 [ 1 − 2 ] + 2 [ 3 0 ] = [ − 1 ( 1 ) + 2 ( 3 ) − 1 ( − 2 ) + 2 ( 0 ) ] = [ 5 2 ] \begin{aligned} Tran(\vec{v})&= M*\vec{v} \\ &= \begin{bmatrix} 1 & 3 \\ -2 & 0 \end{bmatrix} \begin{bmatrix} -1 \\ 2 \end{bmatrix} \\ &= -1 \begin{bmatrix} 1 \\ -2 \end{bmatrix} + 2 \begin{bmatrix} 3 \\ 0 \end{bmatrix} \\ &= \begin{bmatrix} -1(1) + 2(3) \\ -1(-2) + 2(0) \end{bmatrix} \\ &= \begin{bmatrix} 5 \\ 2 \end{bmatrix} \end{aligned} Tran(v )=M∗v =[1−230][−12]=−1[1−2]+2[30]=[−1(1)+2(3)−1(−2)+2(0)]=[52]

把数字换成符号,可以得到一个等式:

x i x j y i y j \] \[ x y \] = x \[ x i y i \] + y \[ x j y j \] = \[ x i ∗ x + x j ∗ y y i ∗ x + y j ∗ y \] \\begin{bmatrix} x_i \& x_j \\\\ y_i \& y_j \\end{bmatrix} \\begin{bmatrix} x \\\\ y \\end{bmatrix} = x \\begin{bmatrix} x_i \\\\ y_i \\end{bmatrix} + y \\begin{bmatrix} x_j \\\\ y_j \\end{bmatrix} = \\begin{bmatrix} x_i \* x + x_j \* y \\\\ y_i \* x + y_j \* y \\end{bmatrix} \[xiyixjyj\]\[xy\]=x\[xiyi\]+y\[xjyj\]=\[xi∗x+xj∗yyi∗x+yj∗y


举个例子,如果要进行一次线性变换,使得二维空间被逆时针旋转90度,那么,可以知道:
T r a n ( i ^ ) = [ 0 1 ] , T r a n ( j ^ ) = [ − 1 0 ] Tran(\widehat{i})=\begin{bmatrix} 0 \\ 1 \end{bmatrix}, Tran(\widehat{j})=\begin{bmatrix} -1 \\ 0 \end{bmatrix} Tran(i )=[01],Tran(j )=[−10]

于是可以直接写出线性变换对应的矩阵:

0 − 1 1 0 \] \\begin{bmatrix} 0 \& -1 \\\\ 1 \& 0 \\end{bmatrix} \[01−10

将任意向量左乘该矩阵,就能使其旋转90度,如:

0 − 1 1 0 \] \[ − 1 2 \] = \[ − 2 − 1 \] \\begin{bmatrix} 0 \& -1 \\\\ 1 \& 0 \\end{bmatrix} \\begin{bmatrix} -1 \\\\ 2 \\end{bmatrix} = \\begin{bmatrix} -2 \\\\ -1 \\end{bmatrix} \[01−10\]\[−12\]=\[−2−1


用这个视角来看,一个原地不动的线性变换对应的矩阵自然就是单位矩阵,因为:
T r a n ( i ^ ) = [ 1 0 ] , T r a n ( j ^ ) = [ 0 1 ] Tran(\widehat{i})=\begin{bmatrix} 1 \\ 0 \end{bmatrix}, Tran(\widehat{j})=\begin{bmatrix} 0 \\ 1 \end{bmatrix} Tran(i )=[10],Tran(j )=[01]

直接得到矩阵:

1 0 0 1 \] \\begin{bmatrix} 1 \& 0 \\\\ 0 \& 1 \\end{bmatrix} \[1001

相关推荐
jndingxin19 小时前
OpenCV 图形API(5)API参考:数学运算用于执行图像或矩阵加法操作的函数add()
opencv·webpack·矩阵
y5236482 天前
PowerBI 矩阵,列标题自定义排序
线性代数·矩阵·powerbi
梭七y2 天前
【力扣hot100题】(017)矩阵置零
算法·leetcode·矩阵
进击的jerk3 天前
力扣.旋转矩阵Ⅱ
算法·leetcode·矩阵
幻风_huanfeng3 天前
人工智能之数学基础:矩阵的相似变换的本质是什么?
人工智能·深度学习·线性代数·机器学习·矩阵·相似变换
jllws13 天前
数据类设计_图片类设计_矩阵图类型和像素图类型设计的补充
前端·c++·矩阵·数据类设计
Source.Liu3 天前
【学Rust写CAD】18 定点数2D仿射变换矩阵结构体(MatrixFixedPoint结构别名)
矩阵·rust·cad
进击的jerk3 天前
力扣.旋转矩阵
算法·leetcode·矩阵
Yang-Never3 天前
Open GL ES ->模型矩阵、视图矩阵、投影矩阵等变换矩阵数学推导以及方法接口说明
android·矩阵·kotlin·android studio
passxgx3 天前
7.3 主成分分析(PCA)
线性代数