wolfram-mathematica - 我该如何修改这个不等式以便 Mathematica 能够确认它们?

标签 wolfram-mathematica expression

我得到了很多这样的条件:

a (b c - (-1 + a) d (c + f g)) h > (-1 + a) i (b + a  j ) g

我有以下假设:在 Mathematica 中,所有变量都是实数且大于 0,a 也小于 1:

$Assumptions = {a, b, c, d, f, g, h, i, j} \[Element] 
   Reals && {a, b, c, d, f, g, h, i, j} > 0 && 0 < a < 1

尽管有一些简单的情况,Reduce 仍会产生以下输出:

A very large output was generated. Here is a sample of it: (a | b | c | d | f | i) [Element] Reals && ((j < 0 && (<<1>>)) || (j == 0 && (<<1>>)) || (j > 0 && (<<1>>)))

我想知道我需要如何输入它来评估 true 或 false。


手动在这种情况下它必须是真的:

  • -1+a重写为-(1-a)

    a (b c + (1 - a) d (c + f g)) h > -(1 - a) i (b + a j ) g

  • 全部移至左侧:

    a (b c + (1 - a) d (c + f g)) h+ (1 - a) i (b + a j ) g > 0

  • 由于 (1-a)>0 且所有其他变量 >0,左侧是所有 >0 的变量的乘积之和。所以这必须成立。为什么我无法让 Mathematica 确认这一点?

最佳答案

部分帮助:

这个假设

{a, b, c, d, f, g, h, i, j} > 0

并不单独适用于每个元素,请尝试以下操作:

$Assumptions = Flatten[ { # > 0 & /@ {a, b,c,d,e,f,g,h,i,j} , 0 < a < 1 } ]

同时指定 > 0 意味着实数,因此您不需要明确的假设。

编辑,你的问题的第2部分是Reduce甚至不使用$假设,所以你需要在reduce之后简化[]。但是即使这样你仍然没有得到答案。考虑这个稍微简化的例子:

$Assumptions = Flatten[{# > 0 & /@ {a, b, c, f, g}, 0 < a < 1}]
res = Reduce[ (-1 + a)  (f + g) >= b c , {a, b, c, f, g}, Reals]  
(* huge output*)
Simplify[res ]
(* b c <= (-1 + a) (f + g) *)

使用所提供的假设,这应该被简单地证明是错误的。事实上这有效..

Simplify[Reduce[ (-1 + a)  >= b c/(f + g) , {a, b, c, d, e, f, g},   Reals]  ]
(* False *)

建议您通过 https://mathematica.stackexchange.com/ 询问,或者某些版主应该迁移此..

编辑3——我明白了..

$Assumptions =  And @@ Flatten[{# > 0 & /@ {a, b, c, d, e, f, g, h, i, j},
                           0 < a < 1}] ;
Simplify[Reduce[ a (b c - (-1 + a) d (c + f g)) h > (-1 + a) i (b +  a j) g 
          && $Assumptions, {a, b, c, d,e,f, g, h, i, j}, Reals]]

(*True*)

关于wolfram-mathematica - 我该如何修改这个不等式以便 Mathematica 能够确认它们?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17026628/

相关文章:

wolfram-mathematica - Mathematica : How to clear the cache for a symbol, 即未设置无模式的 DownValues

matrix - 如何用矩阵的一些不连续的行和列形成子矩阵

没有名字的 Python 表达式(如 LHS)

java - Spring表达式语言: Get absolute value

c - '{' token 之前的预期表达式

optimization - 在 Mathematica 中优化内循环计算

wolfram-mathematica - 随机泊松噪声

javascript - 将 Wolfram 语言编写的 3D Rose 移植到 JavaScript 中

sql - 表达式可能包含无效的 token SSIS

xpath - 如何缩短此xpath表达式?