怎么用Mathematica证明简单的不等式问题?

作者:彼岸花开 | 创建时间: 2023-05-17
设x,y,z是实数,求证:x^2+y^2+z^2>=x y+y z+z x。 这个问题,用初等数学的知识就可以很容易证明: 左边-右边=[(x-y)^2+(y-z)^2+(z-x)^2]/2>=0. 不过,还是要折腾一下Mathematic...
怎么用Mathematica证明简单的不等式问题?

操作方法

FullSimplify[x^2+y^2+z^2>=x y+y z+z x] 直接化简表达式,没效果。

如果约定x、y、z都是实数,就会返回True,说明这个结论是对的。 FullSimplify[x^2+y^2+z^2>=x y+y z+z x, Refine[Element[{x,y,z},Reals]]]

用Mathematica对x^2+y^2+z^2-x y-y z-z x进行配方,使之等于 (b*x+c*y+a*z)^2+(c*x+a*y+b*z)^2+(a*x+b*y+c*z)^2 只要求出a、b、c的值来,就行了。 f[x_,y_,z_]:= (({a,b,c}.#&/@Table[RotateLeft[{x,y,z},n],{n,0,2}])^2//Total) -(x^2+y^2+z^2-x y-y z-z x) sol=Solve[f[0,0,1]==0&&f[1,0,0]==0&&f[0,1,0]==0&&f[1,1,1]==0&&f[1,2,3]==0,{a,b,c}]

把a、b、c代入进去,得到配方式: ({a,b,c}.#&/@Table[RotateLeft[{x,y,z},n],{n,0,2}])^2/.sol[[1]]//Total

由于b、c都是用a来表示的,只有2-3 a^2≥0,才能保证b和c都是实数。 所以a^2≤2/3。 代入一个合适的数字a=0,恰好得到本文开始的那个式子。 (({a,b,c}.#&/@Table[RotateLeft[{x,y,z},n],{n,0,2}])^2/.sol[[1]]//Total)/.a->0

若是令a=Sqrt[1/3],那么配方式就变成了: (({a,b,c}.#&/@Table[RotateLeft[{x,y,z},n],{n,0,2}]/.sol[[1]])/.a->Sqrt[1/3]//FullSimplify)^2//Total

温馨提示

用Mathematica证明复杂的不等式,现在我还没找到方法。
点击展开全文

更多推荐