惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

T
Tailwind CSS Blog
C
CERT Recently Published Vulnerability Notes
P
Proofpoint News Feed
Vercel News
Vercel News
博客园 - 三生石上(FineUI控件)
IT之家
IT之家
Help Net Security
Help Net Security
月光博客
月光博客
N
News and Events Feed by Topic
Cloudbric
Cloudbric
博客园 - 司徒正美
L
LangChain Blog
Recent Commits to openclaw:main
Recent Commits to openclaw:main
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
T
Tenable Blog
The Register - Security
The Register - Security
The Hacker News
The Hacker News
I
InfoQ
The Last Watchdog
The Last Watchdog
MyScale Blog
MyScale Blog
Schneier on Security
Schneier on Security
WordPress大学
WordPress大学
小众软件
小众软件
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
宝玉的分享
宝玉的分享
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
K
Kaspersky official blog
L
LINUX DO - 热门话题
N
News | PayPal Newsroom
F
Fortinet All Blogs
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
S
Security @ Cisco Blogs
Recorded Future
Recorded Future
大猫的无限游戏
大猫的无限游戏
H
Help Net Security
Google Online Security Blog
Google Online Security Blog
S
Schneier on Security
C
Cisco Blogs
N
News and Events Feed by Topic
V2EX - 技术
V2EX - 技术
Latest news
Latest news
PCI Perspectives
PCI Perspectives
T
The Blog of Author Tim Ferriss
P
Palo Alto Networks Blog
T
Tor Project blog
Project Zero
Project Zero
云风的 BLOG
云风的 BLOG
Webroot Blog
Webroot Blog
Attack and Defense Labs
Attack and Defense Labs
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org

寒夜雨

【Rethink Math】矩阵论的几何理解:二次型 【Rethink Math】矩阵论的几何理解:广义逆矩阵 【Rethink Math】矩阵论的几何理解:奇异值分解 【Rethink Math】矩阵论的几何理解:线性方程组与满秩分解 【Rethink Math】矩阵论的几何理解:施密特正交化与QR分解 【Rethink Math】矩阵论的几何理解:矩阵分解之三角分解 【Rethink Math】矩阵论的几何理解:矩阵微积分 【Rethink Math】矩阵论的几何理解:范数 【Rethink Math】矩阵论的几何理解:矩阵转置与酉相似 【Rethink Math】矩阵论的几何理解:矩阵的相似变换 【Rethink Math】矩阵论的几何理解:线性代数篇(二) 【Rethink Math】矩阵论的几何理解:线性代数篇(一) 【RethinkAI】EM算法 【RethinkAI】IBM Model 1 【无线电】A类考试知识小记 【RethinkAI】Agent数据集的调研研究 【杂谈】砭人肌肤的冷雨 【Linux】Back to Linux, to Some Extent... 【杂谈】碎梦 【RethinkAI】OpenClaw的运行流程 【JavaScript】初学笔记:从作用域到事件循环 【杂谈】午夜橘子汽水 【杂谈】小水文:一点技术和技术之外的事情
【Rethink Math】矩阵论的几何理解:一口气把转置讲清楚
CoderLock · 2026-07-26 · via 寒夜雨

最近我躺在床上,翻来覆去想,「这转置到底是什么个含义?利用等值线解释,总感觉差一点东西。」这两天有了一个比较粗糙的想法,「等值线的确是个很取巧、很粗糙的理解方式,感觉有一种更加有趣深入的理解方式!」,这次就来和诸君交流一下。

核心思想是——转置的核心性质是

$$ \langle Ax,y\rangle=\langle x,A^Ty\rangle. $$

这个公式表示,同一个标量测量既可以理解为先用 $A$ 变换输入 $x$,再用 $y$ 测量结果;也可以理解为先用 $A^T$ 将测量规则 $y$ 拉回输入空间,再直接测量 $x$。因此,转置保持的不是向量本身,而是向量与测量规则之间的配对结果。

二十年重过南楼:矩阵乘法的两种理解方式

考虑矩阵$A$:

$$ A= \begin{bmatrix} 2&1\\ -1&3 \end{bmatrix} $$

和向量$x$:

$$ x=\begin{bmatrix} x_1\\ x_2 \end{bmatrix} $$

二者相乘得到:

$$ Ax = \begin{bmatrix} 2x_1+x_2\\ -x_1+3x_2 \end{bmatrix} $$

我们通常会从列向量的角度看待矩阵的乘法——矩阵的列向量负责生成输出。输入向量中的第一个坐标$x_1$,控制第一列的权重;第二个坐标$x_2$,控制第二列的权重。最终的输出,是矩阵各列的线性组合。也就是:

