文章

顯示從 5月, 2021 起發佈的文章

目錄

20200718 想法源起 20200719 我們在做什麼(一) 20200722 我們在做什麼(二) 20200725 竟然成為數學家(一) 20200729 竟然成為數學家(二) 20200801 竟然成為數學家(三) 20200805 不同職級(一) 20200808 不同職級(二) 20200812 趕客系列(一)為什麼讀大學? 20200815 趕客系列(二)不同大學學位跟工作的關係 20200819 趕客系列(三)大學的目的 20200822 趕客系列(四)大學為什麼要有主修 20200826 趕客系列(五)要挑選一個什麼樣的主修 20200829 沒有無緣無故的恨(一) 20200831 科普系列 - 數學與電影動畫製作(一) 20200902 沒有無緣無故的恨(二) 20200905 沒有無緣無故的恨(三) 20200907 科普系列 - 數學與電影動畫製作(二) 20200909 終身職位的評核 20200912 學術界吸引人的地方 20200914 科普系列 - 數學與電影動畫製作 (三) 20200916 學術界辛苦的地方(一) 20200919 學術界辛苦的地方(二) 20200921 科普系列 - 數學與電影動畫製作 (四) 20200923 大學的讀書成績有多重要 20200926 本科生研究機會 20200928 科普系列 - 數學與圖像修復(一) 20200930 用創新的方法去教育科學 20201003 參加研討會的重要 20201005 科普系列 - 數學與圖像修復(二) 20201007 教授與教學 20201010 研究是什麼(一) 20201012 科普系列 - 數學與圖像修復(三) 20201014 研究是什麼(二) 20201017 研究是什麼(三) 20201019 科普系列 - 數學與圖像修復(四) 20201021 如何閱讀研究論文 20201024 研究生應該修什麼課 20201026 科普系列 - 數學與圖像修復(五) 20201029 本科生的多主修多副修 20201102 科普系列 - 數學與數獨(一) 20201105 幾位教授(一) 20201109 科普系列 - 數學與數獨(二) 20201112 幾位教授(二) 20201116 科普系列 - 數學與數獨(三) 20201119 幾位教授(三) 20

計算數學入門系列 - 疊代方法(二)

圖片
聽起來相當簡單,剩下來的問題,就是如何設計中間的運算過程。最重要的條件,就是當n越大,我們希望xn越接近確切解y。不同的設計,就會得到不同的方法。其中一個運用到上面IVT特性的方法,就是同學們可能一早認識的二分法(Bisection Method)。假設我們知道函數f的根在a和b之間而且(a<b),我們可以取x1=(a+b)/2就是兩點的中間值作為一個近似值然後我們再去判別函數f的根到底是在a到x1之間還是在x1到b之間。這個判斷方式,就可以再運用IVT。如果f(a)*f(x1)<0,我們就可以知道在a跟x1之間就會有一個函數f的根,所以我們就可以取x2=(a+x1)/2。反之如果f(x1)*f(b)<0,我們就可以取x2=(x1+b)/2。如此類推,我們就可以得到一數列的xn。由於每一次進行二分法的計算,線段的長度就會短了一半,當n越來越大我們就知道,我們就知道xn會收斂(Convergence)到一個數值。 有沒有什麼情況這個二分法會失效的呢?譬如說,當x大於或者等於零,函數f輸出數值就是等於1;當x少於零,函數輸出數值就是等於-1。這個函數f並沒有根,可是上面的二分法還是會得出一個收斂到0的數列。心水清的同學,可能就會馬上指出這個函數f並不是一個連續函數,所以上面二分法的分析並不適用在這個函數例子裏面。完全正確。所以雖然二分法的使用非常簡單,同學們在使用之前還是需要對函數f進行一定的認識,確保他起碼是一個連續函數。另外的一個例子我們可以考慮函數f(x)=cos(2N*x)。你可以假設N為一個很大的正整數。這個例子有點奇怪,儘管程式的不同執行方式,都可以得到一個收斂的數列,但是他們可能將會得到函數f不同的解。程式內先考慮二分後左手邊線段的情況,還是先考慮右手邊線段的情況,都會得到不同的答案。剛開始的線段,也會令到我們得到不同的解。這個例子顯示,我們把這個二分法在運用到日常生活時,不但需要知道函數f的一些特性,我們還希望剛開始的線段不要太長,令到計算線段太大,希望在線段內只有唯一一個解。 二分法的好處,是我們要求函數f的特性相對比較簡單,我們只希望他是一個連續函數。可是,在實質運用上,二分法所產生的數列收斂起來有點太慢。如果要運算f需要很多計算量,這個方法就不太實際。這裏就引入疊代方法的第二個重點。除了上面關於修練性的要求,我們還希望這個產生的數

