極限,比如說數列極限,簡單講來說的是“當n越來越大時,數列\({\{ a}_{n}\}\)越來越靠近實數L”,是一種動態過程,而其正式定義,也稱為數列極限的(ε, N)定義,卻是這么描述:設 \(\left\{ a_{n} \right\}\) 為數列,\(a\) 為定數,若對任給的正數 \(\varepsilon\), 總存在正整數 \(N\),使得當\(n > N\)時有\(\left| a_{n} - a \right| < \varepsilon\),則稱數列 \(\left\{ a_{n} \right\}\) 收斂於\(a\),定數\(a\)稱為數列 \(\left\{ a_{n} \right\}\)的極限1。初學者對極限的直觀印象在這種定義里幾乎完全得不到反映,好多學生看后不知所言為何物,然后卻又不得不馬上用這個定義去證明各種極限,即便是最后很機械地、按部就班地湊出了該定義要求的形式,學生們對這一切還是耿耿於懷,不知道自己在干什么,究其原因是因為這個定義不夠直觀、不容易從中看出極限的“影子”,更具體來講,極限最初在我們的直觀認識里是一個動態概念,如本文一開始所說的那樣,它是一種動態過程,但在該定義里這種動態過程並沒有得到體現,所以這個定義也被稱為極限的靜態(static)定義2,本文將提出一種更直觀的數列極限的動態(dynamic)定義,然后闡明它和靜態定義的關系,並提出幾條相關的教學建議。
人們對事物的認識是由感性認識到理性認識的,就極限概念而言也是如此,人們先有了對極限的模糊認識,然后才提出了極限的正式定義。所以下文將先基於初學者對極限的感性認識用蘇格拉底教學法(Socratic method)一步一步地通過啟發性的方式構建出嚴謹的數列極限動態定義。
師:當n越來越大時,數列\({\{ a}_{n}\}\)越來越靠近極限值L。這一現象用數學語言怎么描述?
生:對於數列中任意一項\(a_{p}\)及其后面任意一項\(a_{q}\)有\({|a}_{p} - L| > {|a}_{q} - L|\)。如果我們拿這個條件來再以\(a_{q}\)作為起點的話,那么其后必有任意一項\(a_{r}滿足{|a}_{q} - L| > {|a}_{r} - L|\),這樣如果先記\(a_{p}\),\(a_{q}\),\(a_{r}\)三項的下標p,q,r分別為\(n_{1},\ n_{2},n_{3}\),用同樣的方法后續我們還可以找到\(n_{4},\ n_{5},n_{6},\ldots\)以至於有
\[{|a}_{n_{1}} - L\left| > {|a}_{n_{2}} - L \right| > {|a}_{n_{3}} - L| > \ldots\]
這實際上是上面的約束條件的另外一種等價表述,該不等式表達了“后面的項總比前面的項更靠近極限”這個意思。
師:如果要讓你的描述對常數數列的極限情況仍然適用,該怎么修改?
生:那應該改成\(\geq\),即:對於數列中任意一項\(a_{p}\)及其后面任意一項\(a_{q}\)有\({|a}_{p} - L| \geq {|a}_{q} - L|\)。
師:現在讓我們來看\(y = \frac{\sin x}{x}\),當x越來越大時,也即分母越來越大時,由於分子sinx始終在-1到1之間,所以函數值在x越來越大時越來越靠近0。
現在我們構造一數列\({\{ a}_{n}\}\),每個\(a_{n}\)的值均是((n-1)π, nπ)上函數值域中的任意一個,那么該數列有極限嗎?如果有,極限是多少?
生:有極限,值為0。因為函數值在x越來越大時整體越來越靠近0,從各區間((n-1)π, nπ)上函數值域中任意取出來的值組成的數列也符合這一趨勢,所以數列\({\{ a}_{n}\}\)的極限也是0。
師:很好!那對於該數列的極限你之前的數學語言描述還適用嗎?
生:我發現這種情形下可能會有\({|a}_{p}| < |a_{q}|\)的情況,而這里L=0,所以就不會有\({|a}_{p} - L| \geq {|a}_{q} - L|\)這個結果了,所以只有把“任意的\(a_{q}\)”改成“存在\(a_{q}\)”才行,即:對於數列中任意一項\(a_{p}\),其后總存在\(a_{q}\)使得\({|a}_{p} - L| \geq {|a}_{q} - L|\)。
師:對,在極限過程中並非后面的項都比前面的項更靠近極限,而是存在后面的項比前面的項更靠近極限,這個例子加深了我們對極限現象的准確掌握。
生:是的,確實有了進一步的認識。
師:如果將數列\(\{\frac{1}{n}\}\)的前10000項都換為0,那么這個數列的極限還是不是0的?
生:呃……也是,畢竟極限研究更關心的是數列足夠靠后的所有項的表現,前面有限多項的值是什么我們並不關心。
師:好,認識到這點之后你剛才的數學語言仍能描述這種情況嗎?
生:不能了,如果\(a_{p} = a_{10000} = 0\),那么\(a_{p}\)的后面就找不到\(a_{q}\)使得\({|a}_{p} - L| \geq {|a}_{q} - L|\)了。所以不能說\(a_{p}\)也是可以任意取的了,\(a_{p}\)的選取要看數列中是否存在有限個(正整數個)值為極限值的項,如果不存在這種情況,那么\(a_{p}\)可任取,如果存在這種情況,那么\(a_{p}\)只能取數列中值為極限值的最后那一項之后的任意一項。所以我的表述可以修改為:對於數列中某項之后的任意\(a_{p}\)(這里的“某項”要看數列中是否存在正整數個值為極限值的項來定),其后總存在\(a_{q}\)使得\({|a}_{p} - L| \geq {|a}_{q} - L|\)。這里因為\(a_{p}\)的選取條件導致整個描述稍顯啰嗦,不夠簡潔,所以可改成另外一種更簡潔的表述:數列\({\{ a}_{n}\}\)中存在\(a_{n_{1}}\),\(a_{n_{2}}\),\(a_{n_{3}}\),…滿足\({|a}_{n_{1}} - L| \geq {|a}_{n_{2}} - L| \geq {|a}_{n_{3}} - L| \geq \ldots\),其中\(n_{1},\ n_{2},n_{3},\ldots\)均是原數列中滿足本不等式的任意一項的下標,並且\(n_{1} < n_{2} < n_{3} < \ldots\)。
師:對於數列\(\{\frac{1}{n}\}\),當n越來越大時,\(\frac{1}{n}\)越來越靠近0,但\(\frac{1}{n}\)是不是也越來越靠近\(- 1\)呢?
生:呃……也是啊!
師:你現在的極限語言排除得了這種情況嗎?
生:不能。
師:所以你現在的描述只反映出總有后面的項比前面的項更接近於L,並沒反映出數列\({\{ a}_{n}\}\)足夠靠后的所有項接近的只能是L而不是其它數,或者說沒有反映出足夠靠后的所有項可以無限接近L。
生:是哦!那么我認為還必須要求存在某一項之后的所有項和L的差值都小於預先任意指定的足夠小的正數,這一要求用數學符號語言可以表述為:總有某項之后的所有\(a_{n}\)滿足\({|a}_{n} - L| < \varepsilon\),其中ε是預先任意指定的足夠小的正實數。這里的“某項”只能通過解這個不等式來確定。
師:ε取1可以嗎?
生:呃……也可以,不過1不夠小,換為0.1似乎會更好點。
師:那為什么0.1可以而1就不妥呢?你判斷的標准是什么?
生:我只是憑感覺覺得1似乎不能當作足夠小的正實數,0.1倒是可以。
師:嚴謹的數學理論是不能包含這種模糊不清的憑感覺的方式提出來的成分的,你必須給“足夠小的正實數”一個明確的定義才行。
生:不妨定義任何在\(\ (0,\ \frac{1}{10^{M}}\rbrack\)內的數都是“足夠小的正實數”,其中\(M\)是預先任意指定的正整數,簡單起見,我們甚至可以直接取ε為\(\frac{1}{10^{M}}\),即\(\varepsilon = \frac{1}{10^{M}}\)。這樣前面這個條件就應該改成:總有某項之后的所有\(a_{n}\)滿足\({|a}_{n} - L| < \frac{1}{10^{M}}\),這里M是預先任意指定的正整數。
師:哈,孺子可教也!
生:承蒙老師指點!
至此,我們就得出了能完全描述數列極限現象的兩個條件:
總有后面的項比前面的項更接近於實數L,對應的數學語言描述是:數列\({\{ a}_{n}\}\)中存在\(a_{n_{1}}\),\(a_{n_{2}}\),\(a_{n_{3}}\),…滿足\({|a}_{n_{1}} - L| \geq {|a}_{n_{2}} - L| \geq {|a}_{n_{3}} - L| \geq \ldots\),其中\(n_{1},\ n_{2},n_{3},\ldots\)均是原數列中滿足本不等式的任意一項的下標,且\(n_{1} < n_{2} < n_{3} < \ldots\)。
足夠靠后的所有項可以接近實數L到任意程度,對應的數學語言描述是:總有某項之后的所有\(a_{n}\)滿足\({|a}_{n} - L| < \frac{1}{10^{M}}\),此處M是預先任意指定的正整數,這里的“某項”只能通過解這個不等式來確定。
任何滿足上述兩個條件的實數L就稱為數列\({\{ a}_{n}\}\)的極限,極限的動態過程在條件(1)里得到了反映,所以我們可以把上述兩個條件看作是數列極限的動態定義。
現在讓我們回頭再看最初對數列極限的感性認識:“當n越來越大時,數列\({\{ a}_{n}\}\)越來越靠近極限值L”,這種認識反映的只是上述的條件(1)而疏漏了條件(2),由此可見這種直觀認識的缺陷,作為修正,我們可以這么說:如果當n越來越大時,數列\({\{ a}_{n}\}\)越來越靠近實數L,並且足夠靠后的所有項可以接近實數L到任意程度,則稱L是\({\{ a}_{n}\}\)的極限。
再看極限的(ε, N)定義,該定義反映不出極限的動態性,它只表明對於任給的正數\(\varepsilon\)總有某項之后的所有\(a_{n}\)滿足\({|a}_{n} - L| < \varepsilon\),其次,為了說明數列里足夠靠后的所有項可以接近極限值到任意程度,該定義用了任意指定的正數ε來限定二者間的差距,然而這是一種很松散的、模棱兩可的限定,因為ε既可以往小了取也可以往大了取,自然就不能夠明確反映出“數列里足夠靠后的所有項可以接近極限值到任意程度”這層意思,有鑒於此本文給出的極限動態定義中就直接用\(\frac{1}{10^{M}}\)取代ε,因為對於\(\frac{1}{10^{n}}\),當n越來越大時,\(\frac{1}{10^{n}}\)便會越來越小,越來越靠近0,變得要多小有多小,所以筆者相信用\(\frac{1}{10^{M}}\)取代ε能反映出數列里的項可以接近極限值到任意程度這層意思,請讀者就此再次回顧條件(2)。
實際上有了條件(2)便自然有條件(1),證明:取數列\({\{ a}_{n}\}\)中滿足\({\frac{1}{10^{M}} > |a}_{n} - L|\)的一項為\(a_{n_{1}}\),如果數列中有正整數個值為L的項,那么也要求\(a_{n_{1}}\)取數列中值為L的最后那一項之后的任意一項,然后取滿足\(|a_{n_{1}} - L| \geq {|a}_{n} - L|\)的一項為\(a_{n_{2}}\),取滿足\(|a_{n_{2}} - L| \geq {|a}_{n} - L|\)的一項為\(a_{n_{3}}\),…其中\(n_{1},\ n_{2},n_{3},\ldots\)均是原數列里滿足本不等式的任意一項的下標,並且\(n_{1} < n_{2} < n_{3} < \ldots\),顯然這樣的\(a_{n_{1}}\),\(a_{n_{2}}\),\(a_{n_{3}}\),…能滿足條件(1)。所以從邏輯角度來看,條件(1)不是必要的,但如果把條件(1)去掉,那么極限的“動態性”便得不到反映了。實際上把條件(2)里的\(\frac{1}{10^{M}}\)換回ε便是我們既熟悉又陌生的數列極限的(ε, N)定義3,也就是說去掉條件(1)之后極限的動態定義就變成了靜態定義,但靜態定義相比於動態定義並不能很貼切地、很直觀地反映極限現象。所以雖然從邏輯角度來看條件(1)是多余的,但從認知角度來看它的存在卻是大有裨益的——它反映着極限的動態性,它使得極限定義更加符合我們的直觀認識,沒有了它的極限靜態定義會在理解上給學生帶來很大的困難。所以筆者提議:(1)以本文的動態定義作為數列極限的標准定義,因為它使得極限定義更加符合我們的直觀認識,進而就可以避免靜態定義給學生造成的那些理解上的困難;(2)以現在教材里的(ε, N)定義作為極限值的判定方法,因為它相比極限動態定義更簡潔,用來判定極限自然就比動態定義更方便;(3)如果前兩條建議都得不到采納, 那么至少應該介紹一下如何從極限動態定義走向靜態定義,否則當前不少學生困惑於極限靜態定義的局面仍然得不到解決;(4)函數極限的(ε, δ)定義也同樣給學生們帶來了不符合直覺的困惑,可以考慮用海涅(Eduard Heine)的極限定義來作為函數極限的正式定義4(具體是:對於任何一個收斂於\(x_{0}\)的數列\({\{ x}_{n}\}\),且各個\(x_{n} \neq x_{0}\),如果數列\({\{ f(x}_{n})\}\)的極限是L,那么我們說L是\(f(x)\)在\(x_{0}\)處的極限),因為該定義更能反映出函數極限的動態性,(ε, δ)定義可用來作為判定極限值的方法。