张量是函数吗?是集合吗?张量有定义域?值域?它泛化了什么?有什么性质?有什么操作?特性是?
如果一开始就把张量写成一长串坐标符号,比如
$T_{ij}^k$、$A \otimes B$、$g_{ij}$,那几乎一定会把人带偏。
更自然的入口其实不是坐标,而是先问一个更朴素的问题:
我们已经知道什么是向量,什么是线性映射。那么再往前走一步,什么东西会比“线性”更复杂一点,但又还保留线性结构?
答案就是多重线性映射,而张量正是对这种对象的一种统一表达。
先从线性映射开始
设 $V, W$ 是两个向量空间。一个线性映射
$L: V \to W$ 的意思很简单:
它对加法和数乘都相容。
也就是说,线性映射只接收一个向量作为输入。
那如果一个对象要同时接收两个向量、三个向量,甚至还要接收协向量,并且对每个变量分别都是线性的,这样的对象该怎么描述?
例如双线性映射 \(B: V \times V \to \mathbb{R}\) 满足: \(B(v_1 + v_2, w) = B(v_1, w) + B(v_2, w), \quad B(v, w_1 + w_2) = B(v, w_1) + B(v, w_2)\) 并且对数乘也分别线性。
内积就是最典型的例子。
它不是把一个向量送到另一个向量,而是把两个向量送到一个数。
从这个角度看,张量首先不是“数组”,而是“多重线性的规则”。
一个好用的工作定义
在有限维线性代数里,一个 $(r,s)$ 型张量可以看成一个多重线性映射: \(T: \underbrace{V^* \times \cdots \times V^*}_{r\text{ 个}} \times \underbrace{V \times \cdots \times V}_{s\text{ 个}} \to \mathbb{R}\)
它对每一个自变量都分别线性。
所以:
- 标量可以看成 $(0,0)$ 型张量
- 向量可以看成 $(1,0)$ 型张量
- 协向量可以看成 $(0,1)$ 型张量
- 双线性型是 $(0,2)$ 型张量
- 线性算子在选定同构后可以看成 $(1,1)$ 型张量
这时张量不是一个神秘的新物种,而是把很多熟悉对象统一到同一语言里。
为什么教材里总是出现一堆坐标?
因为一旦选定一组基,任何张量都可以被写成分量。
比如一个 $(0,2)$ 型张量 $T$,在基 $e_1,\dots,e_n$ 下,会对应一组数 \(T_{ij} = T(e_i, e_j)\) 看起来就像一个矩阵。
但这里最容易产生误解的地方是:
张量不是那堆数本身,而是“那堆数背后所代表的几何或代数对象”。
换一组基,分量会变;对象本身不变。
这和向量很像:向量不是坐标列,坐标列只是向量在某组基下的表示。
所以如果只盯着数组,很容易以为张量不过是“高维矩阵”。
这说法不完全错,但太表面了,因为它看不到坐标变化下的不变内容。
张量积到底在干什么
另一个让人困惑的符号是 \otimes。
如果 $v \in V$,$\alpha \in V^*$,那么 \(v \otimes \alpha\) 可以看成一个 $(1,1)$ 型张量。它作用在一个向量 $w$ 上时,可以理解成: \((v \otimes \alpha)(w) = \alpha(w) v\)
也就是说,先用 $\alpha$ 从 $w$ 身上取出一个标量,再把这个标量乘到 $v$ 上。
张量积的意义在于:
它提供了一种把简单张量拼起来的方法,而一般张量可以由简单张量线性组合得到。
所以 $\otimes$ 不是单纯“把两个东西写在一起”,而是在构造新的多重线性对象。
为什么物理和几何里张量这么重要
因为很多真正关心的量,不应该依赖你怎么选坐标。
例如:
- 度量张量告诉你长度和角度怎么计算
- 曲率张量描述空间怎样弯曲
- 应力张量描述材料内部不同方向上的受力
- 电磁场也可以用张量语言统一表达
这些对象在不同坐标系里分量会变,但它们表达的关系本身不该变。
张量语言正是为了把“形式会变,但内容不变”的东西抓出来。
所以张量到底该怎么理解
如果只想抓住核心,我会这样记:
- 张量首先是一个多重线性对象。
- 坐标表示只是它在某组基下的外观,不是本体。
- 张量之所以重要,是因为它能自然描述与坐标选择无关的结构。
进一步说,张量是线性代数把“向量”和“线性映射”继续往前推广后得到的统一语言。
一旦把这个角度想通,很多看似不同的对象就会开始连起来。
张量不神秘。
真正让它显得神秘的,往往是过早进入坐标计算,而没有先把“它是一个怎样的映射”想清楚。