到底是用實數定義了複數,還是用複數定義了實數?
書中定義:
複數 z=x+yi,其中 x、y 為實數。
當 y=0 時,z=x+0i=x 為實數。
自己的問題為:
到底是用實數定義了複數,還是用複數定義了實數?
是否屬於邏輯學中的循環論證?^
自動化專業渣渣求數學大佬指點。
通常的數學教材處理數系定義順序有兩種方法:
沒有複數定義實數的。即使是第二種看起來也有點奇怪(
如果只用複數的代數運算,是不能定義出實數集R的。就是(C,+,×,0,1)系統中不能定義出R。
見David Mark,Model Theory:an introduction. (模型論引論),國外數學名著系列(影印版) 32,p23, corollary1.3.6
這裡我們假設讀者完全明白有理數是如何定義的。僅使用有理數甚至整數,可以定義代數數,注意到代數數已經涵蓋了一部分無理數和虛數。但是採取這種辦法,能把所有的實數或複數都構造出來嗎?答案是否定的。
我不太喜歡現在強行把數學課分成各個不同課程的做法,特別是因為大學數學並非零門檻的現狀。在分析課上,默認複數的運算是已經學過的,而在代數課上,不討論實數集的具體構造。但是從有理數到複數的過程,實實在在是各種數學思想的融合。
從有理數到實數,必須經歷分析的過程。設 是有理數集的子集,滿足 並且
則由 確定了唯一的實數 使得
接下來,設 則由 確定了唯一的複數
這大概是定義複數的最簡單的方法。也許你已經有所了解,代數基本定理,即任意復多項式都有復根,沒有簡單的代數證法,這也是因為複數本身就很難用代數定義。
首先,先反對一下 @雨雪晴 的答案。
不是說這個結論本身有錯。而是,這個結論論證不了複數域「定義」不了實數。這裡有一處很微妙的地方。簡單來說,定義出來的實數不一定得是複數域的子集。可採取這樣的途徑: 。但這個 已經不是 的子集了,不會引起矛盾。(你也沒辦法直接對應回 的某個子集,雖然你可以用選擇公理強行挑一個出來。「強行挑一個出來」當然超出了域理論的範圍,也是和結論不矛盾的。)又或者說,「定義 xx 的可定義子集 yy」和「可以基於 xx (公理化地)構造 yy」是兩碼事。
接下來是對 @inversioner 答案的補充。如果我們希望有個「完整版」的複數 ,那麼我們至少要包含連續(或小於 )的概念(或讓 )。但是這樣一來就至少隱隱約約地定義了一個 。對於這種情況,我們恐怕只能說是:定義複數的同時順便定義了實數。反過來,實數定義里就不必隱藏著一個複數的定義。從這個意義上講,更多的是實數定義了複數。
最後附上系統 C3(基於 Tarski 實數公理化,由 Norman Megill 正式提出,Eric Schmidt 參與了改進)
5.1.3 Real and complex number postulates restated as axioms?us.metamath.org他們真的喪心病狂地繞了一整圈兒!( )
此實數非彼實數,先用實數I定義了複數,再用複數定義了實數II。
先有實數集I ,然後在 中定義複數四則運算,就有了複數集 .
- 複數是滿足複數四則運算的實數有序對 ,記作 。
- 複數的加減法:
- 複數的乘法:
- 複數的除法:
然後可以搞一個映射 , ,於是有了實數集II ,它與 同構。
所以當我們說 時,其實前面那些數集都是由 定義的,都是從另一個不是 子集的數集到 的同構映射的值域。
當y=0時,z=x+0i為實數
很明顯的,這句話的意思是,存在C的子域與R同構
並不是循環論證的意思
實數定義了複數。實數自己,是從有理數定義出來的。之所以說虛部為零時相當於實數,是說可以把實數作為複數的子集,從而包含到更廣範圍的複數域中,那麼你之前用的實數就都可以當成複數。複數域是實數域的擴域。
我想對這個問題換一種提法。已知一個域F同構於C,如何知道它的同構於R的子域的構造?即它由F中哪些元素構成?
從歷史和實踐的角度講,實數定義了複數
推薦閱讀: