Skip to content

张量积完备性#

目标:解释并证明下面这件事:

\[ F(x,y)\approx \sum_{k=1}^N X_k(x)Y_k(y), \]

而且当 \(N\to\infty\) 时,可以在平方平均意义下逼近任意平方可积函数 \(F(x,y)\)

这件事本身还不需要薛定谔方程。它首先是二维函数空间本身的结构。


1. 从一个很朴素的问题开始#

考虑一个矩形区域

\[ \Omega=[a,b]\times[c,d]. \]

我们研究复值函数

\[ F(x,y),\qquad (x,y)\in\Omega. \]

只要求它是平方可积的:

\[ \int_a^b\int_c^d |F(x,y)|^2\,dy\,dx<\infty. \]

把这类函数记作

\[ L^2(\Omega). \]

这里暂时不谈 Hilbert 空间、张量积、算子谱理论。先问一个具体的问题:

任意这样的二维函数,是否都可以用很多个形如

\[ X(x)Y(y) \]

的函数叠加来逼近?

答案是:可以。

更准确地说,对任意 \(F\in L^2(\Omega)\) 和任意 \(\varepsilon>0\),总能找到有限多个一维函数 \(X_k(x)\)\(Y_k(y)\),使得

\[ \left\|F-\sum_{k=1}^N X_kY_k\right\|_2<\varepsilon, \]

其中

\[ \|G\|_2^2 = \int_a^b\int_c^d |G(x,y)|^2\,dy\,dx. \]

这就是我们所说的:

\[ \boxed{ \text{有限个 }X_k(x)Y_k(y)\text{ 的线性组合在 }L^2(\Omega)\text{ 中稠密。} } \]

2. “稠密”到底是什么意思?#

“稠密”不意味着每一个二维函数都严格等于有限个乘积函数之和。

它的意思是:可以无限逼近。

也就是说,可以构造

\[ F_N(x,y)=\sum_{k=1}^{N}X_k(x)Y_k(y), \]

使得

\[ \|F-F_N\|_2\longrightarrow 0. \]

这里的收敛不是要求每一点都有

\[ F_N(x,y)\to F(x,y), \]

而是要求整体的平方误差趋于零:

\[ \int\!\!\int |F-F_N|^2\to0. \]

这正是量子力学中最自然的函数收敛方式之一。


3. 一个乘积函数远远不够#

所谓“分离变量”的函数是

\[ F(x,y)=X(x)Y(y). \]

这是很特殊的一类二维函数。

例如

\[ F(x,y)=x+y \]

一般不能写成一个单独的 \(X(x)Y(y)\),但可以写成两个乘积函数之和:

\[ x+y=x\cdot 1+1\cdot y. \]

再例如

\[ e^{xy} \]

通常不能写成有限个乘积函数之和,但它有展开

\[ e^{xy} = \sum_{n=0}^{\infty}\frac{x^n y^n}{n!}. \]

每一项

\[ \frac{x^n y^n}{n!} \]

都是一个 \(x\) 的函数乘以一个 \(y\) 的函数。

所以真正重要的并不是

\[ F=X(x)Y(y), \]

而是

\[ \boxed{ F(x,y)=\text{许多分离变量函数的叠加}. } \]

4. 最直观的证明:先把二维函数切成很多小矩形#

下面给出一个尽量不依赖抽象泛函分析的证明。

证明分两步。


4.1 第一步:连续函数可以被“小矩形阶梯函数”逼近#

先假设 \(F(x,y)\) 在闭矩形 \(\Omega\) 上连续。

\(x\) 区间切成很多小段:

\[ [a,b]=I_1\cup I_2\cup\cdots\cup I_M, \]

\(y\) 区间也切成很多小段:

\[ [c,d]=J_1\cup J_2\cup\cdots\cup J_N. \]

于是整个二维区域被切成很多小矩形

\[ I_i\times J_j. \]

在每一个小矩形中选一个点

\[ (x_i,y_j), \]

并用常数

\[ F(x_i,y_j) \]

代替这个小矩形中的原函数。

于是得到一个二维阶梯函数

\[ S(x,y) = \sum_{i=1}^{M}\sum_{j=1}^{N} F(x_i,y_j) \,\mathbf 1_{I_i}(x) \,\mathbf 1_{J_j}(y). \]