Cora日常- 食食食

圖片
#cat #kitten #kittycat #kittensofinstagram #catsofinstagram #catlife #catlovers #meowstagram #ilovecatst #ilovemycat #catstagram #catoftheday #catlover #catphoto #cats_of_instagram #catofinstagram #catofinstagram #catsloversworld #sleepingcat #stillonbed # #貓 #貓星人 #貓奴日常 #貓主子 #貓貓日常 #貓貓 #貓咪 #貓咪日常   #貓奴 #食食食 #食好西

計算數學入門系列 - 疊代方法(一)

圖片
上面提到一些疊代方法(Iterative Methods)去解決線性代數問題。回想一下,大部份計算數學的方法都是建基於疊代的概念。所以,在這篇文章會簡單介紹一下疊代方法以及他在不同地方的應用。 首先解釋一下為什麼我們需要用疊代的方法。對於一般同學來說,解決數學的問題,應該都可以找到一個確切的答案(Exact Solution)。要解線性代數問題2x-1=0,作為學生,我們都必須會得到x=1/2。一個比較普及的問題,要解決f(x)=0,我們都會想辦法運用不同的數學技巧,把未知數x用一些數學的表示方式寫出來。可以的話,我們會把未知數x放到一邊,把數值弄到方程式的右手邊。這樣我們就把函數f的根(Root)找出來。也可能,把函數f寫成多個項(Terms)的乘積(Product),函數f的根就會使所有項的根的集合。舉個例來說,如果函數f(x)=x2-1,我們會把f(x)寫成(x+1)(x-1),這樣函數f的根就是1或者-1。這些方法,同學們都用了好幾年的時間,在中學生涯不斷學習不同的數學技巧,把不同函數的情況都學過一遍。但事實上,還是有很多函數,我們是沒有方法可以把他的確切解找出來。 其中一個例子,我們可以想像函數f(x)=x-cos(x)。我們當然認識g(x)=x和三角函數h(x)=cos(x),可是要找出g(x)=h(x),情況就不是那麼簡單。純數學家第一個想解決的問題,就是想知道這個函數是否有實(Real)的根,這是個存在性(Existence)的問題。要解決這個問題我們可以使用介值定理(Intermediate Value Theorem, IVT)。簡單來說,這個定理指出,對於一個連續函數(Continuous Function)f,我們必定可以在線段(a,b)中間找得到一點x=c,令到f(c)的數值在f(a)和f(b)之間。在上面的例子來說,我們知道f(0)=-1<0而且f(1)=1-cos(1)>0,所以我們就知道在0到1之間一定存在着一個y令到f(y)=0。而且個y就是我們想找到的函數f的根。純數學家下一個將會問的問題,是想知道這個y是否函數f唯一的根。這是個唯一性(Uniqueness)的問題。對於形容數學家來說,我們更想知道的,是這個根到底是什麼。如何可以把這個答案找出來。 上面說過,我們沒有方法把確切解找出來。所以我們就需要有一些近似值的方法

Cora日常 - 睡在窗旁邊

圖片
#cat #catsleeping #dontwakemeup #catsofinstagram #catlife #catlovers #meowstagram #ilovecats #ilovemycat #catstagram #catoftheday #catlover #catphoto #cats_of_instagram #catofinstagram #catofinstagram #catsloversworld #sleepingcat #stillonbed # #貓 #貓星人   #貓奴 #貓奴日常 #貓主子 #貓貓日常 #貓貓 #貓咪 #貓咪日常 #未起身 #咪嘈 #瞓晏覺

不同研究院課程的分別(二)

