Re: Problems with SIMPLIFY and SOLVE
- To: mathgroup at smc.vnet.net
- Subject: [mg34130] Re: [mg34111] Problems with SIMPLIFY and SOLVE
- From: Andrzej Kozlowski <andrzej at tuins.ac.jp>
- Date: Sun, 5 May 2002 04:48:35 -0400 (EDT)
- Sender: owner-wri-mathgroup at wolfram.com
A lot. First of all, as it stands the first statement is just wrong. Lets try to substitute {m -> -1, a -> 1, b -> 1, n -> 3} Your conditions are satisfied: In[1]:= And @@ ({a > 0, b > 0, n > 0, a + b + n > 1} /. {m -> -1, a -> 1, b -> 1, n -> 3}) Out[1]= True But as for the the conclusion: In[2]:= (-m^(-2 + a + b + n))*(-1 + a + b + n)*(a/(a + b + n))^a*((b + n)/(a + b + n))^(b + n)* (a + b + n) < 0 /. {m -> -1, a -> 1, b -> 1, n -> 3} Out[2]= False One might say "so much for the first problem". But actually there are a few other things that can be added: (1) You have to use the domain information inside Simplify, otherwise it does nothing at all. (2) Just having the assumption a>b tells Mathematica that a and b are real, so you need not add any other information to that effect. (3) Your expressions contain symbolic exponents and Simplify can do (almost) nothing with that. Basically that is because the technology of Assumptions relies on algebraic methods and will not work with transcendental expressions. As for the second part, again Element etc does nothing at all. In any case giving Mathematica any information about the parameters will not help in solving equations, in fact when it can be used it only makes it harder, not easier, to find solutions. Still this case is different from the first one. We are indeed dealing with a situation where Solve misjudges the nature of the equation. In general Solve is meant for solving algebraic equations only (that is polynomials, rational functions etc) while your equation has a symbolic exponent. But actually Mathematica can also solve some equations of this kind, provided they can be reduced to first solving an algebraic equation (or equations) and then applying the inverse of a transcendental function. In fact your equation is of this type, but Mathematica for some reason fails to see that. However one can easily make it notice that it cna actually do it, provided you convert the equation to a system of two simpler looking equations: In[3]:= Solve[{a/(a + b + n) - w == 0, z^(a + b + n - 1)*(a/(a + b + n))^a* ((b + n)/(a + b + n))^(b + n)*(a + b + n) == w}, z] From In[3]:= Solve::ifun:Inverse functions are being used by Solve, so some solutions may \ not be found. Out[3]= {{z -> (((a/(a + b + n))^a*((b + n)/(a + b + n))^(b + n)*(a^2 + 2*a*b + b^2 + 2*a*n + 2*b*n + n^2))/a)^(1/(1 - a - b - n))}} Andrzej Kozlowski Toyama International University JAPAN http://platon.c.u-tokyo.ac.jp/andrzej/ On Saturday, May 4, 2002, at 05:28 PM, Hannes Egli wrote: > Hello > > 1) > After the following input, I would expect the output TRUE, since after > my mathematical understanding, the expression is unambiguously > negative. Mathematica, however, only restates the expression. > > Element[{a, b, n, m}, Reals] > > Simplify[-m^(-2 + a + b + n)*(-1 + a + b + n)*(a/(a + b + n))^a > *((b + n)/(a + b + n))^(b + n)*(a + b + n) < 0, {a > 0, b > 0, n > 0, > a + b + n > 1}] > > > 2) > The second problem may be similar. Given the restriction on the > parameter values, the following equation should can be solved for m: > > Element[{a, b, n, m}, Reals] > > Solve[a/(a + b + n) - m^(-1 + a + b + n)*(a/(a + b + n))^a > *((b + n)/(a + b + n))^(b + n)*(a + b + n) == 0, m] > > Does somebody see what I am doing wrong? > > Thanks > > Hannes > > >