# Failure to plot a subset of curves using ParametricPlot

I wish to plot a parametric curve with parameters Γ,Δ,ϵ such that

Γ^4 Δ^2 + 16 (Δ^2 + ϵ^2)^3 + Γ^2 (8 Δ^4 - 20 Δ^2 ϵ^2 - ϵ^4) = 0


My attempt is of the following: I intend to plot a series of parametric curves with ϵ on the x-axis and Δ on the y-axis. So, my parameterization is such that x = ϵ and y = Δ with Γ = 0.1. As such, I will need to solve the equation above for Δ in terms of ϵ (Γ = 0.1). Reordering the equation above and grouping terms of Δ, we have that:

16 Δ^6 - Γ^2 ϵ^4 + 16 ϵ^6 + Δ^4 (8 Γ^2 + 48 ϵ^2) + Δ^2 (Γ^4 - 20 Γ^2 ϵ^2 + 48 ϵ^4) = 0


Where Δ is a polynomial of order 6. Defining the polynomial as

poly = 16 Δ^6 - Γ^2 ϵ^4 + 16 ϵ^6 + Δ^4 (8 Γ^2 + 48 ϵ^2) + Δ^2 (Γ^4 - 20 Γ^2 ϵ^2 + 48 ϵ^4)


and doing

Solve[poly == 0, Δ]


returns six solutions of Δ (I will not list the solutions here since it is really long but it can be checked in Mathematica). Three of which the solutions are simply the negative of the other Three. Without loss of generality, I name my solutions Δ1p, Δ2p, Δ3p where the p denotes the positive solutions and Δ1n, Δ2n, Δ3n denoting the negative solutions of the respective positive ones.

I proceed to do my parametric plot for all (six) solutions going from ϵ = 0 to ϵ = 0.05:

ParametricPlot[{{ϵ, Δ1p}, {ϵ, Δ1n}, {ϵ, Δ2p}, {ϵ, Δ2n}, {ϵ, Δ3p}, {ϵ, Δ3n}}, {ϵ, 0, 0.05}, PlotRange -> All, PlotPoints -> 10^4, Exclusions -> None]


and I was returned a plot like so

The problem here is that the green and red curves do not connect (they were predicted to be). Moreover, since there are 6 curves, there should be 6 curves of different color. But there are only 4 separate colors in this instance. I investigated further and decided to plot the 3rd solution (Δ3p):

ParametricPlot[{{ϵ, Δ3p}}, {ϵ, 0, 0.05}, PlotRange -> All, PlotPoints -> 10^4, Exclusions -> None]


and was returned with a blank graph (and so by symmetry, plotting for Δ3n also returns a blank graph. This explains the missing two colors). Why is this happening?, what is special about Δ3p?

• Δ3p is not Real; you can plot the real part using ParametricPlot[ Re@{\[Epsilon], \[CapitalDelta]3p}, {\[Epsilon], 0, 0.05}, PlotRange -> All, PlotPoints -> 10^4, Exclusions -> None]. – kglr Sep 27 '18 at 2:44
• Why not use ContourPlot[]? With[{Γ = 1/10}, ContourPlot[Γ^4 Δ^2 + 16 (Δ^2 + ϵ^2)^3 + Γ^2 (8 Δ^4 - 20 Δ^2 ϵ^2 - ϵ^4) == 0, {ϵ, 0, 3/100}, {Δ, -1/100, 1/100}, PlotPoints -> 95]] – J. M.'s ennui Sep 27 '18 at 2:49

Use exact numbers for Γ and add the option WorkingPrecision -> 20 to ParametricPlot:

Γ = 1/10;
exp = Γ^4 Δ^2 +  16 (Δ^2 + ϵ^2)^3 + Γ^2 (8 Δ^4 -     20 Δ^2 ϵ^2 - ϵ^4);
{Δ1p, Δ2p, Δ3p, Δ1n, Δ2n, Δ3n} =  Δ /. Solve[exp == 0, Δ];
ParametricPlot[{{ϵ, Δ1p}, {ϵ,  Δ1n}, {ϵ, Δ2p}, {ϵ, Δ2n}, {ϵ, Δ3p}, {ϵ,     Δ3n}},
{ϵ, 0, 0.05}, PlotRange -> All, PlotLegends -> "Expressions",
PlotPoints -> 100, Exclusions -> None, WorkingPrecision -> 20]


Since the last four solutions have complex elements

FreeQ[_Complex] /@ {Δ1p, Δ2p,  Δ3p, Δ1n, Δ2n,  Δ3n}


{True, True, False, False, False, False}

you can plot the real parts:

ParametricPlot[Evaluate[{{ϵ, Re@Δ1p}, {ϵ,  Re@Δ1n}, {ϵ, Re@Δ2p}, {ϵ, Re@Δ2n},
{ϵ, Re@Δ3p}, {ϵ, Re@Δ3n}}], {ϵ, 0, 0.05}, PlotRange -> All,
PlotPoints -> 100, Exclusions -> None, WorkingPrecision -> 20,
PlotLegends -> {"{ϵ, Re@Δ1p}", "{ϵ, Re@Δ1n}", "{ϵ, Re@Δ2p}",
"{ϵ, Re@Δ2n}", "{ϵ, Re@Δ3p}", "{ϵ, Re@Δ3n}"} ]


or the imaginary parts (replacing Re with Im above):

• Thanks! This is what I needed. A follow up question: You have only 4 colors in the first plot but the legends show 6. I again suspect it's \[CapitalDelta]3p and \[CapitalDelta]3n so I plotted them separately by commenting out the other 4 curves. I am returned with another blank plot. What is happening there? – kowalski Sep 27 '18 at 4:35
• @kowalski, Δ3p and Δ3n are complex for all values of ϵ in the interval [0, 0.05]; that's why they don't show up in the combined plot and you get an empty plot when you try to plot them separately. – kglr Sep 27 '18 at 5:54
• @klgr Thanks! This has been helpful – kowalski Sep 27 '18 at 14:33
• @klgr Not sure if you will see this, but a quick follow up question: Why are the Real parts of the curve look different than the regular solutions/curves? If it is real, it should keep plotting it on the graph rather than stopping at the cusps (as shown in your plot for the Re parts). This has been troubling me terribly – kowalski Oct 5 '18 at 21:03
• @kowalski, compare Plot[x +I , {x, 0, 1}] vs Plot[Re[x + I], {x, 0, 1}]. – kglr Oct 5 '18 at 21:08