Generalized Lambert W function - premature commit



On 2012-05-17, David Billinghurst <dbmaxima at gmail.com> wrote:

> Oops. I have accidentally committed some code for Generalized Lambert
> W function to src/specfn.lisp.  Still getting my head around git.

> The code seems functionally correct, and passes tests in
> tests/rtest_lambert_w.mac, but I hadn't finished polishing it and it
> is still undocumented.  Unless anyone objects, I will leave it in
> place for the time being.

No problem, OK by me.

> There is a new function generalized_lambert_w(k,z) that returns the
> kth branch W_k(z).  There are float and bigfloat routines for complex
> z.  generalized_lambert_w(0,z) is not (yet) simplified to
> lambert_w(z), as I hadn't decided if this should be done
> unconditionally or controlled by a flag.  Thoughts?

Is it more convenient to simplify W_0(z) instead of W(z) ? If not, then
it seems reasonable to just go ahead and simplify it.

If you decide against automatically simplifying W_0(z) to W(z), I guess
I hope you don't make it controlled by a flag; flags cause trouble,
because one can't guess by looking at some code how it's going to turn
out. How about a function to carry out the simplification.

Thanks for your work on this topic.

Robert Dodier