Mathematica Stack Exchange is a question and answer site for users of Mathematica. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Why will Mathematica not give a soluion to Solve[Log[x] == Log[j, Log[j, x]], j], but Wolfram Alpha will?

share|improve this question
Reduce works. – Michael E2 Jun 16 '14 at 14:04
The WolframAlpha result can be produced with Reduce[Log[x] == Log[j, Log[j, x]], j, Reals]. In general, you should not assume that Mathematica commands typed into WolframAlpha will be executed verbatim on the server side. – Mark McClure Jun 16 '14 at 14:05
I see - I didn't realise this! – martin Jun 16 '14 at 14:13
@martin Then you might be interested in this question. The answers might lead you to try Solve[Log[x] == Log[j, Log[j, x]], j, Reals, Method -> Reduce], an option which I had forgotten. – Michael E2 Jun 16 '14 at 15:44
Michael E2, thanks :) – martin Jun 16 '14 at 17:25
up vote 5 down vote accepted

Wolfram|Alpha points out that this is a solution over the reals:

enter image description here

This is how to get this solution in Mathematica:

Reduce[Log[x] == Log[j, Log[j, x]], j, Reals]

(* Log[x] != 0 && j == x^E^-ProductLog[Log[x]^2] *)

Wolfram|Alpha tries to interpret input as natural language. Certain Mathematica expressions work, but they don't always do the same thing as in Mathematica. Here W|A interprets the input as "solve this equation with reasonable assumptions", not as "run the Mathematica code Solve[Log[x] == Log[j, Log[j, x]], j]".

share|improve this answer
Great - that you :) - Had me a little confused! – martin Jun 16 '14 at 14:11
Is it better to use Reduce in most cases? – martin Jun 16 '14 at 14:12
... Is there any way of solving for an extra Log? ie Reduce[Log[x] == Log[j, Log[j, Log[j, x]]], j, Reals]? – martin Jun 16 '14 at 14:16
@martin Solve tends to be faster because it doesn't seek a general solution. E.g. in v8 Solve[Sin[x] == y, x] returned {{x -> ArcSin[y]}} which is not the general solution. Reduce[Sin[x] == y, x] returned C[1] \[Element] Integers && (x == \[Pi] - ArcSin[y] + 2 \[Pi] C[1] || x == ArcSin[y] + 2 \[Pi] C[1]) which is general. I couldn't find a v9 example off the top of my head but that's the main difference. In v9 (?) Solve can take the option Method -> Reduce to do what Reduce does ... (check the docs for another example on this). – Szabolcs Jun 16 '14 at 14:16
Ah, ok, thanks - that helps me to understand a little better. – martin Jun 16 '14 at 14:17

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.