0
$\begingroup$

Im trying to find the conditions of:

a>0,b>0,c>1,d>0
(a + (2 a - b/c) d + (a + b - b/c) d^2 + (-b + (2 b)/c) d^3 + (b d^4)/
   c - (b d^5)/c) > 0

I use this code:

Reduce[{(a + (2 a - b/c) d + (a + b - b/c) d^2 + (-b + (2 b)/
        c) d^3 + (b d^4)/c - (b d^5)/c) > 0, b > 0, c > 1, a > 0, 
  d > 0}, {a,b}, Reals]

Is there better way to find the conditions

Thanks

$\endgroup$
1
  • $\begingroup$ Maybe try Simplify[Reduce[{(a+(2a-b/c)d+(a+b-b/c)d^2+(-b+(2b)/c)d^3+(b d^4)/c-(b d^5)/c)>0,b>0,c>1,a>0,d>0},{a,b}],b>0&&c>1&&a>0&&d>0] Because you told it each var>0 it knows those must be Real without needing to tell it Real and that often seems to make Reduce faster. Then Simplify will remove the constraints you already know, making the ones that remain easier to see and understand. Be careful using that. $\endgroup$
    – Bill
    Commented Mar 9, 2023 at 16:05

1 Answer 1

1
$\begingroup$
Clear["Global`*"]

cons[1] = 
  Reduce[{(a + (2 a - b/c) d + (a + b - 
          b/c) d^2 + (-b + (2 b)/c) d^3 + (b d^4)/c - (b d^5)/c) > 0, b > 0, 
    c > 1, a > 0, d > 0}, {a, b}, Reals];

To reduce the LeafCount use simplification

cons[2] = cons[1] // Simplify;

cons[3] = cons[1] // FullSimplify;

To eliminate the Root expressions while reducing the LeafCount (but with increased LeafCount compared with just simplification) use both ToRadicals and Simplify

cons[4] = cons[1] // ToRadicals // Simplify;

FreeQ[cons[4], _Root]

(* True *)

However, if FullSimplify is used, the Root expressions are reintroduced.

cons[5] = cons[1] // ToRadicals // FullSimplify;

FreeQ[cons[5], _Root]

(* False *)

Comparing LeafCount

LeafCount /@ (cons /@ Range[5])

(* {314, 231, 228, 277, 230} *)

The different constraints describe the same region

Clear[rgn]; 
Evaluate[rgn /@ Range[5]] = ImplicitRegion[#, {a, b, c, d}] & /@
  (cons /@ Range[5]);

RegionEqual @@ (rgn /@ Range[5])

(* True *)
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.