这里 \(\mathbf 1_I\) 表示区间 \(I\) 的示性函数:

\[ \mathbf 1_I(x)= \begin{cases} 1,&x\in I,\\ 0,&x\notin I. \end{cases} \]

注意最关键的一点:

\[ \mathbf 1_{I_i\times J_j}(x,y) = \mathbf 1_{I_i}(x)\mathbf 1_{J_j}(y). \]

所以每一个小矩形对应的阶梯函数,本身就是一个乘积函数。

因此

\[ S(x,y) = \sum_{i,j} \underbrace{F(x_i,y_j)\mathbf 1_{I_i}(x)}_{X_{ij}(x)} \underbrace{\mathbf 1_{J_j}(y)}_{Y_{ij}(y)}. \]

也就是说:

\[ \boxed{ \text{任何矩形网格上的阶梯函数,都是有限个 }X(x)Y(y)\text{ 的线性组合。} } \]

4.2 为什么这样的阶梯函数能逼近连续函数?#

因为闭矩形上的连续函数是一致连续的。

也就是说,对任意 \(\delta>0\),只要两个点足够接近,就有

\[ |F(x,y)-F(x',y')|<\delta. \]

因此,只要把网格切得足够细,在同一个小矩形中,\(F\) 的变化就可以任意小。

于是可以做到

\[ |F(x,y)-S(x,y)|<\delta \]

在整个矩形上都成立。

那么

\[ \begin{aligned} \|F-S\|_2^2 &= \int_\Omega |F-S|^2\\ &\le \delta^2\,|\Omega|, \end{aligned} \]

其中 \(|\Omega|\) 是矩形的面积。

所以网格足够细时,

\[ \|F-S\|_2 \]

可以任意小。

因此:

\[ \boxed{ \text{连续函数可以被有限个 }X(x)Y(y)\text{ 的和在 }L^2\text{ 意义下任意逼近。} } \]

5. 第二步:从连续函数推广到所有平方可积函数#

现在回到一般的

\[ F\in L^2(\Omega). \]

这里用到一个标准结果:

在有限矩形区域上,连续函数在 \(L^2\) 中稠密。

也就是说,对任意 \(F\in L^2(\Omega)\) 和任意 \(\varepsilon>0\),都可以找到连续函数 \(G(x,y)\),使得

\[ \|F-G\|_2<\frac{\varepsilon}{2}. \]

而根据上一节,又可以找到一个有限乘积和

\[ S(x,y)=\sum_{k=1}^KX_k(x)Y_k(y) \]

使得

\[ \|G-S\|_2<\frac{\varepsilon}{2}. \]

于是由三角不等式

\[ \begin{aligned} \|F-S\|_2 &\le \|F-G\|_2+\|G-S\|_2\\ &<\varepsilon. \end{aligned} \]

因此最终得到

\[ \boxed{ \overline{\left\{ \sum_{k=1}^{N}X_k(x)Y_k(y) \right\}} =L^2(\Omega_x\times\Omega_y). } \]

上面的横线表示:把所有这种有限和,再把它们的所有 \(L^2\) 极限也包含进来。

这就是我们需要的稠密性。


6. 到这里,其实还完全没有用薛定谔方程#

这一点非常重要。

上面的证明只用了:

  1. 二维区域可以切成小矩形;
  2. 小矩形的示性函数可以拆成
    [
    \mathbf 1_I(x)\mathbf 1_J(y);
    ]
  3. 连续函数可以用细网格上的阶梯函数逼近;
  4. 平方可积函数可以用连续函数逼近。

所以

\[ F(x,y)\approx\sum_kX_k(x)Y_k(y) \]

首先不是薛定谔方程带来的,而是二维函数空间本身的结构。


7. 现在再给它一个名字:张量积#

前面我们刻意没有引入抽象定义。

现在可以回头看。

\[ L^2(\Omega_x) \]

表示所有关于 \(x\) 的平方可积函数,

\[ L^2(\Omega_y) \]

表示所有关于 \(y\) 的平方可积函数。

一个最简单的二维函数是

\[ X(x)Y(y). \]

抽象地把它记作

\[ X\otimes Y. \]

所有有限和