$$ Ax= x_1 \begin{bmatrix} 2\\ -1 \end{bmatrix} + x_2 \begin{bmatrix} 1\\ 3 \end{bmatrix} $$

这太自然了,从行角度来理解就不是很自然,我们把矩阵写作行的形式:

$$ A= \begin{bmatrix} r_1\\ r_2 \end{bmatrix} $$

其中:

$$ r_1= \begin{bmatrix} 2&1 \end{bmatrix}, \qquad r_2= \begin{bmatrix} -1&3 \end{bmatrix} $$

那么就有:

$$ Ax= \begin{bmatrix} r_1x\\ r_2x \end{bmatrix} $$

从这个角度看,矩阵的每一行都在对输入向量进行一次测量。第一行读取出输出向量的第一个坐标,第二行读取出输出向量的第二个坐标。这恰恰就是我之前写的文章的结论——行向量在输入空间里,负责测量输入;列向量在输出空间里,负责生成输出。

什么是测量呢?我们来好好说说考虑函数:

$$ f(x_1,x_2)=2x_1+x_2 $$

这个函数看起来没什么特别的,接收一个二维向量,输出一个实数,比如对于一个向量:

$$ x^*=\begin{bmatrix} 8\\ 9 \end{bmatrix} $$

就能得到:

$$ f(x^*_1,x^*_2)=25 $$

这个函数特别像我们第一部分说的$r_1x$和$r_2x$,它们并没有把一个向量变成另一个向量,而是从向量中读取出一个数值。而且,矩阵中的这样的行向量的形式,满足线性性质,也就是:

$$ f(u+v)=f(u)+f(v) $$

以及:

$$ f(\lambda u)=\lambda f(u) $$

那么很显然,$f$是一个从向量空间到标量域的线性映射。如果把普通向量理解成空间中的箭头,那么协向量可以理解成一把对向量进行测量的尺子。也就是对于给定的向量,我有这样一种测量方式——矩阵的行向量所声明的测量方式——能够给出一个什么样的标量值。

这种测量方式在二维平面上,就是等值线,一条条等值线,线的位置和取值有关。向量在空间中移动时:

  • 如果沿着等值线移动,测量值不变;
  • 如果跨越等值线,测量值发生变化;
  • 跨越的刻度越多,测量值变化越大。

到这里,我们其实还没有引入任何新的东西,这些东西在我之前的专栏文章中已经说过了。

柳下系船犹未稳:测量一定只有一种吗?

我们给出了一种测量的方法,这种方法是由矩阵的行向量决定的,每一个行向量决定了一种测量的方法,但是,测量方法貌似不只有这一种,我们可以把所有从向量空间$\mathbb V$到实数域$\mathbb R$的映射,都看作一种测量方法。我们于是得到了一种新的集合:

$$ \{f:\mathbb V\to\mathbb R\mid f\text{ 是线性的}\ \} $$

这个集合实际上也构成一个向量空间,因为每个元素都满足我们上面提到的线性性质,也就是说,每一个$f$都可以看作一个小向量。这个空间,我们一般称作向量空间$\mathbb V$的对偶空间,我们记作$\mathbb V^*$。

我们偶然发现了看待坐标的一个新角度,设$\mathbb V$有一组基:

$$ e_1,e_2,\dots,e_n. $$

任何向量都能写成:

$$ v=x_1e_1+x_2e_2+\cdots+x_ne_n. $$

定义一组测量方法(测量方法可以叫做协向量):

$$ e^1,e^2,\dots,e^n, $$

使得:

$$ e^i(e_j)= \begin{cases} 1,&i=j,\\ 0,&i\ne j. \end{cases} $$

这组测量方法称为对偶基。它们的作用极其直接,就是对基做测量,很简单的测量:

$$ e^1(v)=x_1, \qquad e^2(v)=x_2, \qquad \dots, \qquad e^n(v)=x_n. $$

啊哈,到这里我们明白了「行向量在输入空间里,负责测量输入;列向量在输出空间里,负责生成输出」是什么意思——基向量负责生成:

$$ v=\sum_i x_i e_i. $$

对偶基负责读取:

$$ x_i=e^i(v). $$

能几日:协向量的拉回

设$\mathbb V$和$\mathbb W$是两个向量空间,并有线性映射

$$ A:\mathbb V\to \mathbb W $$

对于输入向量 $v\in \mathbb V$,线性映射产生输出

$$ Av\in \mathbb W $$

因此,向量沿着$A$从输入空间走向输出空间:

$$ \mathbb V\xrightarrow{A}\mathbb W. $$

举个例子,设:

$$ A= \begin{bmatrix} 2&1\\ 0&3 \end{bmatrix}, \qquad x= \begin{bmatrix} x_1\\ x_2 \end{bmatrix} $$

