世间所有的情事都在变,任何稳定都只是暂时的。变化也总是有一个范围的,不可能延伸到无边的天际。明白了这个范围,世间万物才能安身立命;各个学科设立的根本目的也正是在于此。在引力场中,物体总是沿着最短路线行进;各种波通过媒体界面时,总是走时间最短的折线;各种能量的扩散,总是在最短时间内,占据最大的空间区域;仿佛是神安排好的一般。人呢,则只是找出这些现象的数学表达式;此乃各门计量学科的根本目的。
最早给出求表达式如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。