Post Reply 
HP49-50G,VER16.2 Lambert Funktion Wk(x), k=k= 0, ±1, ±2, ±3, ±4..., x real or complex
01-14-2024, 08:51 PM
Post: #8
RE: Lambert Funktion Wk(x), k=k= 0, ±1, ±2, ±3, ±4..., x real or complex
(01-14-2024 07:23 PM)Gil Wrote:  “Technically, W-1(-0.1) does not exist. (we have 2 different limits!)
By convention, we returned W-1(-0.1+0*I), which does exist."

Sorry, but for the interval - 1/e<x<0, doesn't W(k=-1,x) represent —by convention ? — the lower part of the function?

Yes, if you limited x to real, -1 branch is the lower part.
But, if we expand x to complex numbers, sign of 0 matters.

lua> x, k = -0.1, -1
lua> w = I.W(x, k)
lua> f = w + I.log(w) - I.log(x) - 2*k*pi*I
lua> f, w
(-4.440892098500626e-16+0*I)      (-3.577152063957297-0*I)

Note that w has -0*I, with arg(w) = -pi
Sign matters! If it were +0*I, we would get f ≈ 2*pi*I ≠ 0

Unfortunately, most calculators does not support signed zeros.
Without signed zero, my code compensate for this with customized LN(x).

We pick a result, based on some convention. W(-0.1, -1) --> W(-0.1+0*I, -1)
But it is all arbitrary! We could have pick -0*I, with +1 branch:

W(-0.1-0*I, +1) = (-3.577152063957297+0*I)

This is not that far-fetched! Example, ASIN/ACOS picked -0*I branch. It is a mess.

lua> I.acos(2)
(0-1.3169578969248166*I)
lua> I.acos(I.conj(2))
(0+1.3169578969248166*I)

Free42: 2 ACOS      → 0+1.316957896924816708625046347307968i

Branch Cuts for Complex Elementary Functions or Much Ado About Nothing' s Sign
Find all posts by this user
Quote this message in a reply
Post Reply 


Messages In This Thread
RE: Lambert Funktion Wk(x), k=k= 0, ±1, ±2, ±3, ±4..., x real or complex - Albert Chan - 01-14-2024 08:51 PM



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