分享

茅塞顿开,这才是矩阵变换的本质,小学生都能轻松理解

 老胡说科学 2024-03-22 发布于江苏

矩阵转置就是交换行和列,对吧?取一个矩阵A,将其列转换成行,然后新矩阵被称为A的转置,但其实远不止于此。

实际上,我们可以在完全不提矩阵的情况下定义线性映射的转置。深入理解转置是如何产生的将帮助我们可视化它,而在这一过程中,我们将遇到更深层次的主题,如协变(向)量(Covector)、对偶性等等。

在数学或物理学中,"covector"这一术语有几种不同的中文翻译,常见的包括:

协变量:这是最常见的翻译之一,广泛用于数学和物理学的文献中。

共向量:这个翻译较少见,但在某些文献中仍然可以找到。

对偶向量:虽然这个翻译不太常用,但它强调了协变量与原向量空间中向量的对偶关系。

余向量:这个翻译在一些文献中也可以见到,尤其是在讨论向量空间和对偶空间的关系时。

协变量、对偶或1-形式的概念(Covector、Dual or 1-form)

在不同的上下文中,使用不同的名称,

我在这里选择使用“协变量”。协变量基本上是一种机器,它会接受一个向量,并输出一个数字

我喜欢称这种机器为测量设备,它“测量向量”。这些设备特别之处在于它们是“线性”的。这意味着如果有两个向量v_1和v_2,它们分别被这个机器测量为a_1和a_2,那么这个机器将测量v_1 + v_2为a_1 + a_2;如果你将向量v_1缩放一个λ倍,那么它将被测量为λa_1。

现在假设有一个线性变换,α,将一个向量v变换为另一个向量w。为了强调v和w可以非常不同,假设v是一个二维向量,而w可能是一个三维向量。出于某种原因,你想用协向量测量w。

一个不恰当的类比是:你想测量自己的体重,这里的向量就是你。

但你没有秤,你不得不使用邻居的。所以一种方法是去邻居家。但你也可以打电话给邻居,让他送给你,这样你就可以在家里进行测量,并得到相同的答案。秤从邻居家移动到你家就是α的转置所以α是你去邻居家,α转置是将测量设备从邻居家移动到你家。

但这与你所知的矩阵转置有什么关系呢?矩阵,从本质上讲,只是线性映射的一个总结。例如,对于一个二维线性映射,

第一列告诉你向量(1,0)去哪里;第二列告诉你向量(0,1)去哪里。如果我们想知道任意向量(x,y)去哪里,只需将第一列乘以x,再加上y乘以第二列!

只需知道这四个数字(a,b,c,d)就足以确定整个线性映射,所以矩阵本质上是线性映射的总结。所以有了线性变换α及其转置,还有总结变换的两个矩阵:

最重要的点是:转置只是将某些测量设备(协变量)从其他空间转换回原始空间

可视化协变量

因为协变量是线性的,所以就像线性变换一样,在二维情况下,只需要知道(1,0)和(0,1)是如何被测量的。

如果测量值分别是a和b,为了我们的目的,让我们说这个测量设备为(a,b)协变量或协变量(a,b)。

向量 (a, b):这是一个有序的数对,表示在二维空间中从原点出发到点 (a, b) 的一个箭头或者方向。向量通常用来表示物理量,如位移、速度、加速度等。

协变量 (a, b):这是一个函数,它作用于向量空间中的向量,并将它们映射到一个标量。具体来说,协变量 (a, b) 会将任何向量 (x, y) 映射到 ax + by。

现在如果你取任何向量(x,y),它只是x倍的(1,0)加上y倍的(0,1),根据线性,它将被测量为xa + yb。

所以在二维情况下,一个(a,b)协变量将向量(x,y)测量为xa + yb。这只是两个变量的函数。

一种自然的可视化方式是绘制一个三维图形,其中z坐标是(x,y)处的函数值:

在这种情况下,它就是一个通过原点的巨大平面。然而,因为我们想要考虑一个三维协变量,我们使用另一种稍微绕弯的方式来可视化这样的函数。

考虑它的等高线。也就是绘制所有这样的点(x,y),使其被测量为一个数c:

在这个特定的例子中,我们绘制线图ax + by = c,其中a是2,b是3,所以这代表一个(2,3)-协变量。通过变化c,我们可以窥见这个函数的行为。在这种情况下,它只是上下移动。

标记这条线为1,因为那是所有将被测量为1的点。

我们只为整数值的c绘制线图,因此,我们得到的是一些间隔固定、平行的线。

当然,这只是一个协变量(a=2,b=3)。不同的协变量会有不同方向和密度的不同组平行线。但现在的问题是,给定一组特定的平行线,我们能快速识别出这是哪个协变量吗?

上图是(-1, -0.5)协变量图,把它与(-1, -0.5)向量比较看看会发生什么。

相应的向量垂直于所有直线。所以,给定这些平行线,我们知道的是相应的向量位于这条垂直线上,

