Re: Solving simple equations

*To*: mathgroup at smc.vnet.net*Subject*: [mg122682] Re: Solving simple equations*From*: Andrzej Kozlowski <akoz at mimuw.edu.pl>*Date*: Sun, 6 Nov 2011 05:54:07 -0500 (EST)*Delivered-to*: l-mathgroup@mail-archive0.wolfram.com*References*: <201111050949.EAA10511@smc.vnet.net>

This may be a "very simple equation" for a human but not for a computer program. First, it can only be solved by making additional assumptions (of the kind you tried to use). However, first of all Solve (and Reduce) cannot receive assumptions through the Assumptions mechanism so your Assuming is doing nothing at all. Second, there is no general algorithm that can solve transcendental equations of this kind even when all these assumptions are satisfied. The fact that this particular equation can be easily solved is due to it being a very special case of an unsolvable general type. So, in such situations, you usually have to intervene and simplify it to a form that Solve can recognise. In this particular case, you can take Logs of both sides, PowerExpand (which works under your assumptions) and the rest Solve can do for you. n /. Solve[PowerExpand[Log[(A*n^a)^b/n] == Log[c], Assumptions -> {A > 0, n > 0, a > 0, b > 0}], n][[1]] E^((Log[c] - b*Log[A])/(a*b - 1)) (Note that if you change your equation even slightly, e.g. Log[(A (n + 1)^a)^b/n] == Log[c], it will become unsolvable). Andrzej Kozlowski On 5 Nov 2011, at 10:49, Mathieu 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 >

**References**:**Solving simple equations***From:*Mathieu <mathtd@gmail.com>