3
$\begingroup$

I am trying to take the curl/derivative of the function A. What does " Im' " mean here? Why does Mathematica attempt to take the derivative of the Im function here?

A[x_, y_, z_, t_, ks_, kz_, ω_] := 
  {BesselJ[2, ks*Sqrt[x^2 + y^2]]*Exp[I*2*ArcTan[y/x]]*Exp[kz*z - ω*t], 0, 0}

Curl[A[x, y, z, t, 1, 1, 1], {x, y, z}]

StructuredArray[SymmetrizedArray, {3, 3}, < 2, Antisymmetric[{1, 2}] >]

Re[Curl[A[x, y, z, t, 1, 1, 1], {x, y, z}]]

{{0, 0, Re[(E^(2*I*t)*y*(BesselJ[1, Sqrt[x^2 + y^2]] - BesselJ[3, Sqrt[x^2 + y^2]])*Derivative[1][Im][E^(2*I*t)*BesselJ[2, Sqrt[x^2 + y^2]]])/Sqrt[x^2 + y^2]]}, 

{0, 0, -Re[(E^(2*I*t)*x*(BesselJ[1, Sqrt[x^2 + y^2]] - BesselJ[3, Sqrt[x^2 + y^2]])*Derivative[1][Im][E^(2*I*t)*BesselJ[2, Sqrt[x^2 + y^2]]])/Sqrt[x^2 + y^2]]}, 

{-Re[(E^(2*I*t)*y*(BesselJ[1, Sqrt[x^2 + y^2]] - BesselJ[3, Sqrt[x^2 + y^2]])*Derivative[1][Im][E^(2*I*t)*BesselJ[2, Sqrt[x^2 + y^2]]])/Sqrt[x^2 + y^2]], Re[(E^(2*I*t)*x*(BesselJ[1, Sqrt[x^2 + y^2]] - BesselJ[3, Sqrt[x^2 + y^2]])*Derivative[1][Im][E^(2*I*t)*BesselJ[2, Sqrt[x^2 + y^2]]])/Sqrt[x^2 + y^2]], 0}}

Also, why is the curl of A a tensor? Furthermore, I am not able to expand the structured array box in any way and attempting to copy the text cut off does not work.

$\endgroup$
  • 3
    $\begingroup$ Welcome to Mathematica.SE! I suggest the following: 1) As you receive help, try to give it too, by answering questions in your area of expertise. 2) Take the tour! 3) When you see good questions and answers, vote them up by clicking the gray triangles, because the credibility of the system is based on the reputation gained by users sharing their knowledge. Also, please remember to accept the answer, if any, that solves your problem, by clicking the checkmark sign! $\endgroup$ – Michael E2 Nov 24 '18 at 23:24
  • 3
    $\begingroup$ People here generally like users to post code as Mathematica code instead of just images or TeX, so they can copy-paste it. It makes it convenient for them and more likely you will get someone to help you. You may find this this meta Q&A helpful $\endgroup$ – Michael E2 Nov 24 '18 at 23:24
  • 3
    $\begingroup$ Im' denotes Derivative[1][Im] or the derivative of the imaginary-part operator Im, which is not a differentiable function. Hence, Im' is undefined and normally unusable. $\endgroup$ – Michael E2 Nov 24 '18 at 23:26
  • $\begingroup$ I get this from your first two lines of code: i.stack.imgur.com/Oz0Wu.png -- maybe you have a latent definition. Try quitting the kernel and recalculating. Or try ClearAll[A, x, y, z, t] and recalculating. $\endgroup$ – Michael E2 Nov 25 '18 at 18:16
  • 1
    $\begingroup$ Thank you, I must have had a latent definition, probably of z because it didn't appear in the curl at all. Using " ClearAll["Global`*"] " worked. Should I respond with an answer to this question and then mark it as the solution? $\endgroup$ – Dublin Nichols Nov 25 '18 at 18:23
5
$\begingroup$
A = {BesselJ[2, ks*Sqrt[x^2 + y^2]]*Exp[I*2*ArcTan[y/x]]*
    Exp[kz*z - ω*t], 0, 0};
Curl[A, {x, y, z}]
(* {0, 
 E^(kz z - t ω + 2 I ArcTan[y/x])
   kz BesselJ[2, ks Sqrt[x^2 + y^2]], -((
   2 I E^(kz z - t ω + 2 I ArcTan[y/x])
     BesselJ[2, ks Sqrt[x^2 + y^2]])/(x (1 + y^2/x^2))) - (
  E^(kz z - t ω + 2 I ArcTan[y/x])
    ks y (BesselJ[1, ks Sqrt[x^2 + y^2]] - 
     BesselJ[3, ks Sqrt[x^2 + y^2]]))/(2 Sqrt[x^2 + y^2])} *)

The second option using the function

A[x_, y_, z_, t_, ks_, 
  kz_, ω_] := {BesselJ[2, ks*Sqrt[x^2 + y^2]]*
   Exp[I*2*ArcTan[y/x]]*Exp[kz*z - ω*t], 0, 0}

Curl[A[x, y, z, t, ks, kz, ω], {x, y, z}] /. {ks -> 1, 
  kz -> 1, ω -> 1}

(*Out[]= {0, 
 E^(-t + z + 2 I ArcTan[y/x])
   BesselJ[2, Sqrt[x^2 + y^2]], -((
   2 I E^(-t + z + 2 I ArcTan[y/x]) BesselJ[2, Sqrt[x^2 + y^2]])/(
   x (1 + y^2/x^2))) - (
  E^(-t + z + 2 I ArcTan[y/x])
    y (BesselJ[1, Sqrt[x^2 + y^2]] - BesselJ[3, Sqrt[x^2 + y^2]]))/(
  2 Sqrt[x^2 + y^2])}*)
$\endgroup$
  • $\begingroup$ Awesome, looks like this method gives the desired result. Why doesn't it work when using a function? It seems like there is benefit in using a function for A in order to quickly set a variable to a constant when plotting multiple values of omega, kz, or time for example. $\endgroup$ – Dublin Nichols Nov 25 '18 at 18:16
  • $\begingroup$ @DublinNichols You have mixed symbolic and numerical calculations. Such mistakes are made often, but this is unacceptable, since different rules apply. $\endgroup$ – Alex Trounev Nov 25 '18 at 19:02

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