Mathematica is really great! I am new here and I kindly wanted to ask you a question about solving an inequality with parameters.
So, I firstly solved the following expression (with all the parameters >0):
FullSimplify [ Reduce [ (Gu A h - A Gr - P h + r) / (2 b N + N T) > (Gu A h - A Gr - P h) / (2 b N)
&& h > 0 && b > 0 &&T > 0 && r > 0 && N > 0 && Gu > 0 && A > 0 && Gr > 0 ]]
which gave me as a result:
T > 0 && r > 0 && h > 0 && Gu > 0 && Gr > 0 && b > 0 && A > 0 && N > 0 && A Gu h T < 2 b r + A Gr T + h P T
(and this was ok)
The problem is that now, I wanted to introduce an additional parameter (D<1)
Rewriting the expression:
FullSimplify [ Reduce [ (Gu A h^D - A Gr - P h + r) / (2 b N + N T) > (Gu A h^D - A Gr - P h) / (2 b N)
&& h > 0 && b > 0 &&T > 0 && r > 0 && N > 0 && Gu > 0 && A > 0 && Gr > 0 && D<1 ]]
I get:
" Reduce::nsmet: This system cannot be solved with the methods available to Reduce. "
and I also get as Out:
Reduce[b N (2 b + T) (2 b r + (A (Gr - Gu h^D) + h P) T) > 0 &&h > 0 && b > 0 && T > 0 && r > 0 && N > 0 && Gu > 0 && A > 0 && Gr > 0 && D < 1]
So my question is: if I cannot solve the system with this new parameter D<1 (but why???) what is this result?
I apologize if this question looks stupid but it is giving me a lot of problems and I don’t know how to solve it!
Thank you very much, in the case someone would like to help me!
In some situations, Reduce works better if it is used step-wise. Since your first Reduce calculation works, I would try Reduce on the result of the first calculation and the added constraint.
Sorry..I am little bit confused..you’re saying to use Reduce on the first correct result (belonging to the first correct inequality), adding the condition D<1? But how can I do that? I mean, D is not contained in the first inequality..
Sorry if I understood wrong, I’m a little bit confused..
Which version of Mathematica are you using? If I run
Reduce[(Gu A h^D - A Gr - P h + r)/(2 b N + N T) > (Gu A h^D - A Gr -
P h)/(2 b N) && h > 0 && b > 0 && T > 0 && r > 0 && N > 0 &&
Gu > 0 && A > 0 && Gr > 0 && D < 1]
in Version 9, i get
h^D \[Element]
Reals && ((h^(-1 + D) \[Element] Reals && A > 0 && b > 0 && D < 1 &&
Gr > 0 && Gu > 0 && h > 0 && N > 0 && P < (-A Gr + A Gu h^D)/h &&
r > 0 && 0 < T < -((2 b r)/(A Gr - A Gu h^D + h P))) || (A > 0 &&
b > 0 && D < 1 && Gr > 0 && Gu > 0 && h > 0 && N > 0 &&
P >= (-A Gr + A Gu h^D)/h && r > 0 && T > 0))
I apologize, I made a mistake, I forgot the condition P>0; if I clarify that condition, I can’t get a result!
Moreover, in trying the calculations without P>0, the parameter I had introduced was originally not labled “D” but “alpha” (I didn’t think that there could be a difference! I just used D in this forum as I couldn’t write alpha). I noticed that in doing the same procedure, with “D” I get your same result, while with “alpha” I cannot. How is this possible?..I saw that alpha appears labeled in blue, while D in black..is there a meaning??
Still, if I use “E” I obtain “False” ???
Why does the result change in changing the letter ???
Anyways the problem now is also due to the fact that if I insert P>0 (which I had forgotten) I can’t get a result anymore, neither with D!
Yes, but, so there is, actually, a difference in using “D” or “alpha”…how can I know when I’m right and when I’m wrong?
The problem is that I still cannot solve this inequality:
FullSimplify [ Reduce [ (Gu A h^(alpha) - A Gr - P h + r) / (2 b N + N T) > (Gu A h^(alpha) - A Gr - P h) / (2 b N)
&& h > 0 && b > 0 &&T > 0 && r > 0 && N > 0 && Gu > 0 && A > 0 && Gr > 0 && P>0 && (alpha) < 1 ]]
If you look up N or D or E in the help system you find those names have already been defined to mean something other than an unknown user variable.
As a general rule, if you want to use names that start with a capital letter then first look that name up in the help system and make sure that Mathematica hasn’t already given that some meaning.
If you don’t use capital N and don’t constrain P then this appears to work.
In[1]:= FullSimplify[
Reduce[(Gu A h^alpha - A Gr - P h + r)/(2 b n + n T) > (Gu A h^alpha - A Gr - P h)/(2 b n) &&
h > 0 && b > 0 && T > 0 && r > 0 && n > 0 && Gu > 0 && A > 0 && Gr > 0 && alpha < 1]]
Out[3]= A > 0 && b > 0 && Gr > 0 && Gu > 0 && h > 0 && n > 0 && r > 0 && alpha < 1 && T > 0 &&
((2 b r)/(A Gr - A Gu h^alpha + h P) + T < 0 || A Gu h^(-1 + alpha) <= (A Gr)/h + P)
But that doesn’t really say anything more than slightly rearranging your input.
If you look in the help system for Reduce you will see it is Reduce[ expression, vars ] where you are asking it to reduce an expression for a particular variable or variables. Perhaps if you were looking for a particular variable then it might be able to be more helpful.
If you include the condition P > 0 but do not include any variable to reduce to then it complains it doesn’t have a method which can do that.
Perhaps if you try to fit your problem into the form described for Reduce you might have better luck.