Message Boards Message Boards

0
|
7812 Views
|
7 Replies
|
4 Total Likes
View groups...
Share
Share this post:

When is f negative?

Posted 9 years ago

Hello, I have the following function

f(x)= b * c^(1?1/a) * [((1-x)/x)^(1/a) * (a-1) - ((1-x)/x)^((1/a)-1)] + a

where 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

POSTED BY: Cara Vay
7 Replies

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]

enter image description here

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 BY: Udo Krause

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 BY: Udo Krause
Posted 9 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 BY: Jim Baldwin
Posted 9 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 BY: Cara Vay
Posted 9 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}]

enter image description here

POSTED BY: Jim Baldwin
Posted 9 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 BY: Erik Mahieu

Maybe Reduce can help?

POSTED BY: Isaac Abraham
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard

Group Abstract Group Abstract