\[ \sum_{k=1}^N X_k\otimes Y_k \]

组成所谓的代数张量积:

\[ L^2(\Omega_x)\otimes_{\mathrm{alg}}L^2(\Omega_y). \]

但是它还没有包含那些只有取无限极限才能得到的函数。

把这个空间按照 \(L^2\) 距离补全,就得到完整的二维平方可积函数空间:

\[ \boxed{ L^2(\Omega_x\times\Omega_y) \cong L^2(\Omega_x)\,\widehat\otimes\,L^2(\Omega_y). } \]

这里 \(\widehat\otimes\) 表示“完成后的张量积”。

所以这条公式并不是一句神秘的抽象定义,它实际表达的就是:

\[ \boxed{ \text{任意二维平方可积函数,都可以被有限个 }X_k(x)Y_k(y)\text{ 的和任意逼近。} } \]

8. 一个非常值得区分的概念:一个乘积 vs. 乘积的叠加#

一定要区分下面三层:

第一层:单个可分离函数#

\[ F(x,y)=X(x)Y(y). \]

这是非常特殊的函数。

第二层:有限个可分离函数的叠加#

\[ F_N(x,y)=\sum_{k=1}^N X_k(x)Y_k(y). \]

这已经丰富得多。

第三层:这些有限和的极限#

\[ F=\lim_{N\to\infty}F_N. \]

这一层才得到完整的 \(L^2(\Omega_x\times\Omega_y)\)

所以“二维空间等于两个一维空间的张量积”绝不是说:

每一个二维函数都能写成一个 \(X(x)Y(y)\)

真正的意思是:

每一个二维平方可积函数都可以由这种简单乘积的线性组合和极限构造出来。


9. 如果一维已经有一组完备基,会发生什么?#

现在稍微往前走一步。

假设关于 \(x\) 的函数有一组完备正交基

\[ \{u_n(x)\}_{n=1}^{\infty}, \]

而关于 \(y\) 的函数也有一组完备正交基

\[ \{v_m(y)\}_{m=1}^{\infty}. \]

那么所有乘积

\[ u_n(x)v_m(y) \]

会组成二维空间的一组完备正交基。

因此任意二维平方可积函数都可以展开为

\[ \boxed{ F(x,y) = \sum_{n,m}c_{nm}u_n(x)v_m(y) } \]

其中

\[ c_{nm} = \int dx\,dy\; u_n^*(x)v_m^*(y)F(x,y). \]

这正是我们熟悉的 Fourier 展开、二维箱中粒子展开以及各种耦合道展开背后的共同结构。


10. 为什么一维基完备,会推出二维乘积基完备?#

这个结论可以很直观地理解。

先对 \(x\) 展开。

对每一个固定的 \(y\),把 \(F(x,y)\) 看成 \(x\) 的函数:

\[ F(x,y)=\sum_n a_n(y)u_n(x). \]

这里

\[ a_n(y)=\int dx\,u_n^*(x)F(x,y). \]

而每一个 \(a_n(y)\) 又是关于 \(y\) 的函数,因此可以继续展开:

\[ a_n(y)=\sum_m c_{nm}v_m(y). \]

代回去:

\[ F(x,y) = \sum_n\sum_m c_{nm}u_n(x)v_m(y). \]

于是二维展开自然出现。

更严格的版本需要处理求和、积分和“几乎处处”的细节,但核心结构就是这么简单。


11. 到这里再引入 Hilbert 空间#

现在我们已经做了大量工作,再引入术语就不会显得突兀。

平方可积函数空间

\[ L^2(\Omega) \]

带有内积

\[ \langle f,g\rangle = \int_\Omega f^*(x)g(x)\,dx \]

并且关于由它产生的距离

\[ \|f-g\|_2 \]

是完备的。

这样的空间称为 Hilbert 空间。

现在可以说明,为什么两个一维 \(L^2\) 空间“组合”起来,得到的恰好是二维区域上的 \(L^2\)

这要从最底层的集合说起。两个独立的区域 \(\Omega_x\)\(\Omega_y\),作为集合组合的方式就是笛卡尔积

\[ \Omega_x\times\Omega_y = \{(x,y)\mid x\in\Omega_x,\ y\in\Omega_y\}, \]

