# Find roots of transcendental function in regional complex plane

I want to know how many roots does the following equation have and how to solve them all.

$$f(z)=\frac{\text{sech}(35.0937 x)}{\left(e^{70.1873 x}-1.\right) x} \left((0.\, +0.0235822 i) x^2 \exp \left(35.0937 x+(0.\, +0.0000253744 i) \sqrt{-1.91278\times 10^{12} x^2+(0.\, +4.54224\times 10^{10} i)}\right)-(0.\, +0.0117911 i) x^2+\text{8.73597\grave{ }*{}^{\wedge}-9} x \sqrt{-1.91278\times 10^{12} x^2+(0.\, +4.54224\times 10^{10} i)}+e^{70.1873 x} \left(-(0.\, +0.0117911 i) x^2-\text{8.73597\grave{ }*{}^{\wedge}-9} x \sqrt{-1.91278\times 10^{12} x^2+(0.\, +4.54224\times 10^{10} i)}-0.00049\right)-0.00049\right)$$

From above equation, I know there is a pole $$(z=0)$$. Plotting the quadrant in the region $$\{0, $$0, it seems that there are a root near point $$(0.15+i0.08)$$, and the other roots near by and along with y-axis.

I try Newton method given $$z_0=0.1+i0.1$$, but get an irrelative answer $$z1=0.3625 - i0.0604$$.

f[z_]:=1/((-1.+E^(70.1873 z)) z) (-0.00049-(0.+0.0117911 I) z^2+(0.+0.0235822 I) E^(35.0937 z+(0.+0.0000253744 I) Sqrt[(0.+4.54224*10^10 I)-1.91278*10^12 z^2]) z^2+8.73597*10^-9 z Sqrt[(0.+4.54224*10^10 I)-1.91278*10^12 z^2]+E^(70.1873 z) (-0.00049-(0.+0.0117911 I) z^2-8.73597*10^-9 z Sqrt[(0.+4.54224*10^10 I)-1.91278*10^12 z^2])) Sech[35.0937 z];

quad[z_] := Module[{q},u = N[ComplexExpand[Re[z]]];v = N[ComplexExpand[Im[z]]];   If[NumberQ[z],
If[u == 0  || v == 0, q = 0,
If[u*v > 0, If[u > 0, q = 1, q = 3], If[u > 0, q = 4, q = 2]]],
q = ComplexInfinity];q];

ContourPlot[quad[f[x + I  y]], {x, 0, 0.5}, {y, 0, 0.5},FrameLabel -> {"Re", "Im"}]

z1=NestWhile[(# - f[#]/f'[#]) &, 0.1 + I 0.1, Abs[f[#]] > 10^-7 &]


Tried this with your function $$f(z)$$:

 funn0[z_] := f[z];
gun0[x_, y_] := funn0[x + I*y];
rgun0[x_, y_] := Re[gun0[x, y]];
igun0[x_, y_] := Im[gun0[x, y]];
p2 = ContourPlot[{rgun0[x, y] == 0, igun0[x, y] == 0}, {x, -0.1, .1}, {y, 0, .5},ContourStyle -> {Red, {Dashed, Blue}, Black, Black}, MaxRecursion -> 5]


]

Next I find one of the roots as

 zr=z/.FindRoot[funn0[z], {z, 0.01 + .2*I}]


Which gives

{z -> 0.0149369 + 0.201915 I}


Don't forget to cross check the found root, as

 funn0[zr]


Which gives

 1.57061*10^-18 - 1.61687*10^-18 I.


Hence the root is CORRECT!

Similarly, other roots can also be found with a suitable guess value.

• Thank you. It is helpful. Apr 6, 2019 at 4:04