發表文章

[Linear Algebra] Gilbert Strang 課程心得(三)

圖片
聽完 MIT 線代課程 Lecture 3 的心得記錄在此: (Gilbert Strang 的教學,真的有把線代的精隨傳遞出來,這也是我喜歡他的影片的緣故) 1.   兩矩陣相乘:A*B = C,代表把 A 的 column 做 combination 後一個一個 column 排起來變成 C,也可以想成把 B 的 row 做 row operation 後一個一個 row 排列起來變成 C 。 2.   兩個矩陣相乘:A*B = C,也可以視為 A 的 column vector * B 的 row vector 的總和,舉例: [2  7]                  [2]               [7]           [3  8]  [1  6]       [3] [1  6] +  [8] [0  0] [4  9]  [0  0]  =   [4]               [9] 我們觀察一下每一個 column vector 跟 row vector 的相乘,所代表的意義: 舉例來說: [2]                [2  12] [3] [1  6]  =  [3  18] [4]                [4  24] 我們不難發現,右邊的: [2  12] [3  18] [4  2...

[Linear Algebra] Gilbert Strang 課程心得(二)

圖片
利用年假,聽了 MIT 線代課程 Lecture 2 。 整理心得: 1.   matrix * column = column。亦即將 column 左乘矩陣會得到 column 向量。 2.   row * matrix = combination of the row。亦即矩陣左乘 row 向量,得到 row 的線性組合。 3.   對矩陣右乘另一個矩陣,形同作 column operation: [a  b] [0  1]    [b  a] [c  d] [1  0] = [d  c] 4.   用程式解線性系統 Ax = b 時,目標通常是將 A 做 row operation 變成上三角矩陣。因此用增廣矩陣代表此系統:[ A | b ] ,我們可以對 A 矩陣做一系列的 row operation,並得到增廣矩陣 [ I | b' ] ,則 b' 即為 x 的解。 5.   Inverse matrix 的本質: 試想有一個矩陣 A 為: [ 1  0  0] [-3  1  0] [ 0  0  1] 則 A 的 Inverse A' ,滿足 A'A = I ,所以 A' 其實就是將 A 的 row operation 逆向操作。 由於 A 的作用,為將第二個 row 減去 3 倍的第一個 row,因此 A' 就是此動作的逆操作: [ 1  0  0] [ 3  1  0] [ 0  0  1] 不需要用克拉瑪定理在求解逆矩陣。

[Think] 向量組合問題

以下是我自己設計的一道題目。 今有兩個式子。 式子一: a1*x1 + a2*x2 + a3*x3 + ...... am*xm 式子二: b1*y1 + b2*y2 + b3*y3 + ...... bn*yn 其中 a1 ~ am 為常數且 a1 > a2 > ... > am, 且 b1 ~ bn 為常數且 b1 > b2 > ... > bn。 令 x1~xm 以及 y1~yn 皆為任意常數, 我們可以找到 p1~pm 以及 q1~qn 使得以下式子成立: a1*(x1-p1) + a2*(x2-p2) + a3*(x3-p3) + ...... am*(xm-pm) = b1*(y1-q1) + b2*(y2-q2) + b3*(y3-q3) + ...... bn*(yn-qn) 求 (p1+p2+p3+...+pm) + (q1+q2+q3+...+qn) 最小值? [solution] 以下是我的想法。如有錯誤請指正。 假如等號左右兩邊沒有 p1~pm,也沒有 q1~qn,這樣的 Left Hand Side(LHS) 為:a1*x1 + a2*x2 + a3*x3 + ... + am*xm,Right Hand Side(RHS) 為:b1*y1 + b2*y2 + b3*y3 + ... + bn*yn,LHS 和 RHS 先比較大小。 我們將 RHS 和 LHS 想像成槓桿左右力矩平衡的問題。a1~am 以及 b1~bn 視為力臂,x1~xm 以及 y1~yn 視為各個力臂位置的重量。今槓桿左右力矩不平衡,想抽掉重量,總共抽掉的重量要越少越好。 假設上述條件下,LHS 較小,就令 p1~pm 皆為 0。這是很明顯的,p1~pm 要為 0 才會是最佳解。否則 RHS 勢必要抽掉更多重量才能達到力矩平衡。 令 RHS-LHS = k。 找到 bc,使得 (b1*y1 + ... + bc*yc) = V > LHS,且 b1*y1 + ... bc-1 * yc-1  (p1+p2+p3+ ... + pm) + (q1+q2+q3+...+qn) 最小值即為 {yc - (V-LHS)/bc} + (yc+1 +...+ yn)。也就是我們將 b...

[定理] 兩相切圓與第三圓相切,一線與三圓均相切

圖片
設以 O 為圓心的圓半徑為 r1,與另一圓心為 P 半徑為 r2 的圓相切。 兩圓有一公切線,交兩圓於 a、b 兩點。 今有第三圓(圓心為 Q,半徑為 r3)與上述兩圓均相切,且同時也與線段 ab 相切於 c 點。 試證明線段 ac 與線段 cb 的比例為 √r1:√r2 [Solution] 如圖所示,用兩個畢氏定理,即可證明:

[Contest] 連續正整數的和

複習一個競賽題目,這是一個好題: 有些正整數可以表示為連續正整數之和,例如 21 = 6+7+8,21 同時可以表示為 21 = 10+11,我們稱為 21 至少有兩種連續正整數和的表示法。 設一個正整數 n,可以表示為 6 種連續正整數之和,求 n 最小值。 (先想一想再看下面答案喔 ◕‿◕) [Solution] 我們先列一下最小的幾種連續正整數的情況。 a + (a+1) = 2a + 1 b + (b+1) + (b+2) = 3b+3 c + (c+1) + (c+2) + (c+3) = 4c+6 d + (d+1) + (d+2) + (d+3) + (d+4) = 5d+10 e + (e+1) + (e+2) + (e+3) + (e+4) + (e+5) = 6e+15 f + (f+1) + (f+2) + (f+3) + (f+4) + (f+5) + (f+6) = 7f+21 g + (g+1) + (g+2) + (g+3) + (g+4) + (g+5) + (g+6) + (g+7) = 8g+28 h + (h+1) + (h+2) + (h+3) + (h+4) + (h+5) + (h+6) + (h+7) + (h+8) = 9h+36 ......... 可以把這幾個式子,當成正整數產生器。 每個式子提供了 a, b, c ... 等參數,讓我們可以產生我們要的正整數 n。 我們目標為,尋找有沒有可能在最小的六個正整數產生器中,使得每個產生器都生成同一個正整數 n。 因此我們可以先把這幾個式子各自能產生的正整數,做基本分類。 2a+1 生成的正整數,必定為 odd (奇數)。 3b+3 生成的正整數,可能為  odd  也可能為 even(偶數)。 4c+6 為 even。 5d+10 為 even 或  odd 。 6e+15 為  odd 。 7f+21 為 even 或  odd 。 8g+28 為 even。 9h+36 為 even 或  odd 。 如果 n 為 odd ,可以挑選第 1、2、4、5、6、8 號產生器。 ...

[Linear Algebra] Gilbert Strang 課程心得(一)

圖片
我最近聽 MIT 的 Gilbert Strang 教授的線性代數課程,有學到一些之前沒想過得觀念,因此記錄心得。 Lecture 1: 在這一講中,教授了線性代數的基本出發點:基底向量在空間中的角色。 線性代數的出發點,如下面的系統: 2x -   y  = 0 -x + 2y  = 3 這兩個式子就是數組,經過線性操作運作,會變成另一群數字的過程。 教授提出 row picture 跟 column picture 的觀念。 用 row picture 的角度,這兩個式子,代表: [-2  -1][x]      [0] [-1  -2][y]  =  [3] 即 A x = b 這個矩陣式子,可以理解成某個向量 x 經過 A 系統的操作之後, x 被轉變成另一個向量 b 。這個 b 有可能代表向量被旋轉,或者被伸縮。這看起來很類似一元一次方程式,而線性代數事實上也是將矩陣求解視為一元一次方程式。 對於 column picture 的角度而言,這兩個式子變成:       [2]          [-1]      [0] x [-1]  +  y [2]    = [3] 用這個觀點,整個問題就變成 兩個向量(column vector)是否能展延出另一個向量 。 結論 A x  =  b 可以視為,若 x 已知,則要將 x 轉換成  b ,可以想辦法找一個 A 矩陣當作工具,對 x 做內積運算,產生 b  。只要找到這個 A 矩陣,就可以重複利用,到處去對任何 x 以外的其它向量,做相似的轉換的工作。 換另一個觀點,若  x 向量未知,則 A x  =  b 的意義變成如何將 A 矩陣的 column vector 展延成 b 向量 。 求 A 的過程,可以視為歸納法:假如在生活中...

先熟悉數學語言

圖片
中學生常說的一句話:學數學到底有什麼用?生活到底哪裡用得到這些數學公式? 學校沒有教的數學觀念 好的。當你不知道數學家在做什麼,例如為什麼要把 -1 放到根號裡面變成複數 i ,或者為什麼發明微積分,為什麼要算曲線底下的面積等等時,你可以觀察平常練習的那些數學題目,你會發現幾乎所有數學題目在訓練我們三件事: 歸納法,也就是從事物的一小部份,得知整體事物的全貌。歸納法的本質是什麼?歸納法是一種資料壓縮的觀念。例如一杯咖啡,只需要喝一口,就可以知道整杯咖啡的味道,不需要整杯都喝完才能品嚐出咖啡的內容。生活中的事物,如果都要鉅細靡遺的描述,浪費的資料量跟資源太大了,如果我們鍛鍊出一眼就看出這些事物是由相同模式的小部份組合而成,那只需要從一顆樹木,就可以看透整片森林。 歸納法,就是教我們從事物的片段,看見整體的面貌。 抽象。一個蘋果 + 一個蘋果 = 兩個蘋果,這是描述現象,把現象抽離,就變成 1+1 等於 2。抽離現象,回到純數學本質,叫做抽象。懂了1+1=2 這種抽象的概念,就可以將抽象的概念應用在各種現象上,例如一個梨子 + 一個梨子= 兩個梨子。 學校教的數學,常常算了半天都是在抽象的層面做計算,造成我們不懂這些數學到底能幹麻。事實上這也是學校教育失敗的地方,甚至連數學老師也不懂這些數學在幹麻,他們往往盲目的搪塞知識給我們。 事實上我認為在算數學時,稍微了解一下這些數學到底是為了解決什麼問題而發明的,非常有幫助。 牛頓跟萊布尼茲不會某天一早睡覺起來,心血來潮坐下來,瞬間發明了微積分,他們一定是為了解決某個問題,有了一個概念,進而想發展這套數學工具。 同理,數學家也不會某天覺得好玩忽然把 -1 故意放到根號裡面,然後發明複變函數,這些抽象數學,一定是為了解某種問題,而發展出來的。 抽象,就是現象已經被抽離,所以讓我們適時地把現象,重新融合回抽象的數學式中吧。當我們運算抽象的 1+1=2 時,我們必須了解這些可以應用在計數跟數線的平移,看到複數 i 時,了解我們將指數方程改變成代數方程,看到 Euler 公式,了解我們是在描述一個點透過另一個空間移動到另一個點的過程,看到矩陣,知道我們要怎麼告訴電腦用更省力的方式處理大量的數據。 讓現象回到數學式中,數學才會變成一個省力的工具,數學是幫助我們生活解決問題的思考方式,而不是讓我們頭痛的東西。 演繹法。即...