根据弧中点多边形文中的计算, 当$a_i$都等于$1/n$时取等:
... 原文只计算了区域内的驻点, 没有计算边界上的点, 导致它得出的最大值是错的?
注意$n=4$情况和$n>4$情况的不同:
- n=4;
- NullSpace[Array[RotateRight[PadRight[{1,-1,1,-1},n],#]&,n]]
Copy the Code 输出{{1, 0, 0, 1}, {-1, 0, 1, 0}, {1, 1, 0, 0}}
而当$n=5$时(任何$n>4$时):- n=5;
- NullSpace[Array[RotateRight[PadRight[{1,-1,1,-1},n],#]&,n]]
Copy the Code 输出{{1, 1, 1, 1, 1}}
当$n=4$时,$\left(\frac m2,\frac m2,\frac m2,\frac m2\right)$和$\left(m,m,0,0,0\right)$都是极大值点,而且取值相同:
$$f\left(\frac m2,\frac m2,\frac m2,\frac m2\right)=4\left(m\over2\right)^2=m^2=f\left(m,m,0,0,0\right)$$
这也是函数的全局最大值:
- Maximize[{a1 a2 + a2 a3 + a3 a4 + a4 a1, a1 + a2 + a3 + a4 == 1}, {a1, a2, a3, a4}]
Copy the Code 输出{1/4,{a1->1/2,a2->0,a3->0,a4->1/2}}
当$n=5$时,只有$\left(\frac{2m}5,\frac{2m}5,\frac{2m}5,\frac{2m}5,\frac{2m}5\right)$是极大值点,注意$(m,m,0,0,0)$是边界点但不是极大值点,但是:
$$f\left(\frac{2m}5,\frac{2m}5,\frac{2m}5,\frac{2m}5,\frac{2m}5\right)=5\left(2m\over5\right)^2=\frac45m^2<m^2=f(m,m,0,0,0)$$
这是因为, 函数在$\left(\frac{2m}5,\frac{2m}5,\frac{2m}5,\frac{2m}5,\frac{2m}5\right)$附近是小于$\frac45m^2$的, 但是在远处趋于∞, 所以没有全局最大值. 限定了$a_i>0$后, 就在边界上取最大值.- Maximize[{a1 a2 + a2 a3 + a3 a4 + a4 a5 + a5 a1, a1 + a2 + a3 + a4 + a5 == 1}, {a1, a2, a3, a4, a5}]
Copy the Code 输出是∞. |