意思就是两个自由度同时各取一个值。

\(L^2(\Omega_x)\) 中的函数只依赖 \(x\)\(L^2(\Omega_y)\) 中的函数只依赖 \(y\)。把这两个空间做张量积,最基本的元素是

\[ X\otimes Y,\qquad X\in L^2(\Omega_x),\ Y\in L^2(\Omega_y), \]

它作为二元函数的实现就是

\[ (X\otimes Y)(x,y)=X(x)Y(y). \]

也就是说,张量积恰好就是“把一个 \(x\)-函数和一个 \(y\)-函数相乘”这件事的抽象形式;它的有限线性组合,就是有限个 \(X_k(x)Y_k(y)\) 之和。

但只含有限和的代数张量积还不完备。前面证明的稠密性正好保证了:把这些有限和按 \(L^2\) 距离完备化之后,所得到的不只是一个子空间,而是整个二维平方可积函数空间。换句话说,映射

\[ X\otimes Y\longmapsto X(x)Y(y) \]

在完备化之后成为一个同构。

于是前面的结果可以用一句非常紧凑的话概括:

\[ \boxed{ L^2(\Omega_x\times\Omega_y) \cong L^2(\Omega_x)\widehat\otimes L^2(\Omega_y). } \]

而“有限乘积和稠密”恰好就是这个 Hilbert 张量积最核心的内容之一。


12. 这和分离变量法是什么关系?#

到现在为止,我们讨论的是函数空间,还没有讨论微分方程。

接下来假设一个二维算子恰好可以写成

\[ H = H_x\otimes I + I\otimes H_y. \]

如果

\[ H_xu_n=E_n^{(x)}u_n, \qquad H_yv_m=E_m^{(y)}v_m, \]

那么

\[ H(u_n\otimes v_m) = \bigl(E_n^{(x)}+E_m^{(y)}\bigr) (u_n\otimes v_m). \]

所以乘积函数

\[ u_n(x)v_m(y) \]

恰好又是二维算子的本征函数。

这时“张量积结构”和“算子的可分离结构”碰到了一起,所以分离变量法特别有效。

这里要记住一句非常重要的话:

\[ \boxed{ \text{乘积函数的稠密性来自函数空间;} \qquad \text{本征方程可分离来自算子的结构。} } \]

二者不是同一个命题。

即使算子不可分离,

\[ H\neq H_x\otimes I+I\otimes H_y, \]

乘积函数的线性组合仍然可以构成完备的展开空间;只是算子在这组基底上不再是对角的,而会把不同的乘积态耦合起来。


13. 一个二维量子力学的例子#

假设

\[ H = -\frac{\hbar^2}{2m} \left( \frac{\partial^2}{\partial x^2} + \frac{\partial^2}{\partial y^2} \right) +V_x(x)+V_y(y). \]

定义

\[ H_x = -\frac{\hbar^2}{2m}\frac{d^2}{dx^2}+V_x(x), \]
\[ H_y = -\frac{\hbar^2}{2m}\frac{d^2}{dy^2}+V_y(y). \]

那么

\[ H=H_x\otimes I+I\otimes H_y. \]

如果一维本征函数满足

\[ H_xu_n=E_n^{(x)}u_n, \qquad H_yv_m=E_m^{(y)}v_m, \]

那么二维本征函数为

\[ \Psi_{nm}(x,y)=u_n(x)v_m(y), \]

对应能量

\[ E_{nm}=E_n^{(x)}+E_m^{(y)}. \]

而一般波函数则是这些乘积态的叠加:

\[ \Psi(x,y) = \sum_{n,m}c_{nm}u_n(x)v_m(y). \]

这就是普通量子力学教材中“分离变量 + 线性叠加”背后的空间结构。


14. 同一个问题,换一组坐标,可分离性就变了#

前面第 13 节的例子里,算子天然就可分离。但要强调:那并不是物理本身决定的,而是坐标——等价地说,张量积分解的方式——选得合适。

下面用一个最常见的例子说明:同一个算子,在一种张量积分解下不可分离,换一种分解就可分离了。这也正是球谐函数作为基底出现的根本原因。


14.1 中心势场#

考虑三维空间中的一个粒子,处于中心势场中:

