广义函数
首先,我们来理解为什么需要“广义函数”这个概念。在经典数学分析中,一个函数通常被理解为一种规则,它为每个自变量(例如实数x)分配一个因变量(函数值f(x))。然而,这种点对点的定义方式在处理某些问题时显得力不从心,例如描述点电荷的电荷密度,或者对不连续函数进行微积分运算。
为了克服这些困难,数学家们发展出了广义函数理论。其核心思想是:我们不直接定义函数本身在每一点的值,而是通过它如何作用于另一类“性质良好”的测试函数来间接地定义它。
第一步:测试函数空间
为了定义广义函数,我们需要先引入“测试函数”的概念。测试函数是一类性质极其良好的函数,它们通常是无限次可微的(即光滑函数),并且在其定义域之外迅速衰减为零(即具有紧支集)。
我们考虑定义在 \(\mathbb{R}^n\) 上的函数。一个函数 \(\phi\) 的支集是指使得 \(\phi(x) \neq 0\) 的点 \(x\) 的集合的闭包。如果这个支集是 \(\mathbb{R}^n\) 中的一个有界闭集(即紧集),那么我们称 \(\phi\) 是具有紧支集的函数。
所有定义在 \(\mathbb{R}^n\) 上、无限次可微且具有紧支集的函数,构成了一个向量空间,记为 \(C_c^{\infty}(\mathbb{R}^n)\) 或 \(\mathcal{D}(\mathbb{R}^n)\)。这个空间就是我们的测试函数空间。空间 \(\mathcal{D}(\mathbb{R}^n)\) 中的元素 \(\phi\) 就称为测试函数。
第二步:广义函数的定义——连续线性泛函
现在,我们可以给出广义函数的精确定义。一个广义函数 \(T\) 是定义在测试函数空间 \(\mathcal{D}(\mathbb{R}^n)\) 上的一个连续线性泛函。
让我们来拆解这个定义:
- 线性:对于任意两个测试函数 \(\phi, \psi \in \mathcal{D}\) 和任意标量 \(\alpha, \beta\),有 \(T(\alpha\phi + \beta\psi) = \alpha T(\phi) + \beta T(\psi)\)。
- 连续性:这个连续性不是关于点的,而是关于函数序列的。具体来说,如果有一列测试函数 \(\{\phi_k\}\) 满足:存在一个公共的紧集,包含所有 \(\phi_k\) 的支集,并且 \(\phi_k\) 及其各阶导数在 \(\mathbb{R}^n\) 上一致收敛于0,那么我们要求 \(T(\phi_k) \to 0\)(作为实数序列)。
我们将所有这样的连续线性泛函构成的集合称为广义函数空间,记为 \(\mathcal{D}’(\mathbb{R}^n)\)。它是一个对偶空间(即 \(\mathcal{D}\) 的连续对偶空间)。
第三步:常规函数作为广义函数(正则广义函数)
你可能会问,这和我们熟悉的函数有什么关系?一个重要的事实是,许多我们熟悉的局部可积函数(即其绝对值在任意紧集上可积的函数)都可以被看作是广义函数。
设 \(f\) 是一个局部可积函数。我们可以通过以下方式将它对应到一个广义函数 \(T_f\) 上:
\[T_f(\phi) = \int_{\mathbb{R}^n} f(x) \phi(x) dx, \quad \forall \phi \in \mathcal{D}(\mathbb{R}^n) \]
容易验证,\(T_f\) 是线性的。并且,由于 \(\phi\) 具有紧支集且性质良好,这个积分是良定义的。同时,它也具有我们要求的连续性。
在这种情况下,我们通常就不严格区分函数 \(f\) 和它对应的广义函数 \(T_f\),并说 \(f\) 本身是一个(正则)广义函数。通过这种对应,广义函数空间 \(\mathcal{D}’\) 就包含了所有局部可积函数,是一个非常大的扩展。
第四步:真正的“广义”函数——狄拉克δ函数
广义函数理论的威力在于,它包含了那些在经典意义下不是函数的对象。最著名的例子就是狄拉克δ函数。
在物理学和工程学中,狄拉克δ函数 \(\delta(x)\) 被非正式地定义为在 \(x=0\) 处为无穷大,在其他地方为零,并且全域积分为1的函数。但严格来说,这样的函数在经典分析中是不存在的。
在广义函数的框架下,狄拉克δ函数被明确定义为一个泛函 \(\delta: \mathcal{D} \to \mathbb{R}\):
\[\delta(\phi) = \phi(0) \]
也就是说,狄拉克δ函数作用于一个测试函数 \(\phi\) 的结果,就是该函数在原点 \(x=0\) 处的函数值。很容易验证,这个映射是线性的和连续的。因此,\(\delta\) 是一个完全合法的广义函数,但它不对应任何局部可积函数。它就是我们所说的奇异广义函数(非正则广义函数)。
类似地,我们可以定义 \(\delta\) 的平移 \(\delta_a(\phi) = \phi(a)\)。
第五步:广义函数的运算
广义函数的一个巨大优势是,我们可以对它进行各种在经典函数论中可能无法进行的运算,并且这些运算总是光滑的。最重要的运算之一是求导。
对于经典的光滑函数,我们可以定义其导数。对于广义函数,我们通过一种巧妙的方式来定义导数,使得当我们把它作用在正则广义函数(即光滑函数)上时,与经典导数一致。
广义函数 \(T\) 的偏导数 \(\frac{\partial T}{\partial x_i}\) 定义为另一个广义函数,它作用于测试函数 \(\phi\) 的规则如下:
\[\left(\frac{\partial T}{\partial x_i}\right)(\phi) = - T\left(\frac{\partial \phi}{\partial x_i}\right) \]
注意,等式右边出现了负号。这个定义来源于分部积分公式。如果 \(T\) 对应一个光滑函数 \(f\),那么根据经典分析的分部积分公式(并且由于 \(\phi\) 具有紧支集,边界项为零)有:
\[\int \frac{\partial f}{\partial x_i} \phi dx = - \int f \frac{\partial \phi}{\partial x_i} dx \]
我们的定义正是模仿了这一点。这个定义的巨大优势在于:
- 测试函数 \(\phi\) 是无限次可微的,所以 \(\frac{\partial \phi}{\partial x_i}\) 仍然是测试函数,运算总是可以进行。
- 任何一个广义函数都是无限次可微的。这在经典分析中是不可思议的,例如一个不可微的函数,作为广义函数却有着任意阶的光滑导数。
除了求导,我们还可以定义广义函数的乘法(乘以一个光滑函数)、平移、傅里叶变换等运算,使得广义函数成为数学和物理学中一个极其强大的工具。