2
$\begingroup$

I have a unit ball and a vector with r0x, r0y and r0z ,the x,y,z components at initial time which evolves to r2x, r2y and r2z as function of time. I want to show the trajectory as in the attached figure here.

density2={{0.75, 0.25 - 0.25 I}, {0.25 + 0.25 I, 0.25}};

density2t = {{0.75,0.5 (0.5 (1. E^(0.2 t) Cos[0.1 t]-1. E^(0.2 t) Sin[0.1 t])-(0. +0.5 I) (1. E^(0.2 t) Cos[0.1 t]+1. E^(0.2 t) Sin[0.1 t]))},{0.5 (0.5 (1. E^(0.2 t) Cos[0.1 t]-1. E^(0.2 t) Sin[0.1 t])+(0. +0.5 I) (1. E^(0.2 t) Cos[0.1 t]+1. E^(0.2 t) Sin[0.1 t])),0.25}};

r0x = Tr[density2.PauliMatrix[1]]//FullSimplify
r0y = Tr[density2.PauliMatrix[2]]//FullSimplify
r0z = Tr[density2.PauliMatrix[3]]//FullSimplify

r2x = Tr[density2t.PauliMatrix[1]] // FullSimplify
r2y = Tr[density2t.PauliMatrix[2]] // FullSimplify
r2z = Tr[density2t.PauliMatrix[3]] // FullSimplify
$\endgroup$
4
  • $\begingroup$ {r2x, r2y, r2z} is a vector with real components as a function of time. However, {r0x, r0y, r0z} have a real and complex part. I think you need an intial vector that has only real components. The way it is written, r2z has a constant value of 0.5, is that what you intended? $\endgroup$ Oct 18 '17 at 15:45
  • $\begingroup$ @Jack LaVigne, What you say is wrong. {r0x,r0y,r0z} has only real component. All are equal to 0.5. Just by looking at density2, how can you say this? Evaluate and see. $\endgroup$
    – ABCD
    Oct 19 '17 at 6:24
  • $\begingroup$ It is true in a sense that, for example, r0x is real because the imaginary component is zero. However, if you execute Head[r0x], Mathematica returns Complex. I wouldn't worry about it, your comment makes it clear that 0.5 for the value is your intent. I have further questions which I have placed in the extended comment below. $\endgroup$ Oct 19 '17 at 23:37
  • 1
    $\begingroup$ Jyothi, why did you remove the figure? $\endgroup$
    – J. M.'s torpor
    Oct 24 '17 at 2:29
4
$\begingroup$

As I now understand the question you are not so much interested in the curve, but rather how to plot a curved line with a unit sphere mesh of circles in the Z-axis.

You will have to use a new curve for the example because if you allow two rotations at the current frequency of 0.1 t (i.e, t = 40 π) the magnitude of the vector is way beyond the unit sphere.

Norm[{r2x, r2y, r2z} /. t -> 40 π]
(* 5.81428*10^10 *)

Example curve

So I will define an example curve as follows:

b=2.5;
t0=1;

r2x = Exp[b (t - t0)] (0.5 Cos[4 π t] - 0.5 Sin[4 π t]);
r2y = Exp[b (t - t0)] (0.5 Cos[4 π t] + 0.5 Sin[4 π t]);
r2z = 0.0;

Next we define some graphics to plot it.

Create the curve.

vectorPath = ParametricPlot3D[
  {r2x, r2y, r2z}, 
  {t, 0, 1.15},
  PlotRange -> {{-1.2, 1.2}, {-1.2, 1.2}, {-1.2, 1.2}},
  PlotStyle -> Black,
  PlotPoints -> 100,
  Axes -> False,
  Boxed -> False,
  BoxRatios -> {1, 1, 1}
  ]

the axes

axes = Graphics3D[
  {
   Thin,
   Arrow[{{0, 0, 0}, {1.1, 0, 0}}],
   Arrow[{{0, 0, 0}, {0, 1.1, 0}}],
   Arrow[{{0, 0, -1}, {0, 0, 1.1}}],
   Text[Style["x", 14], {1.1, 0, -0.1}],
   Text[Style["y", 14], {0.1, 1.1, 0}],
   Text[Style["z", 14], {0.1, 0, 1.1}]
   }
  ]

The unit sphere is the item of interest. We set Mesh to a list of {11,0} to get uniformly spaced horizontal mesh and no vertical mesh. A light gray is used for the Mesh and the Opacity set to zero.

unitSphere = ParametricPlot3D[
  {Sin[θ] Cos[ϕ], Sin[θ] Sin[ϕ], 
   Cos[θ]},
  {θ, 0, Pi},
  {ϕ, 0, 2 Pi},
  PlotRange -> 1,
  PlotStyle -> Directive[Opacity[0]],
  Mesh -> {11, 0},
  MeshStyle -> GrayLevel[0.7],
  BoxRatios -> {1, 1, 1}
  ]

Now we put all this together using Show to plot it.

Show[
 vectorPath,
 axes,
 unitSphere
 ]

Mathematica graphics

$\endgroup$
4
  • $\begingroup$ The pink circles have no particular significance. I am using ParametricPlot3D[{Sin[[Theta]] Cos[[Phi]], Sin[[Theta]] Sin[[Phi]], Cos[[Theta]]}, {[Theta], 0, [Pi]}, {[Phi], 0, 2 [Pi]}, PlotRange -> 1, PlotStyle -> Directive[Opacity[0]], Mesh -> 11, BoxRatios -> {1, 1, 1}]; to create the unit ball with a mesh appearance, that's all. The black curve is the solution of a trajectory obtained by solving an equation. I shall update the question with the details of the equation asap. Many thanks, once again. $\endgroup$
    – ABCD
    Oct 20 '17 at 7:08
  • $\begingroup$ Many thanks. Is it possible to indicate the initial(starting point) of the trajectory by a red dot or something like that? $\endgroup$
    – ABCD
    Oct 23 '17 at 6:29
  • $\begingroup$ Create point = Graphics3D[ { PointSize[0.025], Red, Point[{r2x, r2y, r2z} /. t -> 0] } ] and add it to the Show $\endgroup$ Oct 24 '17 at 10:04
  • $\begingroup$ Many thanks for the idea. $\endgroup$
    – ABCD
    Oct 24 '17 at 10:10

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.