但为什么是这个确切的向量(-1, -0.5)呢?如果缩放这个向量,我们注意到向量越长,平行线就越密集。所以我们预期向量的长度与平行线的密度成正比。

更定量地说,如果有了线之间的间隙大小,那么线的密度应该是1/间隙大小 。事实上,向量的长度正好是1/间隙大小。所以虽然知道了长度,但下面这两个向量有相同的长度(方向相反),你怎么确定是哪一个?

例如,这条线被标记为2,因为它们都是协变量将其测量为2的点。

有了这些数字,我们可以区分这两个向量,因为协变量指向正数(c为正数)。

所以总结一下,你如何仅通过观察这些线就知道是哪个协变量:

  • 首先,相应的向量(协变量)垂直于这些线;

  • 然后,看一下线之间的间隙大小,然后你知道它是两个向量之一,其长度是1/间隙大小;

  • 然后查看线的隐藏数字(即c的数值),并选择指向正数的那个。

  • 最后,读取协变量的坐标。

上面,我们使用平行线可视化了二维协变量。三维协变量类似,只是把平行线换为平行平面。相应的向量仍然会垂直于这些平面,向量的长度仍然表示密度,向量仍然指向正数。

现在我们已经可视化了协变量,下面准备进行转置。

可视化转置

正如上文所示,α转置将一个测量设备,即另一个空间中的协变量,转换回原始空间。所以通过转置,将一个协变量转换为另一个协变量。问题在于一个协变量已经占用了相当多的空间。两个协变量一起出现已经是最大值了(二维情况下,整个平面)。所以我们只能一次可视化两个协变量的转换。

我们应该选择哪两个协变量呢?就像普通线性变换一样,选择的两个代表是:(1,0)协变量和(0,1)协变量。

再啰嗦一下:对于协变量 (1, 0),它将向量 (x, y) 映射到 x。因此,所有具有相同 x 坐标的点都会被映射到相同的值。这些点构成了一条平行于 y 轴的直线。所以,虽然 (1, 0) 协变量本身不是直线,但它产生的等值线是平行于 y 轴的直线。同样地,协变量 (0, 1) 的等值线是平行于 x 轴的直线。

就像普通向量变换一样,我们观察(1,0)协变量变成什么。无论它变成了哪个协变量,都会是转置矩阵的第一列。同理观察(0,1)协变量的变换。所以对于协变量变换,我们可以类似地写下一个矩阵表示。第一列告诉你(1,0)协变量如何变换,第二列告诉你(0,1)协变量如何变换。

