跳轉到內容

數值計算與嚴格數學

100% developed
來自華夏公益教科書
本書的作者現已退休。任何有能力的愛好者都歡迎進一步推動這個專案。

眾所周知,數學通常證明永不相互矛盾的通用定理,而數值計算通常給出近似的特定結果;此類計算在合理的誤差範圍內可能不一致。在數值上下文中,“數字”通常意味著一個有限小數(或二進位制數),而在數學中,一個(實數)數字可能是 (有理數,迴圈小數), (無理代數數;它的十進位制表示既不終止也不無限迴圈), (超越數,即非代數數),等等。

數值誤差 的估計(和最小化)是 數值分析 的重要組成部分。在某些(相對簡單的)情況下,可以獲得保證的誤差界限,並且有時是實用的,但有時遠大於它們從上面界定的實際誤差,有時難以找到。因此,獲得一個只有對誤差有模糊概念的近似結果並不少見。

看到純數學和應用數學之間的這些區別,人們可能會懷疑,它們仍然是同一科學的兩面,還是兩門不同的科學。有些人甚至區分“理論數”、“實用數”和“計算機數”,並將諸如 之類的數學常數視為缺乏精確數值的符號計算元素。

引用

以下是 Е.М. Левич (E.M. Levich) 的書 “Математическая физика и компьютерная математика” (“Mathematical physics and computer mathematics”) 中的兩段引言(翻譯成英語)。可在網上獲取 這裡這裡

"在物理學家眼中,數學是一座單一的大廈,不僅可以在其中證明理論命題,而且還可以使用計算機(如果需要)獲得數值結果。
然而,現代數學並非鐵板一塊,它由幾種型別的數學組成,這些數學不僅在目標上有所不同,而且在研究的主要物件上也有所不同:理論數學、實用數學和計算機數學。將這些型別聯絡在一起的是,在每種型別中,研究的主要物件都是所謂的“數字”。這個概念在不同型別的數學中的含義是不同的,因此它們在性質和適用範圍上有所不同。
應該注意的是,在現代科學中,數字的概念不夠嚴格,它被視為一種反映某些定量實體的單一概念。”(第 2 頁)

"第二種方法是在某些初始條件下對微分方程進行數值求解,以便獲得某些定量結果以供實驗驗證。在這種情況下,我們面臨著上一段中描述的方法論困難。由於沒有邏輯可能性來確定作為計算過程的結果而獲得的有限數字集是否為任務的解,因此實際上我們沒有可以與實驗結果進行比較的東西。由此可見,如果要驗證物理理論,就必須用計算機對微分方程或微分方程組進行數值求解,那麼這種理論是無法用實驗來驗證的。”(第 34 頁的最後一段)

超有限主義者討論了與這些想法相關的模糊觀點。


2016 年,在一次類似的討論中,本文的作者被要求嚴格地證明數字 (計算器給出了類似 22026.46579481 的東西,但這在嚴格證明中不是有效的論據)的前 10 位數字確實是 22026.465794;換句話說,證明以下內容。

定理。

他接受了挑戰並證明了這個定理。這絕不是學術意義上的原創研究;數學期刊會將其拒絕為使用眾所周知方法獲得的微不足道的結果。每個專業數學家都可以輕鬆做到這一點。但是,由於它對專家來說意義不大,它可以幫助學生擺脫一些可能的誤解。

  • 定理不一定是通用的;一個特定的數值事實可以是一個定理。
  • 所有定理的集合是無限的(就像自然數的集合一樣);數學文獻中提出了有限多個最著名的定理(其中大多數是通用的),其他的則沒有(同樣,現在提到了有限多個自然數,其他的則沒有)。
  • 眾所周知的數學常數具有精確的數值;通常,它們的十進位制數字不遵循任何已知模式,但仍然可以透過演算法生成;此外,無限數字序列的每個有限部分的正確性都是一個定理(其證明也可以透過演算法生成)。可能的演算法很多,但是隻要定理不互相矛盾(希望永遠不會),每個數字的唯一性就會得到保證。

證明,分析部分

[編輯 | 編輯原始碼]

引理 1. 對於所有滿足 ,以下不等式成立:


該證明使用了兩個眾所周知的冪級數

對於
對於


引理 1 的證明。 首先, 其次,

證明,算術部分

[edit | edit source]

引理 1 非常常見;一般性結論透過符號計算證明。因此,證明非常簡潔。相反,該定理陳述了一個特定的數值事實,其證明的算術部分本質上是將數值計算轉換為證明,這很不尋常。因此,這裡需要一些預備知識和解釋。

