每一步都缩一截,就一定停在一点
一个把任意两点的距离都缩到 k 倍以内的映射,从哪儿出发反复代入都会停在同一个点上——而且还没算,就知道要算多少步。
1920 年 6 月他交给利沃夫大学的博士论文,1922 年刊于《数学基础》第 3 卷第 133–181 页,题为《论抽象集合上的运算及其在积分方程上的应用》。第 160 页是定理 6:「若 U(X) 是 E 上的连续运算、值仍落在 E 里,并且有一个 0 < M < 1,使得对任意 X′、X″ 都有 ‖U(X′) − U(X″)‖ ≤ M‖X′ − X″‖,那么存在一个 X,使 X = U(X)。」证明不到一页:随便取一个起点,反复代入,相邻两项的距离一步至少缩到 M 倍,这些距离加起来是一个几何级数,所以这一列是柯西列;而他在第 135 页的公理 III 里规定了这样的列一定有极限(柯西那一页讲的就是这条判据),极限代回去正是不动点。原文只写了「存在」,唯一性与误差界都没写——两件都只差一行:两个不动点相距 d,就得 d ≤ M·d,只能 d = 0;把几何级数的尾巴加起来,第 n 步离不动点不超过 M 的 n 次方除以 (1 − M)、再乘第一步走的距离。首创权要分层:逐次代入求解的办法十九世纪就在用,一般认为刘维尔 1837 年、皮卡 1890 年先后拿它解微分方程;阿尔·卡西那一页算 sin 1° 时每轮误差乘 1/821,走的也是这条路。他做的是把它从具体的方程里抽出来,只留下「空间完备」与「每步缩一截」两个条件——紧接着的定理 7 就拿它解积分方程。演示用 f(x) = c + k·cos x,对任意两点都有 |f(x) − f(y)| ≤ k·|x − y|。默认 c = 1、k = 0.8、从 −2.5 出发:不动点 1.251283,误差界要到第 74 步才压到百万分之一以下,实际第 50 步就到了——因为不动点附近真正的缩小倍数是 k·|sin x*| = 0.7595(x* 是不动点),比 k 小。误差界是替最坏的情形说话的,它的用处在于:答案还没算出来,就知道该算多少步。
拨 k、c 与起点,看蛛网一圈圈收进不动点;右边是每一步离不动点多远,与误差界那条直线
从 −2.5 出发反复代入,停在 1.251283;换任何起点都停在这里。误差界说 74 步之内一定压到百万分之一,实际用了 50 步——界是替最坏的情形说话的,可它在动手之前就给得出来。
