iseemu2009 发表于 2025-9-20 11:37:06

求表达式的最大精确值

如图

iseemu2009 发表于 2025-9-20 11:39:08

为方便大家输入,表达式如下:
Sqrt +
Sqrt +
Sqrt

mathe 发表于 2025-9-20 12:43:48

a : b : c=3 : 2 : 1是一个极值点,当然应该还有很多其它极值点

mathe 发表于 2025-9-20 12:53:56

设A=2*a^2 + (2*b + 2*c)*a + 2*b^2 - 2*b*c + 2*c^2, B=5*a^2 + (4*b - 2*c)*a + 2*b^2 + 4*b*c + 5*c^2, C=26*a^2 + (-2*b + 10*c)*a + 26*b^2 + 10*b*c + 2*c^2
记记\(X=\frac1{2\sqrt{A}},Y=\frac1{2\sqrt{B}},Z=\frac1{2\sqrt{C}}\),使用拉格朗日法,可以得到
\(\begin{bmatrix}\frac{\partial A}{\partial a}&\frac{\partial B}{\partial a}&\frac{\partial C}{\partial a}\\\frac{\partial A}{\partial b}&\frac{\partial B}{\partial b}&\frac{\partial C}{\partial b}\\\frac{\partial A}{\partial c}&\frac{\partial B}{\partial c}&\frac{\partial C}{\partial c}\end{bmatrix}\begin{pmatrix}X\\Y\\Z\end{pmatrix}=-2\lambda\begin{pmatrix}a\\b\\c\end{pmatrix}\)
由此我们可以通过解线性方程组,将X,Y,Z表示为\(a,b,c,\lambda\)的表达式。
然后计算\(X^2A=Y^2B=Z^2C\)可以得到两条关于\(a,b,c\)的方程,结合\(a^2+b^2+c^2=1\)求解就可以找到所有极值点。
当然最后我们还需要分析一下边界条件,也就是a=0或b=0或c=0的情况,这个边界条件下的计算方法还是类似上面的方法,又可以得到一些边界上极值点,然后再比较a=b=0,b=c=0,c=a=0这个特殊情况即可。
两个式子分别是

(a + (b - 5*c))^2(a^4 + (15*b - 51*c)*a^3 + (-11*b^2 + 83*c*b - 8*c^2)*a^2 + (-66*c*b^2 + 45*c^2*b - 51*c^3)*a + (-32*b^4 + 88*c*b^3 - 51*c^2*b^2 + 73*c^3*b + c^4))=0

(a + (-2*b + c))^2(2*a^4 + (-27*b + 30*c)*a^3 + (-4*b^2 + 97*c*b - 70*c^2)*a^2 + (-27*b^3 + 78*c*b^2 - 123*c^2*b - 66*c^3)*a + (2*b^4 + 65*c*b^3 - 150*c^2*b^2 + 161*c^3*b - 112*c^4))=0

如果两个表达式都取前面线性部分可以得到a : b : c=3: 2: 1

wayne 发表于 2025-9-20 14:07:50

最大值是$4 \sqrt{3}+\sqrt{6}$,在$a\to \frac{3}{\sqrt{14}},b\to \frac{2}{\sqrt{14}},c\to \frac{1}{\sqrt{14}}$

sol=Solve[{5 a^2+2 b^2+a (4 b-2 c)+4 b c+5 c^2-x^2==0,2 a^2+2 b^2-2 b c+2 c^2+a (2 b+2 c)-y^2==0,26 a^2+26 b^2+10 b c+2 c^2+a (-2 b+10 c)-z^2==0,a^2+b^2+c^2==1,D==0,D==0,D==0,D==0,D==0,D==0,x>=0&&y>=0&&z>=0&&a>=0&&b>=0&&c>=0},{x,y,z,x1,x2,x3,x4,a,b,c},Reals]

iseemu2009 发表于 2025-9-20 18:06:25

解法代码:
rad1 = Sqrt;

rad2 = Sqrt;

rad3 = Sqrt;

str = {{"PossibleClosedForm", 1}, "FormulaData"};

fct = rad1 + rad2 + rad3;

max = WolframAlpha]], str][];

a0 = WolframAlpha]], str][];
b0 = WolframAlpha]], str][];
c0 = WolframAlpha]], str][];
sol = {max, {a -> a0, b -> b0, c -> c0}}

mathe 发表于 2025-9-20 18:26:36

还有两组极值点
(a,b,c)=(0.25904482465349871891643137537696585877,0.95815198466615628128389000450850916646,0.12182180880509007096946791376867777394)
极值8.5941119956690730774148542077490047253,以及
(a,b,c)=(0.54800547766693929842496742894069240031,0.74506015023523166755614024692250185334,0.38023067863927512226681789738105608210),极值9.1776387800854108266702262124740051875,都小于\(4\sqrt{3}+\sqrt{6}\).

但是我们还需要处理边界条件,比如b=0, 我们可以得出在\(a=c=\frac{\sqrt{2}}2\)时,结果应该是\(\sqrt{6}+\sqrt{3}+\sqrt{27}=\sqrt{6}+4\sqrt{3}\)
也就是我们可以在边界也正好可以无限逼近这个极大值;同样a=0或c=0的最大值也相同,都是另外两个数相等的时候取到。这些数据是设计好了的。

aimisiyou 发表于 2025-9-22 16:50:05

是不是有几何解法?

mathe 发表于 2025-9-23 08:02:46

这个题目比较特殊,用线性代数来证明比较简单。
设矩阵
\(A=\begin{bmatrix}2&1&1\\1&2&-1\\1&-1&2\end{bmatrix},B=\begin{bmatrix}5&2&-1\\2&2&2\\-1&2&5\end{bmatrix},C=\begin{bmatrix}26&-1&5\\-1&26&5\\5&5&2\end{bmatrix}\)
于是题目要求求
\(\max\{\sqrt{vAv'}+\sqrt{vBv'}+\sqrt{vCv'}\}\), 其中\(v\)为行向量\((a,b,c)\)。
计算可知A,B,C均半正定,其中A的特征值为0,3,3, B的特征值为0,6,6,C的特征值为0,27,27
而且它们最大的特征值有公共特征向量\((3,2,1)'\),
由此我们得到\(\max\{\sqrt{vAv'}+\sqrt{vBv'}+\sqrt{vCv'}\}\le \sqrt{3}+\sqrt{6}+\sqrt{27}\),当且仅当\((a,b,c)=\pm\frac{(3,2,1)}{\sqrt{14}}\)时取到

iseemu2009 发表于 2025-9-23 21:54:41

mathe 发表于 2025-9-23 08:02
这个题目比较特殊,用线性代数来证明比较简单。
设矩阵
\(A=\begin{bmatrix}2&1&1\\1&2&-1\\1&-1&2\end{bma ...

解题的要求还是很高的,忘完了。
页: [1]
查看完整版本: 求表达式的最大精确值