Mathematica 9 is now available
Services & Resources / Wolfram Forums / MathGroup Archive
-----

MathGroup Archive 2011

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

Search the Archive

Re: Solving simple equations

  • To: mathgroup at smc.vnet.net
  • Subject: [mg122737] Re: Solving simple equations
  • From: Andrzej Kozlowski <akoz at mimuw.edu.pl>
  • Date: Tue, 8 Nov 2011 07:16:16 -0500 (EST)
  • Delivered-to: l-mathgroup@mail-archive0.wolfram.com
  • References: <201111071054.FAA03874@smc.vnet.net>

I think one should note that when using PowerExpand one can get a 
solution that is only valid for some values of the parameters or even 
one that is never valid at all. As an example, consider the equation:

eq = Sqrt[1/z] - 1/Sqrt[z] + Sqrt[1/a] - 1/Sqrt[a] +  a + z == 0

It actually has no solutions over the reals as you can tell with

Reduce[eq, z, Reals]

False

But if you use PowerExpand you will get a "solution":


sol = Solve[PowerExpand[eq], z, Reals][[1]]

{z->-a}

The solution is, of course, wrong. If you use PowerExpand with Assumptions you can see this fact:

Solve[PowerExpand[eq,
     Assumptions -> a >= 0], z, Reals]

{{z -> ConditionalExpression[-a, a < 0]}}

The answer contradicts the assumption. Similarly:

Solve[PowerExpand[eq, Assumptions -> a >= 0], z, Reals]

{{z->ConditionalExpression[-a,a<0]}}

Andrzej Kozlowski


On 7 Nov 2011, at 11:54, Dana DeLouis wrote:

>> ...Reduce (& Solve) doesn't work...
>> ...Solve[(A*n^a)^b/n == c, n]
>
> Hi.  The only way I found to get a real solution for this particular problem is to use PowerExpand:
>
> data = {A -> 2, a -> 3, b -> 4, c -> 5.};
>
> equ = PowerExpand[(A*n^a)^b/n == c] ;
>
> Solve[equ, n]
>
> Which gives:
>
> n -> (c/A^b) ^ (1/(a*b - 1))
>
> % /. data
> 0.8996576447849666
>
> Check with Solve using the same data...
>
> (A*n^a)^b/n == c   /. data
>
> 16*n^11 == 5.
>
> NSolve[%, n, Reals]
>
> n -> 0.8996576447849665
>
> = = = = = = = = = =
> HTH
> Dana DeLouis
> = = = = = = = = = =
>
>
>
> On Nov 5, 4:57 am, Mathieu <mat... at gmail.com> wrote:
>> Mathematica seems to struggle with very simple equations:
>>
>> Solve[(A*n^a)^b/n == c, n]
>> Solve::nsmet: This system cannot be solved with the methods available
>> to Solve
>>
>> Reduce doesn't work either. Even if I add assumptions:
>> Assuming[A > 0 && 1 > a > 0 && 1 > b > 0 && c > 0 && n > 0, Solve[(A
>> n^a)^b/n == c, n]]
>> Solve::nsmet: This system cannot be solved with the methods available
>> to Solve. >>
>>
>> Is there a way for Mathematica to solve these equations?
>>
>> Many thanks,
>> Mathieu
>
>
>




  • Prev by Date: Re: Import files on accessible URL and save in
  • Next by Date: Re: How to evaluate parts of an expression, but not other parts?
  • Previous by thread: Re: Solving simple equations
  • Next by thread: Re: Solving simple equations