數論人生

數論是一門學科,也是我的人生。有人把酒論英雄,我用數字描天下。
正文

用幾何方法求極值

(2022-03-10 17:42:00) 下一個

世間所有的情事都在變,任何穩定都隻是暫時的。變化也總是有一個範圍的,不可能延伸到無邊的天際。明白了這個範圍,世間萬物才能安身立命;各個學科設立的根本目的也正是在於此。在引力場中,物體總是沿著最短路線行進;各種波通過媒體界麵時,總是走時間最短的折線;各種能量的擴散,總是在最短時間內,占據最大的空間區域;仿佛是神安排好的一般。人呢,則隻是找出這些現象的數學表達式;此乃各門計量學科的根本目的。

最早給出求表達式如E(x)的極值的方法之人,是法國律師、地方行政長官、業餘數學家Fermat。據說他也是從別人那裏學來的,但無從考證了。方法是這樣的:列方程E(x + t) – E(x) = 0;把方程展開,兩邊同時除以t;再令t = 0,解出x。其解就是極值點。用現在的話來說,就是導函數為零的點;當然,這隻是一個必要條件,並非充分。再用Taylor展開式去判定一下,一元函數的極值問題就解決了。

對於多元函數E(x, y, z, …)呢,可以固定其它變量,隻讓其中一個變;這就導致了偏導數為零。同樣用Taylor展開式導出的二階全微分,去判定一下其正定性或負定性,就可知道,那些偏導數為零的點,是局部極小值或是局部極大值,或者根本就不是極值點。在理論上,無條件極值問題是解決了;實際上,解方程太難,人類隻能解到4次方程,5次或以上的多項式方程,其解根本就不是初等函數式所能表達的。人們隻能估計範圍,找個近似解。

所幸的是,我們還有幾何方法。顯然,平麵上兩點之間的最短路線是直線段;求兩個根式之和的最小值,每個根式下是x的二次多項式,隻要把它看成兩個線段之和,把它們“掰直”就可以了(實際上就是三角形不等式)。多個根式之和呢,逐個來。比如,AIME 1991年的一道題,要求和式sigma{sqrt[(2k-1)^2 + (ak)^2], k = 1, 2, …, n} 的最小值,其中ak為正實數,其和固定為17。代數上,有Minkowski不等式可以用;幾何上,用sqrt[((a1)^2 + (y+b1)^2) + sqrt[(a2)^2 + (y – b2)^2] 大於或等於sqrt[(a1 + b1)^2 + (b1+b2)^2],再遞推即可。

在一條直線上,給定n個點,要找一個點,使得它到那n個點的距離之和最小;答案是中間位置的那個點(n為奇數),或中間兩點之間的任何一點(n為偶數時)。在一個平麵上呢,n = 4時,答案是四邊形對角線的交點。n=3時,此點叫做Fermat點;若有一個角大於或等於120度,此點就是Fermat點。否則,找任何一邊向外作一個等邊三角形,再作其外接圓,連接圓心到此邊相對的頂點,連線與圓弧的交點就是Fermat點。當n>4時,尚無方法求解,盡管我們知道這種點唯一存在。

對於代數式的極值,一般可以采用配平方的方法或者使用均值不等式。可若能引入幾何元素,問題更容易求解。比如,CMO 2009年的一道題,要求函數f(x, y, z) = (x + y + z)(xy + yz + zx)/[(x + y)(y + z)(z + x)]的值域,其中x, y, z為正數。當然可以使用偏導數的方法,可若設x + y = a, y + z = b, z + x = c, a, b, c則為一個三角形的三邊長;使用正弦定理,可設a = dsinA, b = dsinB, c = dsinC,d為三角形的外接圓的直徑; A + B + C = 180°。函數式化為

f = (a + b + c)(2ab + 2bc + 2ac – a^2 – b^2 – c^2]/(8abc)

= (sinA + sinB + sinC)[2sinAsinB + 2sinBsinC + 2sinCsinA – (sinA)^2 – (sinB)^2 – (sinC)^2]/(8sinAsinBsinC)

= (sinA + sinB + sinC)[(sinA + sinB + sinC)^2 – 2(sinA)^2 – 2(sinB)^2 – 2(sinC)^2]/(8sinAsinBsinC)

使用和差化積以及倍角公式,我們有sinA + sinB + sinC = 4cos(A/2)cos(B/2)cos(C/2), cosA + cosB + cosC = 4sin(A/2)sin(B/2)sin(C/2) + 1,以及2(sinA)^2 + 2(sinB)^2 + 2(sinC)^2 = 3 – [cos2A + cos2B + cos2C] = 4cosAcosBcosC  + 4;因此,

f = [8(cos(A/2) cos(B/2) cos(C/2)) ^2 – 2cosA cosB cosC - 2]/[8sin(A/2) sin(B/2) sin(C/2)]

= [(1 + cosA)(1 + cosB)(1 + cosC) – 2cosAcosBcosC – 2]/[8sin(A/2) sin(B/2) sin(C/2)]

= [(1 – cosA)(1 – cosB)(1 – cosC) + 2(cosA + cosB + cosC) – 2]/[8sin(A/2) sin(B/2) sin(C/2)]

= sin(A/2) sin(B/2) sin(C/2) + ½ = [1 + cosA + cosB + cosC]/4;

使用導數方法可以很快求出其極值。

帶有等式條件的極值問題,在微積分中,可以用Lagrange乘子法求出;在初等數學中,可以通過解方程化為無條件極值。例如,求P = sin(A1)…sin(An)的最大值,在給定條件tan(A1)…tan(An)=1的條件下;其中A1, …,An為銳角。當n=1時,答案隻有一個:45°;當n > 1時, 可以用歸納法。從cot(An) = tan(A1)…tan(Am), 其中m = n – 1,由sin(An) = 1/sqrt[1 + (cotAn)^2],原式P= sin(A1)…sin(Am)/sqrt[1 + (tanA1…tan(Am))^2]; 若n = 2, 此式=sin(2A1)/2, 最大值為1/2. n > 2時,

P = sin(A1)…sin(Am)cos(A1)…cos(Am)/[sqrt{(sinA1…sinAm)^2 + (cosA1…cos(Am)^2)}

≤ sqrt[sin(A1)…sin(Am)cos(A1)…cos(Am)]/sqrt(2) ,最大值當每個角度為45°時達到。

帶有不等式條件的極值問題,一般可以增加一些非負變量,使其變為等式條件。如果限製條件都是線性的,可以視為高維空間裏的一個流形。把目標函數(非負)定義為距離函數,按此距離誘導出一個範數;如果範數滿足平形四邊形定理的話,則可定義內積。在內積空間中,從一個向量到一個子空間(或流形)的最短距離,可以用正交投影的辦法求出。例如,求(x – 1)^2 + (y – 2)^2 + (z – 3)^2 + (w + 4)^2 的最小值,x, y, z, w滿足x – y + z + w = 5, 2x – 3y + 2z – 4w = 12。

[ 打印 ]
閱讀 ()評論 (0)
評論
目前還沒有任何評論
登錄後才可評論.