(28/48/50) Lambert W Function

01302024, 12:18 AM
Post: #35




RE: (28/48/50) Lambert W Function
(01292024 09:50 PM)Gil Wrote: for k=1, and a=.36787944118 (>1/e, about .367879441171), how do I know that formulae post 19, more accurate, will fail (at least with the code I put in my calculator) and that formulae post 18, a wee bit less accurate, will work? They are equally accurate, if coded correctly. They are really the same e^W formula, except we let Y = R+R*X It is just scale and offset, convergence rate are exactly the same. There is no wrong answer. Pick your preferred choice. My preference is Y = (Y+A)/LOGP1((YRR2)/R), because convergence is easily tested. It is also easy to explain. Denominator is simply more accurate (LN(Y)+1) The other version, X = (XL+H)/L, where L = LOGP1(X), is harder to know when to stop. Because of inaccurate XL, X itself never really converged, only (1+X) = Y/R does. OTTH, X formula is simpler than Y's (also, (R, R2) not used at all!) With limited domain (A ≈ 1/e), fixed loops is simple to implement. Quote:If yes, are there other pitfalls to look at for initial k≠{0, +1} when "a" is near 0 or 1/e? Yes! Only used this for k=0, or ±1 with small_imag part (k and im(a) of opposite sign) This is because y = e^x lost branch information. Good guess is crucial to get right branch! e^(2*k*pi*I) = cis(2*k*pi) = 1 // k is gone What happen if k = ±1 and, k and im(a) have same sign? x + ln(x) = ln_{k}(a) im(x) + arg(x) = (arg(a) + 2*k*pi) = [±2*pi .. ±3*pi] im(x) = [±2*pi .. ±3*pi]  [0 .. ± pi] = [± pi .. ±3*pi] Away from real line, no singularity around 1/e, easy to solve. 

« Next Oldest  Next Newest »

User(s) browsing this thread: 1 Guest(s)