I'm pretty unsure about this, because I don't know much about manifolds and other difficult words. So I hope I learn something here too.
I use your equation with all parameters set to simple values as Chris did
eqn = w^4 - w^2 ((kx^2 + kz^2) + 1/4) + 2 kx^2 == 0;
Your second equation k^2==kx^2+kz^2
defines a tube with different radii k
. We could for instance look at both equations and choose k==3
contPlot = ContourPlot3D[{w^4 - w^2 ((kx^2 + kz^2) + 1/4) + 2 kx^2 == 0,
kx^2 + kz^2 == 9}, {kx, -5, 5}, {w, -5, 5}, {kz, -5, 5},
ContourStyle -> {Directive[Opacity[0.3], Red], Automatic}]
We are interested in the intersection of both contours. What we can do here, is to parametrize k^2==kx^2+kz^2
differently. A tube along w
with radius k
can expressed as the parametric equation
$$f(w,\phi)=\{k \cos(\phi), w,k \sin(\phi)\}$$
therefore we define a transformation rule
rule = Thread[{kx, w, kz} :> {k*Cos[phi], w, k*Sin[phi]}]
(* {kx :> k Cos[phi], w :> w, kz :> k Sin[phi]} *)
We can now apply this transformation and solve your initial equation for w
. With this we get solutions for w
which only depend on phi
and k
. With those solutions, we have an explicit parametrization of the curve in 3d
sol = Solve[eqn /. rule, w];
paramPlot =
ParametricPlot3D[{kx, w, kz} /. rule /. sol /. k :> 3, {phi, 0,
2 Pi}, PlotStyle -> Red] /. Line[pts_] :> Tube[pts, 0.1]
And we can of course combine them to see whether it fits with our imagination
Show[{contPlot, paramPlot}]
What you want to have now is a plot where on the first axis is k
and on the second w
ParametricPlot[Evaluate[{k, w} /. sol], {k, 0, 9}, {phi, -Pi, Pi}]
\FractioBox
and\SuperscriptBox
? $\endgroup$kx
in the (omega,k) plane which are solution toF(omega,k,kx)=0
above? $\endgroup$