My question is about both ContourPlot and FindAllCrossings2D. I have been using these two commands so as to figure out where two contour plots intersect. However, it seems like FindAllCrossings2D could not find out the other intersection points or I just could not manipulate on the module of it to make it find the other points:
The following is FindAllCrossings2D:
Options[FindAllCrossings2D] = Sort[Join[ Options[FindRoot], {MaxRecursion -> Automatic, PerformanceGoal :> $PerformanceGoal, PlotPoints -> 200}]]; FindAllCrossings2D[{func1_, func2_}, {x_, xmin_, xmax_}, {y_, ymin_, ymax_}, opts___] := Module[{contourData, seeds, optsflt, fy = Compile[{x, y}, func2]}, optsflt[fname_] := Sequence @@
FilterRules[{opts}~Join~Options@FindAllCrossings2D,
Options@fname]; contourData = Cases[Normal@
ContourPlot[func1, {x, xmin, xmax}, {y, ymin, ymax}, Contours -> {0}, ContourShading -> False, PlotRange -> {Full, Full, Automatic}, Method -> Automatic, Evaluate[optsflt@ContourPlot]], L_Line :> L[[1]], Infinity]; seeds = Pick[Rest@#, Rest[#] Most[#] &@Sign@Apply[fy, #, 2], -1] & /@
contourData; Select[Union@ With[{seq = optsflt@FindRoot}, {x, y} /.
FindRoot[{func1 == 0, func2 == 0}, {x, #1}, {y, #2}, seq] & @@@
Join @@ seeds], (xmin < #[[1]] < xmax && ymin < #[[2]] < ymax) &]];
then I have:
u = Table[ DeleteDuplicates@ FindAllCrossings2D[{Re[-2 (α + I β) - Sqrt[2] (α + I β) Sech[ Sqrt[2] (α + I β)]^2 - Tanh[Sqrt[2] (α + I β)]], y + Im[-2 (α + I β) - Sqrt[2] (α + I β) Sech[ Sqrt[2] (α + I β)]^2 - Tanh[Sqrt[2] (α + I β)]]}, {α, -10,
10}, {β, -10, 10}, WorkingPrecision -> 20], {y, -3, 1, 1}];
I would like to show this with the following:
v = Table[ContourPlot[{Re[-2 (α + I β) - Sqrt[2] (α + I β) Sech[Sqrt[2] (α + I β)]^2 - Tanh[Sqrt[2] (α + I β)]] == 0, y + Im[-2 (α + I β) - Sqrt[2] (α + I β) Sech[ Sqrt[2] (α + I β)]^2 - Tanh[Sqrt[2] (α + I β)]] == 0}, {α, -10, 10}, {β, -10, 10}, WorkingPrecision -> 20, Epilog -> {AbsolutePointSize[6]}, PlotPoints -> 200, ContourStyle -> {Darker@Green, Thick}, ImageSize -> 550], {y, -3, 1, 1}];
the way that I show them together is:
Table[Show[{ListPlot[u[[i]], AxesLabel -> {"α", "β"}], v[[i]]}], {i, 1, 5}];
when we stare at that list of plots it seems like I should have more intersection points for those two contours but I could not find a way to figure this discrepancy of FindAllCrossings2D and the contour plots.
Could you just give me an idea where this problem would origin from?