MathGroup Archive 2002

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Problems with SIMPLIFY and SOLVE

  • To: mathgroup at smc.vnet.net
  • Subject: [mg34132] Re: [mg34111] Problems with SIMPLIFY and SOLVE
  • From: Andrzej Kozlowski <andrzej at tuins.ac.jp>
  • Date: Sun, 5 May 2002 04:48:38 -0400 (EDT)
  • Sender: owner-wri-mathgroup at wolfram.com

Actually Mathematica will in fact manage simple cases like this:


In[4]:=
Simplify[Sign[(-m^(a + b + n - 2))*(a + b + n - 1)*(a/(a + b + n))^a*
     ((b + n)/(a + b + n))^(b + n)*(a + b + n)], {a > 0, b > 0, n > 0, 
m > 0,
    a + b + n > 1}]

Out[4]=
-1

In more complicated cases you may have have to combine Mathematica's 
computing power and your own intelligence.

Andrzej


On Saturday, May 4, 2002, at 10:09  PM, Hannes Egli wrote:

> Thank you very much for your detailed answer.
>
> Of course you are right that the first equation need not to be negative
> given my conditions. Unfortunately, I have forgotten to write that "m" 
> must
> be positive too:
>
> In[1]:=
> 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, m > 0, a + b + n > 1}]
>
> Out[1]:=
> 0 < m^(-2 + a + b + n)*(-1 + a + b + n)*(a/(a + b + n))^a*((b + n)/(a + 
> b +
> n))^(b + n)*(a + b + n)
>
> Still, Mathematica does not give the output TRUE or FALSE. But, as you
> write, this may depend on the fact that my equation contains symbolic
> exponents. So it seems that I have to determine the signs of my 
> equations
> without the help of Mathematica.
>
> Thanks
>
> Hannes
>
>
>
>
>
> Andrzej Kozlowski schrieb:
>
>> 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))}}
>>

>>
>> 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
>>>
>>>
>>>
>
>



  • Prev by Date: Re: Matrix Exponential
  • Next by Date: Limit to length of lists?
  • Previous by thread: Re: Problems with SIMPLIFY and SOLVE
  • Next by thread: Intersections of Contours in 3D