跳转到内容
← 返回定理
分析基础约 15 分钟阅读

介值定理:连续曲线必穿过中间的高度

Intermediate Value Theorem

bolzano · 1817
介值定理连续性完备性二分法存在性

把一根温度计从冰水里拿到沸水上。读数从接近 0 变到接近 100。中间会不会跳过 37?日常经验说不会。介值定理把这句经验收成一条分析命题:闭区间上的连续函数,必取到两端值之间的每一个中间值。

1817 年,伯恩哈德·波尔查诺给出了今天还能认出来的证明骨架。对象不是“图象看起来连着”,而是:连续加上实数完备,强制存在性。没有完备性,连续函数可以在有理数上永远不碰到 2\sqrt{2}。

破除误解:这不是“画得出来就取得到”

第一个误解,是把介值当成作图定理。图象不断开,只是启发式。严格定义是:对每个 ε>0\varepsilon>0,存在 δ>0\delta>0,输入差小于 δ\delta 时输出差小于 ε\varepsilon。定理用的是这句,不是铅笔有没有离开纸。

第二个误解,是把它和达布定理混在一起。导数即使不连续,也具有介值性质。那是达布定理,假设更弱、结论更窄。介值定理要求函数本身连续。把两者收成“凡变化必取中间值”,会把不连续的阶跃函数也包括进来。单位阶跃在 0 两侧取值 0 和 1,中间的 $1/2$ 可以永远不出现。

第三个误解,是以为定理给出了那个点。它是存在性命题。证明常常用区间套或上确界,并不构造出可写成根式的 $c$。数值上用二分法逼近,停机条件是区间宽度,不是“函数值已经等于零”。浮点世界里,恰好等于零这一步不再保证成立。

定理到底断言什么

设 $f$ 在闭区间 $[a,b]$ 上连续,$k$ 介于 $f(a)$ 与 $f(b)$ 之间(含端点)。则存在 c∈[a,b]c\in[a,b] 使得 $f(c)=k$。若 $k$ 等于端点值,可取 $c=a$ 或 $c=b$。有趣的是严格中间的情形。

标准约化是考虑 $g(x)=f(x)-k$,于是变成:连续函数在两端异号时必有根。波尔查诺的策略是:看集合 $S=\{x\in[a,b]:g\text{ 在 }[a,x]\text{ 上非正}\}$。$S$ 非空有上界,取 c=sup⁡Sc=\sup S。连续性把 $g(c)=0$ 逼出来:若 $g(c)>0$,附近全正,上确界还能左移;若 $g(c)<0$,附近全负,上确界还能右移。两边都不许,只剩零。

这里用到的不是“连续很平滑”,而是实数的上确界性质。有理数作为有序域不完备。函数 f(x)=x2−2f(x)=x^2-2 在有理数上连续,从负变到正,却没有任何有理根。介值在 Q\mathbb{Q} 上失败,不是连续失败,是数系失败。把定理写成“连续所以取得到”,漏掉了完备性这根梁。

区间必须是闭的、连通的。开区间上的连续函数不必取到端点附近的值,因为端点根本不在定义域里。定义在 [0,1]∪[2,3][0,1]\cup[2,3] 上的函数可以在第一段取 0、第二段取 1,中间的 $1/2$ 不出现——定义域已经不连通。拓扑语言把同一句话写得更干净:连续映射把连通集送到连通集;R\mathbb{R} 里的连通集正是区间。介值是这句话在实直线上的翻译。

二分法怎样把存在变成算法

存在性证明几乎立刻给出一种搜索。若 $g(a)<0<g(b)$,看中点。中点为零则停;为负则根在右半;为正则根在左半。每一步区间长度减半。$n$ 步之后宽度是 (b−a)/2n(b-a)/2^n。这就是二分求根。

它依赖介值,也依赖你能比较符号。若函数在区间里抖过零许多次,二分仍然只保证找到某一个根,不保证找到全部,也不保证找到“最左边那个”。教材例题爱用单调函数,是为了把唯一性另买一张票。介值本身不卖唯一性。

计算机上的二分必须改写停机条件。比较的是浮点值,不是实数。函数值可能跳过零,区间却已经窄到机器精度。正确的终止是宽度足够小,或函数值足够接近零且两端仍异号。把“等于零”写成停机,是把实数定理直接粘到 IEEE 754 上。二分查找 在有序数组里找键,靠的是单调性;二分求根靠的是介值。两者都在砍区间,比较的对象不同。

牛顿法收敛更快,但局部。它要用导数,还要初值够近。介值加二分慢,却全局:只要两端异号且连续,就能开始。教材把它们排在一起,不是因为一个淘汰另一个,而是因为存在性与效率是两笔账。

它在微积分里干什么

介值是后面许多定理的前置,不是装饰。闭区间上连续函数必有最大最小值,常用介值或同样的上确界语言。若连续函数在 $[a,b]$ 上从负变到正,根的存在让你能讨论因式、讨论变号。