\[ H = -\frac{\hbar^2}{2m}\nabla^2+V(r), \]

其中

\[ r=\sqrt{x^2+y^2+z^2}. \]

势能 \(V(r)\) 只依赖于到原点的距离,具有完整的球对称性。

函数空间是

\[ L^2(\mathbb{R}^3). \]

它如何分解成更小空间的张量积,完全取决于我们选什么坐标。


14.2 在直角坐标下:不可分离#

先用直角坐标 \((x,y,z)\)。此时函数空间有最自然的张量积分解

\[ L^2(\mathbb{R}^3) \cong L^2(\mathbb{R}_x)\,\widehat\otimes\,L^2(\mathbb{R}_y)\,\widehat\otimes\,L^2(\mathbb{R}_z). \]

动能部分确实可以拆开:

\[ -\nabla^2 = -\frac{\partial^2}{\partial x^2} -\frac{\partial^2}{\partial y^2} -\frac{\partial^2}{\partial z^2}. \]

但是势能

\[ V\!\left(\sqrt{x^2+y^2+z^2}\right) \]

无法写成

\[ V_x(x)+V_y(y)+V_z(z) \]

的形式——三个坐标在势能里耦合在一起。

因此在直角坐标的张量积分解下,

\[ H \neq H_x\otimes I\otimes I +I\otimes H_y\otimes I +I\otimes I\otimes H_z. \]

算子不可分离。当然,我们仍然可以用直角乘积基 \(\psi_x(x)\psi_y(y)\psi_z(z)\) 展开任意波函数,因为张量积总是稠密的;但算子在这组基下不是对角的,分离变量法失效。


14.3 在球坐标下:可分离#

现在换成球坐标 \((r,\theta,\phi)\)

关键在于:函数空间还有另一种张量积分解——把“径向”和“角度”分开:

\[ L^2(\mathbb{R}^3) \cong L^2(\mathbb{R}_+,r^2dr)\,\widehat\otimes\,L^2(S^2), \]

其中 \(S^2\) 是单位球面,\(L^2(S^2)\) 是球面上所有平方可积函数构成的空间。

在这种分解下,拉普拉斯算子也自然地拆成径向部分和角部分:

\[ \nabla^2 = \underbrace{\frac{1}{r^2}\frac{\partial}{\partial r}\!\left(r^2\frac{\partial}{\partial r}\right)}_{\text{径向}} + \underbrace{\frac{1}{r^2}\nabla^2_{S^2}}_{\text{角向}}, \]

其中 \(\nabla^2_{S^2}\) 是只作用在 \((\theta,\phi)\) 上的球面拉普拉斯算子。

而势能 \(V(r)\) 只依赖径向变量,在角度上是常数。

于是在“径向 \(\otimes\) 角向”这种分解下,整个哈密顿量变成了可分离的结构——只是角部分需要先单独解出来。


14.4 角部分的本征基:球谐函数#

角向算子 \(\nabla^2_{S^2}\)(等价地,角动量平方算子 \(\hat L^2\))作用在二维球面 \(S^2\) 上。它有一组完备正交的本征函数,习惯上记作

\[ Y_{lm}(\theta,\phi), \qquad l=0,1,2,\dots,\quad m=-l,\dots,l. \]

这就是球谐函数。

这里我们不写它的具体表达式,只需要它作为 \(L^2(S^2)\) 的一组完备正交基这一事实:

\[ \boxed{ \{Y_{lm}\}\ \text{构成}\ L^2(S^2)\ \text{的一组完备正交基。} } \]

也就是说,球面上任意一个平方可积的角分布,都可以展开为

\[ f(\theta,\phi)=\sum_{l,m}a_{lm}Y_{lm}(\theta,\phi). \]

14.5 分离变量重新成立#

有了角向的完备基之后,中心势场的本征函数就可以写成径向函数和球谐函数的乘积:

\[ \Psi_{nlm}(r,\theta,\phi)=R_{nl}(r)\,Y_{lm}(\theta,\phi). \]

径向部分 \(R_{nl}(r)\) 满足一个一维的本征方程,其中量子数 \(l\) 作为参数进入径向方程(表现为离心势)。

一般波函数则是这些乘积态的叠加:

