线性代数之——线性变换及对应矩阵

1. 线性变换的概念

当一个矩阵 A 乘以一个向量 v 时,它将 v 变换到另一个向量 Av。进来的是 v,出去的是 T(v)=Av。一个变换 T 就像一个函数一样,进来一个数字 x,得到 f(x)。但更高的目标是一次考虑所有的 v,我们是将整个空间 V 进行变换当我们用 A 乘以每一个向量 v 时。

一个变换 T,为空间 V 中的每一个向量 v 分配一个输出 T(v)。这个变换是线性的,如果它满足:

(a)T(v+w)=T(v)+T(w)(b)T(cv)=cT(v)  c 

我们可以将这两个条件结合成一个,

T(cv+dw)=cT(v)+dT(w)

矩阵相乘满足线性变化,因为 A(cv+dw)=cAv+dAw 始终成立。

线性变换满足线到线,三角形到三角形,看下图。

在一条线上的三个点经过变换后仍然在一条线上,变换前等距离的点变换后仍然是等距离的点,输入是一个三角形变换后输出还是一个三角形。这种线性可以扩展到三个向量或者 N 个向量的组合

变换有自己的语言,如果没有矩阵的话,我们没办法讨论列空间。但是这些思想可以被保留,比如列空间包含所有的线性组合 Av,零空间包含所有使得 Av=0 的输入。将它们转化为值域(range)和核(kernel):

T 的值域 = 所有输出 T(v) 的集合,对应于列空间。
T 的核 = 所有使得 T(v)=0 的输入的集合,对应于零空间。

投影任意一个三维向量到 xy 平面,那么我们有 T(x,y,z)=(x,y,0)。值域就是这个平面,包含了所有的 T(v);核是 z 轴,它们被投影到了零点。这是一个线性的变换。

投影任意一个三维向量到 z=1 平面,那么我们有 T(x,y,z)=(x,y,1)。这不是一个线性的变换,为什么呢?它根本不能将零向量投影到零点,而这是线性变换必须满足的条件。

假设 A 是一个可逆的矩阵,那么核是零向量,值域 W 和输入空间 V 相同。有另一个线性变化是乘以矩阵 A1,它将每一个 T(v)都带回到 v,有,

T1(T(v))=vA1Av=v

我们遇到了一个不可避免的问题,所有的线性变换都可以由一个矩阵产生吗?答案是肯定的,所有的变换比如旋转、投影……背后都藏着对应的一个矩阵。

最后我们来直观地感受一下线性变换,看一个矩阵是怎么旋转、拉伸或者以其它方式改变输入的房子的。

2. 线性变换的对应矩阵

这部分的核心在于,如果我们知道了基向量 v1vn 的变换 T(v1)T(vn),那么由于变换是线性的,我们就知道了任意输入向量 v 的变换 T(v)

每个向量 v 都可以表示为基向量的唯一线性组合 c1v1++cnvn,又由于 T 是线性变换,那么必有 T(v)=c1T(v1)++cnT(vn)

函数 1,x,x2,x3 的导数是 0,1,2x,3x2。这里,1,x,x2,x3是立方多项式空间的一个基,输入空间 V 包含它们的所有组合,四个基的导数可以告诉我们空间 V 中的所有导数。

针对求导这个变换 T,我们求解 dv/dx=0 来找到它的核。解是 v=,因此 T 的零空间是一维的,包含所有的常函数。我们查看 T(v)=dv/dx 的所有输出来找到它的值域,由于输入是三次多项式,三次多项式的导数是二次多项式,所以如果输出空间 W 是二次多项式空间的话, 那么 T 的值域是整个 W ,维度为 3。核的维度+值域的维度=输入空间的维度。

导数将立方空间 V 变换到平方空间 W,对应的矩阵是 3×4 大小的。

为什么 A 是正确的矩阵,我们可以看到乘以矩阵 A 和变换 T 是一致的,v=a+bx+cx2+dx3 的导数是 T(v)=b+2cx+3dx2

然后我们来看积分变换 T1,对应的矩阵是 4×3 大小的,w=B+Cx+Dx2 的导数是 T1(w)=0+Bx+12Cx2+13Dx3

长方形的矩阵 A 没有双边逆矩阵,但它有单边逆,积分是导数的单边逆。

如果你对一个函数积分后再求导,那么你又回到了起始函数,所以 AA1=I。但是,如果你先求导再积分,常数项就会丢失,T1T(1)=0,这也就是为什么 A1A 的第一列为 0。

现在我们来构建任意线性变换的矩阵。假设变换 Tn 维空间 V 变换到 m 维空间 Wv1vnV 的一组基向量,w1wmW 的一组基向量。那么矩阵 Am×n 大小的,要找到它的第一列,我们应用 T 到第一个基向量 v1T(v1) 位于 W 空间并有,

T(v1)=a11w1++am1wm

这些数字就是 A 的第一列元素,同理我们可以得到矩阵的所有元素。

所有的输入向量都可以表示为 V 中基向量的线性组合,变换后的输出则是 W 中基向量的线性组合。矩阵 A 告诉了我们变换 T 做了什么,任何从 VW 的变换都可以转换为一个矩阵,这个矩阵则取决于基向量的选择。

两个变换 ST 分别用矩阵 BA 表示。当我们应用 T 变换到 S 变换的输出,我们得到了变换的组合 TS;当我们在 B 之后应用 A,我们得到了矩阵相乘 AB矩阵相乘给出了变换 TS 的正确矩阵 AB

获取更多精彩,请关注「seniusen」!
posted @   seniusen  阅读(3572)  评论(1编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· 因为Apifox不支持离线,我果断选择了Apipost!
历史上的今天:
2018-11-24 图像质量评价指标之 PSNR 和 SSIM
2018-11-24 超光谱图像去噪基准
2018-11-24 LeetCode 240——搜索二维矩阵 II
点击右上角即可分享
微信分享提示