微积分基本定理 需要原函数。介值不直接给出原函数,但它保证:若导函数连续,差商作为连续函数会取到导数的中间值,这与中值定理是一条河的两岸。中值定理另需可导。介值只要求连续。教学顺序把介值放在前,是因为假设更弱,也因为二分法在还没有导数的时候就能用。

方程 $f(x)=x$ 在连续自映射 [0,1]→[0,1][0,1]\to[0,1] 上必有不动点。证明看 $g(x)=f(x)-x$ 两端异号或为零。这是布劳威尔在一维的影子。高维不能再用介值这句话,需要完全不同的拓扑。把一维不动点说成“介值所以一切映射都有不动点”,会在二维立刻翻车。

物理里的平衡也常被随口调用介值。温度连续分布时,两点之间的等温线是否存在,还要看定义域是否连通、场是否真连续。把介值当成“凡过程必经过中间态”,会把相变的不连续也包括进来。沸点附近,温度计读数仍连续,物态却可以跳。连续的是那条读数曲线,不是“所有描述状态的量”。

波尔查诺要解决的是什么危机

十九世纪初,分析还大量依赖几何直觉和无穷小神话。波尔查诺要的是不画图也能写的证明。1817 年的论文标题就标明:纯分析的证明。他同时给了连续性定义和介值。柯西 1821 年的《分析教程》把同类语言系统化。魏尔斯特拉斯后来用 ε\varepsilon-δ\delta 把句法钉死。

波尔查诺的历史位置容易被写成“比柯西更早”。更有用的读法是:他把存在性从图像里抢救出来,交给完备性。没有这一步,极限、连续、积分都会停在“看起来如此”。看起来如此的函数,包括那些处处连续却无处可导的例子,那些例子要等到更晚才出现。介值用不到那么病态的例子。它只要求你承认:连续加上实直线,中间值不是可选的。

反例课也要上。函数在有理点取 0、无理点取 1,处处不连续,当然没有介值。托马函数更细。这些反例不是为了羞辱直觉,而是标明定理的假设哪一条都不能删。删掉闭区间、删掉连续、删掉完备,各死一次。

争议与边界

教学争议的第一线,是要不要在介值课上引入完备性公理。有的课只用“连续图象不断开”混过去,把完备性留到实数构造。代价是学生无法理解为何有理函数会失败。有的课一上来就上确界,代价是微积分 I 的负担前移。两条路都要在某处把账补上。不补的话,介值会变成一句正确的口号。

第二线是构造性。经典证明用上确界或排中律切开区间。直觉主义分析里,介值需要额外条件,例如不能无限抖过零。这不是教室里必须展开的哲学,但它解释了为何数值分析从不声称“已经拿到那个 $c$”,而只声称“已经把 $c$ 关进足够小的区间”。

第三线是多维。向量值连续函数没有直接的介值。从 $(0,0)$ 走到 $(1,1)$ 的连续路径可以绕开 $(1/2,0)$。介值是一维连通性的特产。需要中间值时,应对标量函数或对某个坐标函数用一维定理,而不是对整条向量曲线喊介值。

把介值写成“连续等于可画”,会在后续的一致连续、一致收敛课上报复。可画的图象太粗。定理保存的是:输入可控则输出可控,再加一条连通的实直线。两条合在一起,中间的高度无法被跳过。跳过发生时,不是自然界打了折,而是那条函数并不连续,或你根本不在实数上工作。

深一层:完备性、误差与不该用介值的地方

介值课最容易被删掉的半句,是“我们在实数上工作”。实数的完备性可以写成柯西列收敛,也可以写成有上界的非空集合必有上确界。波尔查诺用的是后者。少了这一句,证明里的 c=sup⁡Sc=\sup S 没有着落。有理数上每个有上界的集合仍可有有理上界,却仍缺 2\sqrt{2}。函数在有理点连续,不能强迫它在缺失的那个实根处取值。学生若只记住“连着就能取到”,会把数系当成透明的背景。背景并不透明。换数系,定理可以死。

误差分析把同一句话翻译成停机。设区间长度为 $L$,二分 $n$ 次后宽度 L/2nL/2^n。若只要根的绝对误差小于 ε\varepsilon,需要 n>log⁡2(L/ε)n>\log_2(L/\varepsilon)。这与函数有多陡无关。陡度影响的是函数值离零有多近,不是 $x$ 落在多窄的区间。把“函数值已经很小”当成“根已经找到”,会在平坦函数上提前停机,在陡函数上又舍不得停。介值保证的是符号变化这一侧;精度是另一侧。两侧都要写进算法说明。