每個人都知道 2+2=4;但是,由於它不是公理,因此需要證明。首先,定義:2 = 1+1;  3 = 2+1;  4 = 3+1 。其次,證明:2+2 = 2+(1+1) = (2+1)+1 = 3+1 = 4。類似地,你可以證明 4+3=7 等等。此外,2×2 = (1+1)×2 = 1×2 + 1×2 = 2+2 = 4,等等。(如果你想更深入的 формализация,請嘗試 皮亞諾公理。)

下一步:如何證明 23×6 = 138 ?首先,定義:23 = 2×10+3;  100 = 10×10;  138 = 1×100+3×10+8 。其次,證明:23×6 = (2×10+3)×6 = (2×10)×6 + 3×6 = (2×6)×10 + 3×6 = (10+2)×10 + (1×10+8) = 100+(2+1)×10+8 = 138。確實,一些步驟被省略了,但希望你能填補空白。順便說一下,為什麼 138 < 163 ? 因為 138 < 138+2 = 140 < 160 < 160+3 = 163。或者,如果你願意,138 < 138 + 25 = 163。

因此,“23×6<163” 是(一個例子)一個具有(至少一個)證明的數學命題;換句話說,它是一個定理。(參見 理論(數學邏輯):“從公理中推出的任何句子...都被稱為該理論的定理”;另見 形式證明。)顯然,所有定理的集合是無限的。

我們看到,使用自然數進行的算術運算沒有問題(這並不奇怪:它們是精確的,而不是近似的);它們可以轉換為定理和證明(而且,這種轉換可以透過演算法自動化)。同樣的結論也適用於帶有有限小數的算術運算(精確計算,沒有 舍入誤差)。例如,命題“2.3×0.6<1.63”很容易簡化為“23×6<163”。

現在我們回到定理的證明。我們引入數字 並將其夾在兩個有限小數之間,如下所示。

引理 2.  


這些大型數字突然出現,你感到困惑嗎?如果你感到困惑,請開啟以下旁白。

證明可能很棘手

“形式證明或推導是句子...的有限序列,每個句子都是公理、假設或從序列中的前一個句子推匯出來的。序列中的最後一個句子是一個定理”(形式證明)。僅此而已——不多也不少。證明不需要遵循任何策略。它可能很棘手;這裡有一些例子。

為了因式分解多項式 ,我們新增和減去 :  為什麼偏偏是 ? 可以給出解釋,但這不是因式分解的一部分。

為了計算 高斯積分 ,我們引入二重積分 為什麼? 只是一個技巧。

為了得到斐波那契數的奇妙 公式,我們考慮滿足相同遞迴關係的等比數列。

為了證明一個數列 的性質,我們經常引入它的生成函式 (學生們經常會好奇 是什麼)。

  • 通常,任何定義明確的數學物件可以在證明的任何階段被引入,這取決於作者的判斷;作者無需為此道歉。解釋(如果有的話)是證明的評論,而不是證明的一部分。在一個證明中可以引入多個物件。


引理 2 的證明。 我們記 並將所需的不等式改寫為:       只需計算  


引理 3。  


引理 3 的證明。 我們記 並重新寫出所需的不等式:       我們計算   因此不等式變為


引理 4。  

證明。 我們記 並重寫需要的不等式:       我們計算   不等式變為


命題。

證明。 由四個引理可得,因為


定理的證明。 命題給出了

考慮到 ,我們得到 ,因此

(因為 以及 )。類似地,我們得到

完成了證明。

問題、練習、習題

[edit | edit source]

在給定的證明中,引入了許多大型自然數,但沒有解釋。這些數字的屬性似乎足以證明定理。

1a. 思考如何選擇這些數字(不一定與本文中使用的數字相同)。
1b. 對計算機進行程式設計,以查詢這些數字。

請注意,證明中的數字 22 是特殊的;最初,數字 被夾在兩個有限小數之間,然後對它進行 22 次平方運算。

2a. 思考一下,可以用 21 或 23 代替 22 嗎?
2b. 修改您的計算機程式,使其進行 21 或 23 次平方運算。您仍然可以達到目標(證明定理)嗎?另外,嘗試更改大自然數中的位數。
2c. 考慮 的其他值 (不僅僅是 )。

引理 1 中使用了二次多項式來近似指數函式。為什麼只使用二次多項式?

3a. 思考一下,可以用線性或三次多項式代替嗎?
3b. 相應地修改您的計算機程式。
3c. 嘗試使用冪級數來擺脫重複平方運算。

計算指數函式,與微分方程 密切相關,僅僅是一個相對簡單的計算任務。

4a 以同樣的精神處理其他一些計算任務。
4b 嘗試找到一個計算任務的例子,即使在原則上也不能以這種方式處理。

以及一個獎勵...

5 證明 因此駁斥了 Sarva Jagannadha Reddy 關於 的說法(參見 這裡這裡)。

結論

[edit | edit source]

非嚴格的數值計算被廣泛使用;嚴格的數值計算很費力,但也是可能的。

[edit | edit source]
華夏公益教科書