# When is f negative?

Posted 8 years ago
7313 Views
|
7 Replies
|
4 Total Likes
|
 Hello, I have the following functionf(x)= b * c^(1?1/a) * [((1-x)/x)^(1/a) * (a-1) - ((1-x)/x)^((1/a)-1)] + awhere the parameters b,c and a are all in (0,1) and the variable x is also in (0,1). I want to know the parametric assumptions under which this is always negative.How do I solve it?Thanks in advance, Cara
7 Replies
Sort By:
Posted 8 years ago
 Had you typed In[18]:= Clear[vl, gA, gB, gC] vl = Range[.1, .9, .1] gA = ContourPlot3D[# + ( b c^((-1 + #)/#) (1 + # (-1 + x)) (-1 + 1/x)^(1/#))/(-1 + x) == 0, {x, 0.1, 0.99}, {b, 0.1, 0.99}, {c, 0.1, 0.99}, ContourStyle -> Directive[FaceForm[Orange, Red], Specularity[White, 30], Opacity[0.3]], Mesh -> None, DisplayFunction -> Identity] & /@ vl; gB = ContourPlot3D[ a + (# c^((-1 + a)/a) (1 + a (-1 + x)) (-1 + 1/x)^(1/a))/(-1 + x) == 0, {x, 0.1, 0.99}, {a, 0.1, 0.99}, {c, 0.1, 0.99}, ContourStyle -> Directive[FaceForm[Green, Yellow], Specularity[White, 30], Opacity[0.3]], Mesh -> None, DisplayFunction -> Identity] & /@ vl; gC = ContourPlot3D[ a + (b #^((-1 + a)/a) (1 + a (-1 + x)) (-1 + 1/x)^(1/a))/(-1 + x) == 0, {x, 0.1, 0.99}, {a, 0.1, 0.99}, {b, 0.1, 0.99}, ContourStyle -> Directive[FaceForm[Blue, Cyan], Specularity[White, 30], Opacity[0.3]], Mesh -> None, DisplayFunction -> Identity] & /@ vl; Out[19]= {0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9} you could produce a bypass graphics as follows Show[Join[gA, gB, gC], DisplayFunction -> $DisplayFunction] Why it is called a bypass graphcis? Because despite the original problem is 4D$\{x,a,b,c\}$the zero surfaces have been blatantly-ignorantly embedded into 3D. Do yourself a favour and get them into a 4D cube, than project it back to 2D. Could work out interesting. On the other hand, vayF is linear in b, may be you find a way to eliminate b and to stay within 3D correctly ... Posted 8 years ago  Express it as (* http://community.wolfram.com/groups/-/m/t/508791 *) Clear[vayF, a, b, c, x] vayF[a_, b_, c_, x_] := b*c^(1 \[Minus] 1/a)*((1/x - 1)^(1/a)*(a - 1) - (1/x - 1)^(1/a - 1)) + a /; 0 < a < 1 && 0 < b < 1 && 0 < c < 1 && 0 < x < 1 do a simplification In[43]:= FullSimplify[b c^(1 - 1/a) ((1/x - 1)^(1/a) (a - 1) - (1/x - 1)^(1/a - 1)) + a] Out[43]= a + (b c^((-1 + a)/a) (1 + a (-1 + x)) (-1 + 1/x)^(1/a))/(-1 + x) check the existence of positive values at all  In[42]:= {#, (vayF @@ #) >= 0} & /@ Tuples[{1/99, 99/100}, 4] Out[42]= {{{1/99, 1/99, 1/99, 1/99}, False}, {{1/99, 1/99, 1/99, 99/100}, False}, {{1/99, 1/99, 99/100, 1/99}, False}, {{1/99, 1/99, 99/100, 99/100}, True}, {{1/99, 99/100, 1/99, 1/99}, False}, {{1/99, 99/100, 1/99, 99/100}, False}, {{1/99, 99/100, 99/100, 1/99}, False}, {{1/99, 99/100, 99/100, 99/100}, True}, {{99/100, 1/99, 1/99, 1/99}, True}, {{99/100, 1/99, 1/99, 99/100}, True}, {{99/100, 1/99, 99/100, 1/99}, True}, {{99/100, 1/99, 99/100, 99/100}, True}, {{99/100, 99/100, 1/99, 1/99}, False}, {{99/100, 99/100, 1/99, 99/100}, False}, {{99/100, 99/100, 99/100, 1/99}, False}, {{99/100, 99/100, 99/100, 99/100}, True}}} make a picture of the 4-D cube where the positive (resp. negative) corners are, then go along the edges, where the shift happens, then look into the faces .... to get an idea, step by step. Posted 8 years ago  I don't think it's necessarily impossible but getting a better feel for the values that result with various values of a, b, and c I still think might be helpful (if for no other reason than to be more certain that there isn't a nice general solution). Special cases can be considered for starters. Suppose a = 1. Then the equation simplifies to 1 - b. So for all values of x and c and all values of b (except b = 1), then equation is positive. Posted 8 years ago  Thank you all for your answers. This is extremely helpful! I was hoping there was an analytical way to show this. At least for different parametric constraints for different values of x. But I suppose that if this is not possible I will have to deal with it numerically. Posted 8 years ago  My recommendation is first to get very familiar with your function and write the function using the Mathematica syntax (using square brackets and parentheses in the the appropriate places such as Erik Mahieu did for you). "Manipulate" is great for doing this. Manipulate[ Plot[b*c^(1 - 1/a)*(((1 - x)/x)^(1/a)*(a - 1) - ((1 - x)/x)^((1/a) - 1)) + a, {x, 0, 1}, Frame -> True, FrameLabel -> {{"f[x]", ""}, {"x", ""}}], {{a, 0.9}, 0, 1, Appearance -> "Labeled"}, {{b, 0.6}, 0, 1, Appearance -> "Labeled"}, {{c, 0.5}, 0, 1, Appearance -> "Labeled"}, TrackedSymbols :> {a, b, c}]  Posted 8 years ago  I tried Reduce but it took a very long time and I aborted the evaluation: In[6]:= Reduce[ b c^(1 - 1/a) (((1 - x)/x)^(1/a) (a - 1) - ((1 - x)/x)^(1/a - 1)) + a < 0 && 0 < x < 1 && 0 < a < 1 && 0 < b < 1 && 0 < c < 1, {a, b, c, x}] Out[6]=$Aborted 
Posted 8 years ago
 Maybe Reduce can help?