接下来,我们将使用右剪切(right shear作为例子。右剪切的转置应该是什么样的?

在这个特定的例子中,α是一个右剪切,一个2D到2D的转换。现在,这个(1,0)协变量测量剪切后的向量(W)。转置的任务是找出我们可以用哪个协变量(?,?)直接测量原始向量(V)以便我们最终得到相同的测量值

接下来,我们看看(1,0)协变量如何测量剪切向量。在这个例子中,测量值都是1。但与其考虑它们的确切测量值,不如注意到尖端都位于同一条线上(下面的黄色直线)。

别忘了,每条线代表那些测量值是同一个固定常数c的向量的尖端,所以在这个可视化中,向量的尖端在哪条线上告诉你向量的测量值。

转置是这样的:首先,基向量回到了它们原来的位置。并且两个向量的尖端仍然位于黄色粗线上,即测量值不变

让我们看看转置对(0,1)协变量有什么影响。再次,我们先对基向量进行右剪切,然后使用(0,1)协变量来测量它们。这次,它们的测量值不同。我使用粗粉线来粉色粉色向量的测量值,使用粗绿线来表示绿色向量的测量值。

对于转置,我们想要将基向量带回原位,并保留测量值。这次,我们不需要对协变量做任何变换,因为粉色向量的尖端仍然位于粉线上,绿色向量的尖端仍然位于绿线上。当向量回到原位时,它们的测量值没有改变。

所以总的来说,这就是对基向量进行右剪切后的情况。转置希望基向量回到原位,同时保留测量值,因此它本质上对整个图像进行了左剪切

等一下……原本我们有一个右剪切,怎么转置是左剪切呢?

虽然它看起来像是左剪切,但网格线实际上是由两个不同的协变量组成的。原始的右剪切具有矩阵

因为(1,0)向量保持不动,剪切后仍然是(1,0),但(0,1)向量剪切成了(1,1)向量。下面是(1,0)协变量:

所谓的“左剪切”将上面的协变量转换为下面这个协变量:

这是哪个协变量呢?我们知道相应的向量(暂且理解为协变量对应的向量)位于垂直线上(上面黑色线),然后我们需要计算间隙大小。不难算出,间隙大小为:

因为相应向量的长度是1/间隙大小,所以相应向量长度是。这给出了两个选择:要么是(1,1)协变量,要么是(-1,-1)协变量。因为原本,下面这条黄色粗线被这个(1,0)协变量正向测量,

转换后,这条粗线表示正方向,所以它必须是(1,1)协变量。另一方面,(0,1)协变量不受左剪切影响,所以它仍然是(0,1)协变量。所以这所谓的“左剪切”应该由这个矩阵表示,

因为第一列告诉我们(1,0)协变量已经转换为这个(1,1)协变量,而(0,1)协变量仍然保持不动,仍然是(0,1)协变量。

现在将这个“左剪切”的矩阵与原始的右剪切进行比较。你可以看到,这些矩阵确实只是相互交换行和列!

转置的另外两个例子

第一个是一个对角矩阵(diagonal matrix,例如对角线上的元素为3, 2的矩阵。

第一列只是告诉我们将粉色向量放大3倍,第二列告诉我们将绿色向量放大2倍。像之前一样,我们带上协变量,并进行逆变换以使基向量回到起始位置,但从协变量的角度看,这实际上是一个(3,0)协变量,因为间隙大小现在减少到原始大小的1/3,相应向量的长度实际上是3。

对于另一个协变量来说,完全相同,只是间隙大小减半,所以相应向量的长度是2,因此我们最终得到一个(0,2)协变量。这就是为什么这个变换仍然由相同的矩阵表示,因为我们将这些网格线视为协变量,实际上,如果做交换行和列的操作,仍然得到相同的矩阵!

另一个例子是旋转(rotation)。再次,我们从基向量开始,假设将基向量逆时针旋转60度。

同样,我们带上协变量网格,并进行逆变换以使基向量回到起始位置。这次,我们将整个网格顺时针旋转60度。

那么这个协变量是什么呢?它是通过将这个原始协变量顺时针旋转60度得到的,下面是原始协变量相应的向量:

在旋转期间,相应的向量(1,0)以同样的方式旋转,即顺时针60度。

这是因为仅通过旋转,间隙大小没有改变,所以我们不需要改变相应向量的长度。对于另一个协变量来说,一样。所以在这种情况下,转置不仅仅“看起来像”逆,它是作用在相应向量上的逆。

这意味着,对应于逆时针60度旋转的矩阵,以及对应的转置,在这种情况下,它们是彼此的逆。换句话说,对于旋转,

一般来说,满足这一条件的矩阵被称为正交矩阵(Orthogonal matrices)因此旋转矩阵是正交的。到现在为止,你可能会想,这种可视化需要矩阵是可逆的,确实,当涉及到奇异矩阵(singular matices)时,确实有一定的限制。

通常情况下,奇异矩阵的秩(也就是矩阵中线性独立的行或列的最大数目)会小于它所在空间的维数。

狭义相对论

我想特别提一下一个细节,虽然它比较复杂和专业,但是很重要。正交条件对你来说可能没啥意义

在左手边,转置被假设为将协变量转换为协变量,但在右边,A^(-1)将向量转换为向量。它们甚至不是同一类型的对象,它们怎么可能相等呢?诀窍是将向量和协变量配对,将它们视为某种相同的东西。

对于这个(a,b)协变量,测量(1,0)为a,(0,1)为b,我们将其与向量(a,b)关联,或在协变量的可视化中作为一堆平行线,将其与垂直于这些线的向量关联,长度是线的密度。当然,我们也可以反过来做——给定向量,我们可以绘制那些平行线;给定向量(a,b),我们也可以轻松构造那个协变量。这就是我们如何实现向量和协变量之间的一一对应关系。

有个专业点的说法是,我们说的这个配对关系必须是线性的,也就是说,它要满足一些特定的数学规则。我们这里用的配对关系确实是线性的,但我们不需要深入研究这个“线性”到底意味着什么。

让我们列出一些向量和协变量。

如果一个变换将一个协变量ε转换为另一个协变量η;并且epsilon与向量v配对,η与向量w配对,那么它看起来好像 v被转换成了w。这个协变量到协变量的转换甚至不知道v的存在,但是因为这个配对,我们可以将其视为向量到向量的转换

以类似的方式,如果一个向量到向量的转换将v转换为w,我们可以认为它是从ε转换为η。正是在这个意义上,我们说:

我想强调一下为什么要配对向量和协变量有两个原因。首先,把一个向量和一个协变量匹配起来的这种做法虽然很常见也很自然,但它不是唯一的方法。你还可以选择把向量和 (-a, b) 或 (a, -b) 这样的协变量配对。这样做依然可以保持一一对应的关系。还有很多其他的选择方法,但我之所以选这两个,只是因为这两种配对方法可以用在1+1维度的狭义相对论的数学中,而且任何满足这种正交条件的矩阵,在这种配对下,都是洛伦兹变换

如果你对相对论有所了解,并且想知道这与相对论有什么关系,请注意,从向量到协变量的转换是度规张量的工作,而从协变量到向量的转换是逆度规的工作。重点是,指定哪种一一对应关系,或你正在使用的度规非常重要,因为不同的度规会产生不同的数学。

另一件事是你可能甚至无法将它们配对。在无限维向量空间中,协变量远多于向量,所以你永远无法实现一一对应。

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多