圖片
除了上面的一些研究相關的研究生課程,其實還有一些不需要做研究的碩士課程。在這裏先做一下廣告。以科大數學系為例,我們就舉辦了三個不同的理學碩士(Master of Science)課程。歷史最悠久的,是我們自己舉辦的Financial Mathematics。另外一個比較新的,是一個叫做Mathematics for Educator(MAED)的課程。還有一個非常熱門的,是跟計算機工程學系一起合辦的大數據科技(Big Data Technology)。還有一個跟商學院和工學院一起合辦的 Financial Technology。這些理學士學位,同學只需要修讀足夠的科目拿取足夠的學分便可以了。這些學位,如果以全日制學生來說,一般一年已經可以畢業。如果同學有全職工作,用兼讀的方式來完成這個學位的話,就可能需要兩年的時間。 坦白一點來說,這些學位對大學來說實在是一個賺取「外快」的渠道。由於香港絕大部份大學都是公立大學,日常營運都必須以靠政府的支持。可是由於政府對大學資助 或者研究經費的支援都與實際需要有很大的落差。大學都由於需要不斷發展,需要在不同渠道籌集資金。一個方法是希望可以在社會上多找到一些捐助,出售一些建築物或者是學院的命名權。另外一個方法就是多開辦這些碩士學位,從學費裏面賺取額外的經費。跟上邊研究相關的學位不同,這些只需要修讀課程的碩士學位並不會收取生活費,反而會從學生身上收到學費。相比本科生的學費,這些研究院課程收費可能比較浮動,也可以說豐儉由人。便宜一些的就好像我們MAED,學費不需要HK$100,000。比較昂貴的,包括我們商學院舉辦的EMBA 課程,學費差不多HK$1,500,000,相差15倍。便宜一點點的MBA 課程,學費也差不多HK$600,000。上面提到的FinTech 課程,學費是HK$300,000。所以對學校,或者營運這個研究生課程的學系來說,收生絕對是「多多益善」。如果同學的本科成績不算太差,能夠顯示到自己有能力完成這個碩士課程,我相信大部份這些課程都會盡量將收生人數增加到自己可以負擔的極限。如果對同學對這些題目有興趣,其實就已經可以申請。不需要太擔心自己的本科生學位是否能夠與這個碩士課程百分百吻合。  自己曾經幫忙FinTech 這個課程,教授一個數學相關的「保底」科目。同學如果未能通過在入學前所參與的數學測試,就需要用半個學期的時間

Cora日常- 食手手

圖片
  #cat #kitten #kittycat #kittensofinstagram #catsofinstagram #catlife #catlovers #meowstagram #ilovecatst #ilovemycat #catstagram #catoftheday #catlover #catphoto #cats_of_instagram #catofinstagram #catofinstagram #catsloversworld #sleepingcat #stillonbed # #貓 #貓星人 #貓奴日常 #貓主子 #貓貓日常 #貓貓 #貓咪 #貓咪日常   #貓奴 #吃手手 #食好西

不同研究院課程的分別(一)

