泛函(functional)
普通函数吃进一个数、吐出一个数:给它 x,它返回 f(x)。泛函则吃进一整个函数,吐出单独一个数。想象两座城镇之间所有可能的道路;给每条路赋一个值——它的长度、球沿它滚下所用的时间、或一根弯成那个形状的金属丝中储存的能量。这种赋值——每一整条曲线对应一个数——就是泛函。它是一台机器,输入不是一个点,而是一条路径。
本学科中大多数泛函都是积分。典型的一个是 J[y] = 从 a 到 b 对 L(x, y, y') dx 积分,其中被积函数 L(拉格朗日量,或称运行代价)依赖于位置 x、曲线的高度 y(x) 及其斜率 y'(x)。要计算 J,你必须先手握整条曲线 y(连同斜率),然后沿它把 L 全部累加起来。方括号 J[y] 是标准记号,提醒你它的自变量是一个函数而非一个数。从 a 到 b 对 sqrt(1 + y'^2) dx 积分的弧长,就是最简单的例子:它报告曲线 y 的长度。
泛函是变分法的核心对象,因为物理定律和工程中最优的设计几乎总是断言:某个泛函取得了尽可能小(或驻定)的值——最短时间、最小能量、最小作用量、最短路径、最小曲面面积。问哪个输入函数使泛函最小,是比普通优化大得多的搜索——未知量是一整条曲线,一个无穷维对象,而不是少数几个数。这正是这个领域需要自己一套微积分的全部原因。
弧长泛函 J[y] = 从 0 到 1 对 sqrt(1 + y'^2) dx 积分,对直线 y = x 给出值 sqrt(2) ≈ 1.414,对抛物线 y = x^2 给出略大的值(约 1.479)。同一公式,不同的输入曲线,不同的输出数值。
泛函吃进一整条曲线,返回一个数;这里是曲线的长度。
不要把泛函与复合函数或函数的取值混淆。泛函的自变量是一个在整个函数空间中变动的对象,正因如此,使其最小需要用变分而非普通导数。