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