不该用介值的地方同样具体。周期函数在一个周期里可以多次过零,介值只保证至少一次。反函数存在需要严格单调,介值不提供。隐函数定理需要导数非零,介值也不提供。经济学里有时把超额需求连续且两端异号写成均衡存在,那是在一维价格上借用介值;高维商品空间要用布劳威尔或角谷。借用必须声明维数。声明维数,不是为了吓退微积分学生,而是避免把一维门票当成所有市场的通行证。

导数 出现之后,拉格朗日中值定理会给出“某点切线平行于弦”。那条定理要可导。介值不要可导。顺序上,先有连续与介值,再有导数与中值,再有泰勒。把中值提前教成“介值的加强版”,会把假设搞混。加强的不是结论的中间值,而是结论里出现了导数。两个中间,两个对象。

一致连续在闭区间上由连续自动得出,海涅–康托尔。介值用不到一致连续。它用得到的是点点连续加上连通。开区间上连续函数可以不是一致连续,介值对闭区间的表述也不适用。边界条件不是装饰。删掉闭区间,端点的函数值可能根本不存在,中间值的“中间”就没有两端。

计算机代数系统可以给出某些多项式的根式。介值不竞争这件事。它对超越方程、对只知道符号的黑盒函数,仍然是入场券。入场券的价格是慢。牛顿法、割线法、布伦特法,都在介值保证的括号里加速。括号先在,加速才合法。没有括号,加速是赌博。

教材例题爱用 x3−x−1=0x^3-x-1=0 或 cos⁡x=x\cos x=x。它们的教学价值不在方程本身,而在逼你先检查连续与异号,再谈算法。不检查就开牛顿迭代,可能收敛到你没问的根。检查过再开,介值已经把根关进括号。括号是对象。根的十位小数是括号里的工艺。工艺可以换,对象不能换。换对象,例如改成不连续的符号函数,括号里可以是空的。空的时候算法不该假装仍有根。假装有根,是把定理的假设当成已经自动满足。假设从来不会自动满足,必须被写在第一步。

连续函数在闭区间上必取最大最小值,常常被称作最值定理。它与介值是一对:一个管高度方向上没有缺口,一个管水平方向上最大值被取到。证明技术相近,都要上确界或紧性。教学上把它们拆成两天,是为了让存在性出现两次。出现两次不是重复,而是训练:连续把图象关进一个足够好的集合里,好到中间值和端点值都不能逃。逃发生时,先查定义域是不是闭区间,再查函数是不是连续。两查都过,存在性才开口。开口之后,算法才有括号可砍。

跨域连接

  • 连续性:介值把点上的 ε\varepsilon-δ\delta 承诺连成区间上的取值。局部控制若不能推出中间高度存在,连续就还只是每一点各自的稳定性,不是一条不能跳号的曲线。定理是那张连票,连票依赖完备性,不依赖“能一笔画”。
  • 二分查找:有序数组比较的是键的大小;求根二分比较的是函数符号。两者都在砍区间。浮点求根不能把“等于零”当停机,必须改成宽度或残差。这一改写,正是介值从实数搬到机器时不能省略的一步,也标明离散世界不再保证恰好取到中间值。
  • 牛顿法:局部二次收敛要导数,还要初值落在吸引盆。全局起步常常仍要两端异号这张介值入场券。没有入场券,迭代可以跳到远处的根,或发散。存在与效率在这里分工:介值负责“有”,牛顿负责“快”,两者互相冒充都会在例题里翻车。
  • 微积分基本定理:变上限积分需要被积函数足够规则,积出来的对象仍然连续。介值保证连续函数的值域还是区间,累积过程不会在值域上突然缺一块。缺一块的函数可以积分,但那已经不是“从这一端连续走到那一端”的教材图景。
  • 拓扑学:连续映射保持连通。介值是实直线上连通集等于区间这句话的推论。换到圆、曲面或离散空间,中间值要重新定义,不能把闭区间定理原样粘贴。粘贴失败不是拓扑在刁难微积分,而是对象已经换了。

参考文献

  1. Bolzano, Bernard. Rein analytischer Beweis des Lehrsatzes, dass zwischen je zwey Werthen, die ein entgegengesetztes Resultat gewähren, wenigstens eine reelle Wurzel der Gleichung liege. Prague, 1817.
  2. Cauchy, Augustin-Louis. Cours d'analyse de l'École Royale Polytechnique. Paris: Imprimerie Royale, 1821.
  3. Rudin, Walter. Principles of Mathematical Analysis. 3rd ed. New York: McGraw-Hill, 1976. 第 4 章对连续与介值的标准陈述。
  4. Abbott, Stephen. Understanding Analysis. 2nd ed. New York: Springer, 2015.

延伸阅读

  • Spivak, Michael. Calculus. 4th ed. Houston: Publish or Perish, 2008. 把介值写成分析入门的存在性训练。
  • Corry, Leo. A Brief History of Numbers. Oxford University Press, 2015. 完备性进入分析的历史线索。