圖片
最近跟一些同學閑聊,發覺他們對不同的研究生課程抱着很大的疑惑,搞不清楚不同的學位到底有什麼大分別。所以在這篇文章,希望可以簡單介紹一下在研究院裏面不同的課程,以及解答在研究院是否真的就需要做研究的一些問題。 以往我一般討論的研究生課程,大多着重是所謂的哲學碩士(Master of Philosophy,簡稱MPhil)或者是博士(Doctor of Philosophy,簡稱PhD)。他們的分別在於一個是兩年的碩士學位,另外一個有四至七年不等的博士學位。中間的過程,其實分別不大。同學無論在那一個課程,我們都希望他們對本科有多一點深入的了解,所以他們都必須要修讀一些不同的科目。去加大對博士生的挑戰(!),我們還會設計一些專門的考試(叫做Qualifying Examinations)去測試博士生是否有能力解決一些難道比較高的問題。大部份情況,同學如果已經修過相關的科目,多花了一點時間鑽研學科上的知識,對這些考試應該都不會感覺到太困難。還記得自己修讀博士時也曾經試過 在一個科目上「肥佬」。多得一些學科課程的幫助,再考一次也通過了這些評核。不同院校在設計這些考試時會有不同的安排。有一些學校會需要所有數學系的同學參加實變函數論(Real Analysis)和複變函數論(Complex Analysis)的考試。這些對應用數學的同學來說可能就相對比較吃力了。 除了要修讀不同的科目,上面提到的兩個研究生課程,都包含了很重的研究成份。我經常和學生說,在修讀這兩個課程是最重要的,還是做研究。沒有人會理會你是否在不同科目來拿得很好的成績。這兩個課程的目的其實是要了解自己是否有興趣和能力 將研究作為你的事業。在修讀哲學碩士時,你可以用兩年的時間開始一個研究項目,嘗試一下,看看自己是否真的有興趣用上一輩子去做學術研究。如果結論是否的話,那也只是用了兩年的時間嘗試一下一些新的事情,看起來也沒有太多的損失。作為一個博士生,你就必須用四年的時間去證明自己研究的實力。在畢業的時候如果沒有一些很好的研究成果,其實在學術界也很難找到工作。其他人根本不會看你在博士課程所修讀的科目,他們會看的,是你在這幾年內發了多少文章,有多少研究成果。大家要看到的,是你有能力作為一個獨立的研究者,在學術界裏面發掘一些新的知識。 在學術界生存,除了要做研究以外,我們還必須要懂得如何去授課。所以這兩個研究生課程,我們都會

YouTuber系列 - 科學計算(四)ENG

圖片
  20210304 跟 IRE 同學介紹應用數學和計算數學的一節課。最後一節介紹一下一些反問題。 #math #matheducation #science #scienceresearch #research #scientificcomputing #stem #stemeducation #應用數學 #計算數學 #數學 #研究 #科研

計算數學入門系列 - 線性代數問題(二)

圖片
上面這個例子,我們考慮一個2X2 的矩陣,矩陣內每一個元素都是1。由於這個矩陣的兩橫行相等,在計算時,程式就會跟我們說這方程組並不何解。 對於MATLAB 來說,最神妙(不是之一)的內置程式,就是這個「\」,用法是 >> x=A\b; 這個計算裏面,並不會計算A的逆。這個表達式要求程式找出x 令到A乘以x等於右手邊的向量b。MATLAB 會根據A的特性用不同的方法把一個答案找出來[ 1 ]。 自己以往做過一些問題,需要解決的方程組非常巨大也異常複雜,運用其他譬如說C++ 的軟件,根本沒有辦法把方程組的答案找出來。還是需要用到MATLAB 這個神奇的內置程式。網上有人指出,這個backslash 內置函數可能有高達25萬行的程式[ 2 ]。因為裏面考慮到那麼多不同的情況,而每一個情況用到的計算方法也比較專業,所以甚至乎你跟我說程式裏面其實有一百萬行,自己一點也不會驚訝。由於這個「秘密武器」,自己也漸漸少用了FORTRAN/C/C++ 的這些編寫程式語言,而越來越多使用MATLAB。 雖然這個內置函數非常強大,但是在研究裏面反而會帶來一點困擾。由於我們很多時候都希望自己做出來的研究成果可以比其他人複製(就是所謂的reproduceable),如果其他研究員並不是使用統一編程語言,有機會沒有辦法再次做出我們在論文裏面提到的結果。所以有些時候,我們反而不希望太過倚賴這個函數。 要避免這個倚賴,有些時候我們就需要仔細考慮矩陣A 的一些特性,去使用其他的計算方法解決這個線性代數問題。在本科生的課程,數值分析的這門課裏面,我們就會介紹幾款經典的迭代方法(Iterative Methods) 去把問題的近似值找出來。在實質應用上,我們一般都不會使用這些經典的方法,可是他們也可作為入門,讓我們了解如何設計一些好像(Preconditioned) Conjugate Gradient 或者Multigrid 等等的新的迭代方法。仔細的也不會在這裏討論有興趣的同學可以看看上面的參考書。MATLAB 裏面也有不同的程式,包括了minres, gmres, fft, pcg 等等的方法。雖然很多時候效果沒有「\」那麼好,可是在使用上我們可以有多一點的控制。