This viewer, whose motivation will be explained below, allows exploration of a multivalued complex function via a first-order differential equation. The real part is on the left and the imaginary on the right:

Click on a description to load a preset equation and initial value for the above viewer:

Logarithm −1 branch
Logarithm principal branch
Logarithm +1 branch
Lambert −1 branch
Lambert principal branch
Lambert +1 branch

These inputs are for exploring a generalized Lambert function of two arguments:




This viewer allows exploration of a multivalued complex function via a second-order differential equation. The real part is again on the left and the imaginary on the right:

Click on a description to load a preset equation and initial value for the above viewer:

Bessel J½ first branch
Bessel J½ second branch
Bessel K½ first branch
Bessel K½ second branch

Input functions in both cases need to conform to the usage of the complex operators of Math. For the first-order equation the right-hand side of the equation must be treated as vectorized, i.e. the function itself must be entered as f[0], due to a quirk of JavaScript. The first derivative in the second-order equation is entered as f[1], with its initial value automatically evaluated from the initial value function. In both cases the independent variable is z as expected for complex functions.

The motivation for these viewers comes from functions defined implicitly by a nonlinear transcendental equation. This prime example is the Lambert W function, defined as the inverse of

W(z) eW(z) =z

There is a straightforward method to evaluate this function numerically, available in Math, that allows one to visualize the structure of this complex function. It is trivially easy, however, to write down implicitly defined functions that cannot be evaluated as simply as the Lambert function and so cannot be as easily visualized. This presentation offers a different way of viewing complex surfaces in the vicinity of an initial point, regardless of whether a complete numerical evaluation exists or not.

While one cannot explicitly solve for the Lambert function, one can always take a derivative of both sides of its defining equation with respect to the independent variable:

WzeW +WWzeW =1 Wz =eW 1+W

The right-hand side of this equation can be written in a variety of ways: this particular form is useful for comparison to related functions. For example, the logarithm can be written in a slightly unusual manner

W=lnz eW=z Wz =eW

that immediately displays the apparently small change in its differential equation relative to the Lambert function. Similarly, one can define a Lambert function of two arguments, described in more detail in another presentation,

W(x,y) =xe W(x,y) +ye W(x,y)

whose partial derivatives with respect to the independent variables are

Wx =eW 1+xe W -yeW Wy =eW 1+xe W -yeW

The difference in sign in the denominators as compared to the defining equation of this function indicate immediately that it is much more complicated than the ordinary Lambert function.

Once one has a differential equation in hand, it is then a straightforward matter of integration on the complex plane in multiple directions from the initial point. In the viewers the resulting lines are widened to give a sense of a continuous surface without overburdening the browser. This approach also solves the question of how to automatically handle branch cuts, since the parts of these surfaces are not connected and will not have defects at the cuts.

There may be some numerical instability when integrating through branch points or poles, but the error should be patent from the coloring by complex argument. Depending on the particular form of the differential equation and how the derivative is expressed, the finite step integration method may produce unexpected results starting from arbitrary initial points: this could be remedied by an adaptive integration method or a smaller step size.

The viewer for second-order differential equations is perhaps not as useful as that for first-order equations, but has been included as a demonstration of principle. The branches of Bessel functions labeled by integer k are related by overall phase factors,

[Jn(z) ]k [zn ]k =[enlnz ]k =en(lnz +2kπi) =e2knπi zn

so the complex structure is somewhat trivial. Then again, this approach works in principle for any second-order differential equation. Since these are the core of mathematical physics, the tool is available for investigation of any such equation.

Uploaded 2021.03.11 — Updated 2021.03.13