How to visually identify poles, zeros, singularities and branch cuts/points of a complex vector field? For a computational model of a physics problem, I have numerical values of a complex function from physics over a 2D grid (for example: $f(x,y)= z \in \mathbb{C}$). I numerically calculate the winding number $W$ of a closed contour $C$ in this 2D grid, where $W=\oint_C d\arg(z)$.
While I am able to calculate this $W$ numerically, I am now trying to understand why it takes the values it does.
So, I visualized $Re(z)$, $Im(z)$, $\arg(z)$ and $d\arg(z)$ (pictured below) and noticed that several lines of discontinuity arise from the same point. $\arg(z)$ seems to jump between $+\pi,-\pi$ and $0$, while
$d\arg(z)$ jumps between $\pm 2\pi,+\pi$ and $0$.
To my understanding, roughly speaking, a zero is when $f(x,y)= 0$, a pole is when $f(x,y)\approx \infty$, and an essential singularity is both a zero and a pole. I have included quick definitions of branch point and branch cut below the pictures.
Now, my questions:

*

*Am I able to learn more about how $z$ influences $W$ based off these pictures? Besides the fact that $W$ counts the number of poles (and zeros?) of $z$.

*Is the origin an essential singularity because the peak diverges through positive and negative values? Otherwise, how can I visually identify an essential singularity?

*If there aren't zeros or poles of $z$ inside the loop, by the argument principle, I expect $W=0$, but it doesn't seem to be the case (and I know with certainty that my code is correct). Is there any other function of $z$ I can plot to unveil features that could possibly explain this?

*From these definitions, it seems as if the origin here is a branch
point or pole. Is it either, neither or just one?

*Are those lines of discontinuity branch cuts? Is it just a matter of specifying an $(x,y)$ domain that excludes these cuts?

*Is a numerical integration of a contour around the origin valid despite these jumps? I am guessing
it is because the Cauchy integral formula for $W$ should hold.

*Should I instead be thinking about Riemann surfaces and ramification loci/indices?

I posted all these tiny questions together because they deal with closely-related concepts in a specific example. I apologize if this should have instead gone on Math Overflow (or elsewhere).





According to Wikipedia:

Roughly speaking, branch points are the points where the various sheets of a multiple valued function come together. The branches of the function are the various sheets of the function. ... A branch cut is a curve in the complex plane such that it is possible to define a single analytic branch of a multi-valued function on the plane minus that curve. Branch cuts are usually, but not always, taken between pairs of branch points.


[A (logarithmic) branch point is a point (usually a pole) around which a function does not return to its initial value after traversing a closed loop.]


[A branch cut can be thought of infinitely many branch points with infinitely many residues]

 A: "To my understanding, roughly speaking, a zero is when f(x,y)=0, a pole is when f(x,y)≈∞, and an essential singularity is both a zero and a pole".  Not quite.  A pole is an isolated singularity where $f(x,y) \to \infty$ as $(x,y)$ approaches your point.  A removable singularity is an isolated singularity where $f(x,y)$ approaches a finite limit.  An essential singularity is an isolated singularity that is neither a pole nor an isolated singularity.  It turns out that in a neighbourhood of an essential singularity, the functions takes on all complex numbers as values with at most one exception (this is Picard's "great" theorem).
Branch points and branch cuts are not isolated singularities: a branch cut is a curve along which the function takes a jump.
The first thing to consider in your case is what happens as you go in a small circle around your singularity.  Is the function continuous on that circle, or does it have jumps? From the pictures, I think it looks like there are jumps (which could indicate a branch cut), but I'm not sure.  If the jumps occur only on one curve which has your point as an endpoint, that could indicate that your point is a branch point.
