Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Solution to a puzzle

  1. Jun 19, 2009 #1
    Hi All

    Is there a solution to the following?

    y = x/ln(2x)

    ...solving for x.
     
  2. jcsd
  3. Jun 19, 2009 #2

    arildno

    User Avatar
    Science Advisor
    Homework Helper
    Gold Member
    Dearly Missed

    It is a trancendental equation; the best you can hope for is an arbitrarily accurate approximation to the inverse on some interval.
     
  4. Jun 19, 2009 #3

    rock.freak667

    User Avatar
    Homework Helper

    as in x/ln(2x) = 3, find x?
     
  5. Jun 19, 2009 #4
    Exactly. If I know y how do I find x?

    Though the other poster is making me wonder if an approximate answer can be constructed using a Taylor series or some such.
     
  6. Jun 20, 2009 #5
    Hello qraal,

    Using the method of Newton-Raphson will give you a fast approximate solution if you have a "good" starting value in the neighbourhood of the solution. The method can be found here:

    http://en.wikipedia.org/wiki/Newton's_method

    and is for your equation:

    [tex]x_{n+1}=x_{n}+\frac{ln(2x_{n})[yln(2x_n)-x_n]}{ln(2x_n)-1}[/tex]

    The problem is that the function

    [tex]\frac{x}{ln(2x)}[/tex]

    is diverging for x=0.5. For values smaller than 0.5 it is negative and for values larger than 0.5 it is positive. However for the positive values it has a minimum and thus two solutions if a y-value is given. So the initial value is best to be determined by plotting it.

    As an example use rock.freak667 value of 3. This has two solutions, one in the neighbourhood of x=0.6 and one in the neighboorhood of x=8. These serve as starting values in the iterative scheme and give you very quickly the solutions. I have the following values: x=0.613444 and x=8.499444. I added also a graph of the function to clearify things. If you have any questions please post.

    best regards,

    coomast
     

    Attached Files:

  7. Jun 20, 2009 #6

    CRGreathouse

    User Avatar
    Science Advisor
    Homework Helper

    [tex]x=-\operatorname{W}\left(-\frac{e^{-y}}{2}\right)[/tex]
    where W is Lambert's W.

    This can be solved fairly quickly compared to a general Newton's method based solution.
     
  8. Jun 20, 2009 #7
    Hi coomast

    Thanks for the pointer to Newton's Method. Very useful!

    To clarify the problem further, it's an approximate solution to the ratio of proper time versus co-ordinate time for a continuously accelerated starship's crew. Thus x > 1 in all cases I'm interested in.
     
  9. Jun 20, 2009 #8
    Hello qraal,

    If the x-values are larger than 2 it has a unique solution. In case these can be between 1 an 2 as well you will have two solutions. This is clear from the picture and a substitution in the equation. Indeed, we have for x=1

    [tex]y(1)=\frac{1}{ln(2)}[/tex]

    whichis the same value for x=2. In between these a minimum exists for

    [tex]x=\frac{e}{2}[/tex]

    and the y-value is here

    [tex]y=\frac{e}{2}[/tex]

    So you must have y to be at least e/2 to have a solution. I would suggest to use a large initial value if you know that x>2 or y>1/ln(2) and in case y<1/ln(2) this large value will give one solution, the other can be obtained by setting the initial value to 1.05. Nice equation to study :-)

    @CRGreathouse: I can't get to your expression with the function of Lambert. I get by rewritting this expression back to the original form the following:

    [tex]x-ln(2x)=y[/tex]

    I might be making a silly mistake, it's getting late over here and I'm a bit tired:-) Anyway to find the solution even with Lambert you will need an iterative scheme and Newton-Raphson seems the easiest here. Presumably it will give a similar formula as the one I gave. Or is there another one which is faster?

    best regards,

    coomast
     
  10. Jun 21, 2009 #9

    uart

    User Avatar
    Science Advisor

    I think there is a mistake in that derivation of the Lambert-W solution. Here's how I would do it.

    [tex]\ln(2x) = x/y [/tex]

    [tex]2x = e^{x/y}[/tex]

    [tex]2x e^{-x/y} = 1[/tex]

    Now let [itex]z = -x/y[/itex].

    [tex]-2y\,z\,e^{z} = 1[/tex]

    [tex] z e^{z} = \frac{-1}{2y}[/tex]

    So from the definition of the Lambert W function :

    [tex] z = W \left( \frac{-1}{2y} \right) [/tex]

    and

    [tex] x = -y \, W \left( \frac{-1}{2y} \right)[/tex]
     
    Last edited: Jun 21, 2009
  11. Jun 21, 2009 #10
    [tex]y=\frac{x}{ln(2x)}[/tex]

    [tex]y*ln(2x)=x[/tex]

    [tex]ln(2x)^y=lne^x[/tex]

    [tex](2x)^y=e^x[/tex]

    [tex]x=\frac{e^{\frac{x}{y}}}{2}[/tex]

    [tex]2=e^k[/tex]

    [tex]x=e^{\frac{x-k*y}{y}}[/tex]

    [tex]lnx=\frac{x-k*y}{y}[/tex]

    [tex]y*lnx=x-k*y[/tex]

    [tex]lnx^y-lne^x=-k*y[/tex]

    [tex]ln\frac{x^y}{e^x}=-k*y[/tex]

    [tex]ln\frac{x^y}{e^x}=ln(e^{k*y})^{-1}[/tex]

    [tex]\frac{x^y}{e^x}=\frac{1}{e^{k*y}}[/tex]

    [tex]x^y=z[/tex]

    [tex]e^x=e^{k*y}*z[/tex]

    [tex]x=z^{1/y}[/tex]

    [tex]x=k*y*ln(z)[/tex]

    k is constant ≈ 0.693147

    z can be any number

    This is what I came up with...
     
    Last edited: Jun 21, 2009
  12. Jun 21, 2009 #11
    This is the same result I had. Now the initial remark raised by CRGreathouse was:
    "This can be solved fairly quickly compared to a general Newton's method based solution."
    What is this other method? Using Newton-Raphson on the Lambert function gives in the end the same interative scheme as the one I proposed. I think the formula obtained is easy and fast enough to get to the solution. If another method is available I would like to learn it, it will be interesting.

    best regards,

    coomast
     
  13. Jun 21, 2009 #12
    What do you think about my solution?
     
  14. Jun 21, 2009 #13

    uart

    User Avatar
    Science Advisor

    Hi coomast. One obvious advantage of expressing solutions like this in terms of the Lambert W function is that many maths programs (eg Matlab Octave Maple etc) will already have that function implemented, which makes it nice and easy to get a quick plot for example. (see attachment)

    Perhaps a bigger advantage however is that if we've already familiarized ourselves with some of the properties of the Lambert-W function then we can immediately deduce many properties of this new function with little effort.

    For example, I already know (from past study of W) that W(x) has :
    - no real solutions for {x<-1/e}
    - one real solution for {x=-1/e} U {x>=0}
    - two real solutions for {-1/e < x < 0}

    I can then immediately apply this to your new function and work out where it has real solutions (and how many) with very little effort. This is where I think is the real merit lays in expressing the solution in terms of a know function (even if at the end of the day you still have to evaluate it with numerical methods).

    BTW. If you apply newtons method to the W function you can (with a bit of algebra) crunch it down to :

    [tex] x_{k+1} = \frac{ x_k^2 + y e^{-x_k}} { 1 + x_k}[/tex]


    Edit. I temporarily forgot who was original poster in this thread. In the above I was wrongly referring to coomast as the OP. :eek:
     

    Attached Files:

    Last edited: Jun 21, 2009
  15. Jun 21, 2009 #14

    CRGreathouse

    User Avatar
    Science Advisor
    Homework Helper

    First of all, I certainly agree that your solution is "easy and fast enough". In fact it is *so* fast and *so* easy to implement that I felt the need to add an argument to support even mentioning a different method.

    But the W function is sufficiently well-behaved (compared to general functions) that higher-order methods are reasonable. There are good implementations of W (along with good starting points, etc.) using Halley's method floating around the 'net. While any of these higher-order methods could in theory be applied to the problem directly, without caution you'll have convergence issues.

    And since it is a general function, you may already have optimized code for W sitting around.
     
    Last edited: Jun 21, 2009
  16. Jun 21, 2009 #15
    Hi Guys

    I can't get it to converge using Newton's Method. It comes close, but converges on an x value that gives a y that's too high by about 3%. *sigh*
     
  17. Jun 21, 2009 #16

    CRGreathouse

    User Avatar
    Science Advisor
    Homework Helper

    What are your numbers?
     
  18. Jun 21, 2009 #17
    My target y value is 210713.2394 and my starting x value is 3303361. I used Newton's Method, as per my Maths text and Wikipedia, i.e.

    x1 = x0 - f(x0)/f '(x0)

    ...but it converged somewhere else.
     
  19. Jun 21, 2009 #18
    Ah! Discovered my mistake! I set up my initial equation incorrectly. To find x for a specific y* for x/ln(2x) I had to make f(x) = x/ln(2x) - y*, and then use Newton's method. D'Oh! It converged in three iterations to within the limits of accuracy I was using with those numbers.

    Coomast, and all, thank you.
     
  20. Jun 21, 2009 #19
    Of course not.
     
  21. Jun 22, 2009 #20
    z can be any positive number :-)
     
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook




Similar Discussions: Solution to a puzzle
  1. A puzzle (Replies: 3)

  2. A puzzle (Replies: 7)

  3. Maths Puzzle (Replies: 5)

  4. Puzzling Equation (Replies: 2)

  5. Harvard puzzle (Replies: 1)

Loading...