\[ \Psi(r,\theta,\phi) = \sum_{n,l,m}c_{nlm}\,R_{nl}(r)\,Y_{lm}(\theta,\phi). \]

这与第 13 节的形式完全一致,只是基底从“三个一维直角基的乘积”换成了“一个径向基与一组球谐函数的乘积”。


14.6 这个例子说明了什么#

把上面的对比压缩成一句话:

\[ \boxed{ \text{函数空间的张量积分解并不唯一;} \qquad \text{算子是否可分离,取决于分解是否匹配算子的对称性。} } \]

直角坐标的分解

\[ L^2(\mathbb{R}_x)\otimes L^2(\mathbb{R}_y)\otimes L^2(\mathbb{R}_z) \]

总是成立,任意波函数都能用它展开;但它和球对称势 \(V(r)\) 的结构不匹配,所以算子不可分离。

球坐标的分解

\[ L^2(\mathbb{R}_+,r^2dr)\otimes L^2(S^2) \]

同样总是成立;它恰好与球对称算子的结构匹配,所以算子可分离,而球谐函数正是其中“角度”那个因子的完备基。

所以球谐函数之所以重要,不在于张量积本身——张量积分解怎么选都行——而在于:

\[ \boxed{ \text{它恰好是让一大类重要算子(球对称算子)对角化的那个基底。} } \]

15. 再往前一步:为什么这和耦合道方法很像?#

假设坐标不是 \(x,y\),而是两个不同自由度

\[ \mathbf r,\\ \mathbf R. \]

那么同样有

\[ L^2(\mathbf r,\mathbf R) \cong L^2(\mathbf r)\widehat\otimes L^2(\mathbf R). \]

如果先在内部坐标 \(\mathbf r\) 上选择一组函数 \(\phi_n(\mathbf r)\),就可以写

\[ \Psi(\mathbf r,\mathbf R) = \sum_n \phi_n(\mathbf r)\chi_n(\mathbf R). \]

这里每一项仍然只是

\[ \phi_n(\mathbf r)\chi_n(\mathbf R), \]

也就是一个张量积。

如果 \(\{\phi_n\}\) 是完整的,那么这种展开原则上不丢失信息;如果只保留有限多个 \(n\),那就是对完整函数空间做了截断。

这正是很多耦合道、基底展开以及少体问题数值方法的共同数学原型。


16. 总结#

整个逻辑可以压缩成下面几步。

第一步:二维函数并不都能写成一个乘积#

\[ F(x,y)\neq X(x)Y(y) \]

通常才是正常情况。

第二步:但是有限个乘积函数的和非常丰富#

\[ F_N(x,y)=\sum_{k=1}^N X_k(x)Y_k(y). \]

第三步:这种有限和在二维 \(L^2\) 中稠密#

\[ \forall F\in L^2, \qquad \forall\varepsilon>0, \qquad \exists F_N: \|F-F_N\|_2<\varepsilon. \]

第四步:这件事被抽象地写成#

\[ \boxed{ L^2(\Omega_x\times\Omega_y) \cong L^2(\Omega_x)\widehat\otimes L^2(\Omega_y). } \]

第五步:如果算子本身又可以分解#

\[ H=H_x\otimes I+I\otimes H_y, \]

那么乘积基不仅能展开函数,而且还直接成为算子的本征基。

所以最值得记住的是:

张量积告诉我们“二维函数可以怎样由一维函数构造”;分离变量告诉我们“算子什么时候尊重这种构造”。


附注:本文到底用了哪些前置知识?#

正文刻意只依赖少量事实:

  • 一元、二元函数;
  • 积分和平方可积;
  • 连续函数在闭区间上是一致连续的;
  • 三角不等式;
  • 一个标准结果:连续函数在有限区域的 \(L^2\) 中稠密。

最后一个结果如果希望继续往下证明,就会自然进入测度论与 \(L^p\) 空间理论。

而如果希望进一步回答

为什么一维薛定谔算子的本征函数能够构成完整展开?

那么下一步就会进入:

\[ \text{Sturm--Liouville 理论} \longrightarrow \text{自伴算子} \longrightarrow \text{谱定理}. \]

这属于下一层问题,与本文证明的“张量积稠密性”应当区分开来。


Last update: 2026-08-01
Created: 2026-08-01