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

基于3Blue1Brown视频的笔记


线性变换(linear tranformation)

首先,什么是变换?变换实际就是函数(function)的一种,它**接受输入,并输出结果。**称之为变换则是在暗示从可视化的角度去看待它。

在线性代数中,我们往往**输入一个向量,输出一个新的向量。**如果一个变换接受一个向量,然后输出一个向量,我们就可以想象这个向量移动到新向量位置的过程。进一步地,我们可以想象整个平面的向量都做这个变换,移动到新的位置,这看起来就是整个平面在变形,变换给了我们扭曲空间的能力。

有非常多美妙而复杂的变换,而线性变换将变换限制为线性:

若一个变换具有以下两个性质,则说它是线性的:

  1. 所有直线在变换后还是直线
  2. 原点保持固定

描述线性变换------矩阵

现在的问题是,我们如何描述一个线性变换。也就是给出一定的描述或者操作,使得我们可以对所有向量这么做而得到变换后的新向量。

对于二维平面来说,我们实际上只需要知道基向量、的新位置,其他向量都会随之而动。

这是由于线性变换本身的性质,而有一个重要的推论:一个向量如果是另两个向量的线性组合,则经过线性变换后,它仍然是它们相同的线性组合。

比如现在我们在原坐标系有个向量,这意味着这个向量可以如此表示: ,现在我们知道,变换之后到了原来的位置,而到了原来的位置,那么我们就可以计算的变换后的位置是。

我们只需要记录下新的 、的位置,我们就可以计算空间任意向量变换后到了哪里:对于任意的,我们通过来计算。也就是,我们只需要和这两个信息,就可以掌握这个线性变换。

通常我们将它们写在一起:,称之为矩阵(matrix)。

我们可以将它的两个列理解为两个特殊的向量------新的 、的位置。

现在,如果你有一个2×2矩阵,和一个2维向量,而你想知道这个矩阵描述的线性变换对这个向量的作用,你只需要取出向量的两个坐标,分别数乘矩阵的两个列向量,然后相加即可。我们在书写时把矩阵放在这个向量的左边,就像函数(f(x))一样。

换成一般形式,就是:

这就是矩阵向量乘法

总结

线性变换是一种操纵空间的手段,它保持网格平行等距分布且原点位置不变。 而这种变换我们只需要用变换后基向量的坐标就可以描述清楚,这些基向量坐标构成的矩阵提供了一种描述线性变换的语言,矩阵乘法就是计算这种线性变换作用的一个手段。

相关推荐
FakeOccupational1 小时前
【电路笔记 信号】DBPSK 波形查找表+脉冲成形(升余弦+根升余弦滤波)
开发语言·笔记
传奇开心果编程2 小时前
【SwiftUI提高练中学】第13课 实时活动与灵动岛:ActivityKit 实战
学习·ui·ios·swiftui·swift
欣欣之王来了2 小时前
Python入门:什么是Python以及为什么选择它
学习·架构·面向对象·项目·python教程
dadaobusi3 小时前
pcie原子操作和nvme原子操作
学习
sunshine22 girl3 小时前
Java学习五 面向对象高级5 内部类1
java·学习
苏打豆5 小时前
CRISP源码阅读——基于ROS2力矩反馈控制器与速度加速度零空间
c++·线性代数·算法·矩阵·机器人
Horn Still Sounds5 小时前
IMX6ULL裸机|I2C通信协议 + ADC模数转换学习笔记
arm开发·笔记·单片机·嵌入式硬件
每天题库5 小时前
架子工脚手架工题库:安全操作考点与模拟题练习指南
学习·安全·考试·题库·考证
yangmu32036 小时前
Codex 提示词优化教程:用四要素把模糊需求变成可执行任务
人工智能·学习
无敌贵点大王7 小时前
RTThread学习记录13——关于要使用一个外设,RTThread与cubemx到底要怎么配合?
c语言·stm32·学习·rtthread