零點存在定理雖然在高中課本上作為一個定理出現,但一直是最沒有人權的(或許這個稱號還有一個競爭對手,平面向量基本定理)。何哉?太過“顯然”瞭。很多同學第一次學這個定理的時候,估計都會內心OS:“就這?這麼明顯的東西還配叫定理?”看看自己知道的其他定理,什麼奔馳定理梅涅勞斯定理塞瓦定理多高大上啊,於是恨不得把零點存在定理從定理這個傢族中除名。每當看到同學對這個定理嗤之以鼻、不屑一顧,我都要捶胸頓足,怒其不爭。可當我試圖告訴他們零點存在定理的美妙之處時,又總是在與他們的爭辯中落到下風。
那麼零點存在定理真的沒有意義嗎?當然不是。如果你也對它抱有上面這樣的偏見,並且想要有所改觀,那請認真看完這篇文章。
先來測試一下你對零點存在定理的熟悉程度:請完整敘述出零點存在定理。(別急著往下翻,強烈建議自己拿筆寫一寫,與下面的答案對照)
零點存在定理:設函數 f(x) 在閉區間 left[ a,b right] 上連續,且 f(a)cdot f(b)<0 ,則 f(x) 在開區間 left( a,b right) 上存在零點。
重點在於第一句話,它很容易被忽略,卻是整個定理的精華所在。“閉區間”有沒有寫成開區間?“連續”這個條件有沒有忘?
首先註明一下:之所以零點存在定理在高中教材上講的不深,也略去瞭證明過程,很大程度上是因為對“連續函數”這一概念沒有準確定義。這一點後面會提到,現在先感性理解即可。
我們接著來看它為什麼重要。如果改變這個條件,定理還成不成立?如果改成......
反例如下:
451e6f5a5b70fbd2221628f4d9a5c1b3
上面這個函數定義在 left[ 0,5 right] 上,它在 x=3 處發生瞭間斷,所以可能不存在零點。
你或許會說,這不是很明顯的事嗎?但你在敘述定理時就應該考慮到這一情況,否則這個很顯然的東西就成為瞭你的反例。當然,漏掉“連續”也情有可原。高中階段涉及到的都是初等函數,而初等函數在定義域內都是連續的,所以對“連續”不敏感是正常的,見得少瞭而已。
那如果隻是在開區間上連續呢?同樣不行。把上面的間斷點調整到區間端點就又是一個反例。
1df9cd1ffbd2fda9b83a5b4c755a2481
為瞭過渡到對實數完備性的討論上,我決定把條件變得更加苛刻。
什麼是“區間”?如果不知道的話,可以停下來稍微想想如何定義。這樣的思考總是有益的。
所謂區間,就是 R 的一個子集 I ,對任意的 a,bin I 且 a<b ,使得任意的 a<c<b ,都有 cin I .定義域不是區間,我也不舉如 (0,1)cup(3,5) 這樣的例子,而是直接把定義域設定為有理數集 Q 。“當一個函數的定義域變成瞭有理數集,這是它的性質發生的變化。”請看函數 y=x^2-2 :
當定義域是 R 時,一切如常,圖中的這個零點就是 x=sqrt2 。但是如果把定義域限制在 Q 上呢? sqrt2 這個根就消失瞭。這個“連續”函數又沒有瞭零點。
當然,這個“連續”的說法有些草率,畢竟這個定義域貌似是離散的。正確的做法應該是賦予 Q 以歐氏拓撲的子空間拓撲,並在 Q 作為一個度量空間的意義下重新定義“連續函數”。但是這樣就扯遠瞭。
所以此時,再看零點存在定理的這個條件:函數 f(x) 在閉區間 left[ a,b right] 上連續,確實一個字都改不瞭,隨便改動就會出現反例。這就是數學表述的嚴謹性的體現之一。下一個自然的問題就是:既然反例這麼多,零點存在定理又憑什麼正確呢?
再次回到前面 y=x^2-2 的例子上。為什麼這個函數在 R 上有零點,在 Q 上就沒有瞭? R 不就是比 Q 多瞭些無理數嗎。換個說法,為什麼 Q 沒有“填滿”數軸,但 R 就“填滿”瞭數軸呢?是怎樣一種性質決定瞭這一點?
答案是實數具有完備性。描述完備性有許多等價的公理(有說六大公理,七大公理,甚至還有十大公理的),我們隻介紹其中兩個(連續性公理、閉區間套定理),作為證明零點存在定理的準備。
連續性公理:設 X 和 Y 是 R 的兩個非空子集,且滿足對任意 xin X 以及 yin Y ,都有 xleq y ,則存在 cin R ,使得對任意 xin X 以及 yin Y,都有 xleq cleq y 。
形式有些抽象,不是嗎?但是記住實數滿足該性質但有理數不滿足,而實數和有理數的區別就在於無理數,就容易理解它。對於有理數集,我們劃分為兩個集合: X=left{ x|xin Q,xleq sqrt2 right} 和 Y=left{ y|yin Q ,y>sqrt2right}.那麼X中的任意元素都小於Y中的任意元素。那麼是否存在一個 cin Q ,使得對任意 xin X 以及 yin Y,都有xleq cleq y 呢?不存在。但是將同樣的劃分放在實數集裡面考慮,就存在一個 c=sqrt2 滿足上述條件。
一言以蔽之,連續性公理幫我們構造出瞭無理數。
閉區間套定理:對於任何閉區間套 I_1supset I_2supsetcdotssupset I_nsupsetcdots ,若 I_n 的長度趨於零(更準確地說,對任意 varepsilon>0 ,都存在 I_k 使得 left| I_k right|<varepsilon ),則存在唯一的一點 c ,它包含於這所有的閉區間。
簡單來說,這個閉區間套退化成瞭一個點。其證明可以用連續性公理來完成,讀者自行嘗試,我有空補出完整證明(基本上就是鴿掉瞭)。但思路是清楚的。
存在性:所有這些閉區間的左端點構成一個集合,右端點也構成一個集合,對這兩個集合應用連續性公理。 唯一性:假設存在兩個不同的c,那麼閉區間套的長度就不會趨於0.
具體細節請自行補完。
最後,我們就來到瞭零點存在定理。
零點存在定理:設函數 f(x) 在閉區間left[ a,b right] 上連續,且 f(a)cdot f(b)<0 ,則 f(x) 在開區間 left( a,b right) 上存在零點。
證明:用二分法+閉區間套定理。將區間 left[ a,b right] 平分成兩半。若在中點處函數值為零,那我們直接找到瞭這個零點;如果不為零,那麼這兩個區間中一定有一個,使函數在兩端取異號的值,將它記為第一個閉區間 I_1 。繼續平分 I_1=left[ a_1,b_1 right] ,重復上述過程,得到 I_2,I_3,cdots ,繼而得到一個閉區間套。且 I_n=[a_n,b_n] 的長度為 frac{1}{2^n} ,趨於0,滿足閉區間套定理的條件。所以閉區間套存在唯一的一個公共點 c 。
又根據閉區間套的取法,一定有 f(a_n)<0 , f(b_n)>0 .並且 lim_{n rightarrow infty}{a_n}=lim_{n rightarrow infty}{b_n}=c .那麼就有 f(c)=f(lim_{n rightarrow infty}{a_n})=lim_{n rightarrow infty}{f(a_n)}leq0 , f(c)=f(lim_{n rightarrow infty}{b_n})=lim_{n rightarrow infty}{f(b_n)}geq0 . 因此, f(c)=0 ,即存在零點。
上面證明的第二段用到瞭函數極限和連續函數的一些性質,不懂也罷。但依然可以意會。
總而言之,零點存在定理是完備性的必然推論。這一節可以沒看懂,但這句話一定要記住。無論是為瞭提升數學素養,還是為瞭裝x,都非常好用。
寫這篇文章的初衷並非真的想讓讀者完全明白零點存在定理的證明,也不想詳細展開實數的完備性,這在短短兩千個字中也沒法實現。但是我希望能夠傳遞一些思想:
1.數學是一門追求絕對嚴謹的學科,不容一點利用直覺跳步的餘地。一個定理,之所以能成為定理,就一定有其重要價值。高中數學重視計算,重視知識的實用價值,這無可厚非,畢竟不是所有人以後都會上數學系的。但是,無論數學的技巧再天花亂墜,隻要追根溯源,其基石都是一個個看似顯然的公理或定理。舍本逐末不可取。
2.我們初中就知道,一個定理包括兩部分,題設和結論。我們往往重視結論,亂用定理,卻不先驗證它是否滿足定理成立的條件。高中階段提前學習一些高等知識不是不好,但一定要學紮實,而不是當作“秒殺”的工具。不然,不是未定式還胡亂洛必達、泰勒展開而不知道什麼是餘項,寫成級數的形式卻根本不考慮收斂域,還來知乎提問為什麼自己這樣用不行,這些情況將永遠沒法停止。因為你從來就沒有真正學會它。
英语词汇 六个表示 “想像” 、“设想” 动词 嘉中 imagine、conceive of、 fancy、visualize、 envisage、 envision 这组词语 ...