那么:

$$ Ax= \begin{bmatrix} 2x_1+x_2\\ 3x_2 \end{bmatrix} $$

假设有一个输出空间的测量方式,也就是输出空间的协向量,也就是输出空间的对偶空间的一个元素:

$$ \beta \in \mathbb W^* $$

它接收一个向量,返回一个标量——这正是协向量要做的事情。设这个协向量是:

$$ \beta(y_1,y_2)=4y_1-y_2 $$

在选定坐标后,它可以表示为行向量:

$$ \beta= \begin{bmatrix} 4&-1 \end{bmatrix} $$

我们知道,输出向量是由矩阵乘法得到的,也就是:

$$ y=Ax $$

那么,我们关心的测量就是$\beta(Ax)$,这个东西就是:

$$ \beta(Ax)=4\times(2x_1+x_2)-3x_2=8x_1+x_2 $$

这个结果非常amazing啊,因为它是输入空间的一个向量,也就是说——输出空间中的测量规则,经过线性变换以后,可以转换成输入空间中的测量规则。我们原本想测量输出中的某个量,但输出由输入决定。因此,可以把这个输出测量反向传回输入空间,得到一个直接测量输入的规则。这个过程就叫做协向量的拉回

又中秋:转置的谜底

设:

$$ A:\mathbb R^n\to\mathbb R^m $$

矩阵表示为:

$$ A= \begin{bmatrix} a_{11}&\cdots&a_{1n}\\ \vdots&&\vdots\\ a_{m1}&\cdots&a_{mn} \end{bmatrix} $$

设输出空间中的协向量$\beta$用行向量表示:

$$ \beta= \begin{bmatrix} b_1&\cdots&b_m \end{bmatrix}. $$

那么对于输入列向量$x$,有:

$$ \beta(Ax)=(\beta A)x. $$

因此,拉回后的协向量是(这里我们用$A^*$记$A$的对偶映射,也就是把$A$做的变换反过来,也就是$A^*:\mathbb R^m\to \mathbb R^n$):

$$ A^*(\beta)=\beta A. $$

这里似乎没有出现转置。这是因为我们将协向量自然地写成了行向量。如果将协向量的系数也写成列向量

$$ b= \begin{bmatrix} b_1\\ \vdots\\ b_m \end{bmatrix} $$

那么:

$$ \beta(y)=b^Ty=b^TAx=(A^Tb)^Tx $$

因此,拉回后的协向量系数为

$$ A^Tb. $$

这说明:

$$ \boxed{[A^*]=A^T} $$

即在线性映射对应的基与对偶基下,对偶映射的矩阵就是原矩阵的转置。因此,转置并不是一个首先存在的几何动作。更准确的逻辑顺序是:

  1. 线性映射$A$作用于向量;
  2. $A$自然诱导出对偶映射$A^*$;
  3. 对偶映射将输出协向量拉回输入空间;
  4. 在坐标中,对偶映射由转置矩阵$A^T$表示。

所以:

转置矩阵是协向量反向传播在坐标中的样子。

举个例子

这个例子我就懒得打了,用L'intelligence artificielle代劳了。

设:

$$ A= \begin{bmatrix} 2&1\\ 0&3 \end{bmatrix}, \qquad x= \begin{bmatrix} x_1\\x_2 \end{bmatrix}. $$

所以:

$$ Ax= \begin{bmatrix} 2x_1+x_2\\ 3x_2 \end{bmatrix}. $$

现在输出空间中有一个协向量:

$$ \beta(y)=4y_1-y_2. $$

用行向量表示:

$$ \beta= \begin{bmatrix} 4&-1 \end{bmatrix}. $$

它测量输出:

$$ \beta(Ax) = 4(2x_1+x_2)-3x_2 = 8x_1+x_2. $$

因此,被拉回输入空间的协向量是:

$$ A^*\beta= \begin{bmatrix} 8&1 \end{bmatrix}. $$

如果把协向量的系数暂时也写成列形式:

$$ b= \begin{bmatrix} 4\\-1 \end{bmatrix}, $$

那么:

$$ A^Tb = \begin{bmatrix} 2&0\\ 1&3 \end{bmatrix} \begin{bmatrix} 4\\-1 \end{bmatrix} = \begin{bmatrix} 8\\1 \end{bmatrix}. $$

所以:

$$ \beta(Ax) = (A^T\beta)(x). $$

更标准地写:

$$ \langle \beta,Ax\rangle = \langle A^T\beta,x\rangle. $$

这说明:

转置并不是把矩阵沿对角线翻转的一种形式操作。它是对偶映射在坐标中的矩阵表示。