2

I am using Mathematica 8 on OS X.

I am trying to compute the cylindrical curl of a symbolic vector following Mathematica documentation.

Needs["VectorAnalysis`"]
Curl[{f[r, θ, z]}, {r, θ, z}, "Cylindrical"]

But the output is exactly the same as the input.

Curl[{f[r, θ, z]}, {r, θ, z}, "Cylindrical"]

How do I get Mathematica to symbolically evaluate the curl? This is a test run for wanting to symbolically evaluate more complicated cylindrical curls and cylindrical cross products later.

m_goldberg
  • 107,779
  • 16
  • 103
  • 257
astromonerd
  • 177
  • 2
  • 7
    You must have a 3-dimensional Vector for Curl. Read the docs please. –  Aug 24 '15 at 14:10
  • Shouldn't it be Curl[f[r, θ, z], {r, θ, z}, "Cylindrical"] ? That works in V10.2 – m_goldberg Aug 24 '15 at 16:24
  • @m-goldberg you have the Curl of a Scalar, the OP wants the Curl of a 1-dimensional Vector. That is not the same. The Curl of a Scalar works in V9.0 too. –  Aug 24 '15 at 16:59
  • 2
    @Willinski Although you are correct, I don't think the question needs to be closed, because the pertinent version-8 syntax is hard to find. – Jens Aug 24 '15 at 17:12

1 Answers1

6

It could be that you just neglected to define the function f as a three-component vector, but even if you did, you would have gotten no result.

The documentation for Curl in Mathematica version 8 doesn't tell you how to specify the coordinates, and the documentation for version 10 is not applicable in version 8.

You can find the correct usage of Curl in the VectorAnalysis tutorial linked from the page for Curl, at the very bottom. Here is an example:

f = {0 , 1, 0};
Curl[f, Cylindrical[r, ϕ, z]]

(* ==> {0, 0, 1/r} *)

The syntax you used, Curl[f,"Cylindrical"], would not work in version 8, even with f defined as above. This was an incompatible change in the usage of Curl, after it was moved from the VectorAnalysis to the System context. I think it is indeed confusing because the version-8 documentation for Curl was not specific enough.

Jens
  • 97,245
  • 7
  • 213
  • 499
  • I verified that your example does work - thanks. But how do I implement a generic function whose cylindrical curl (Curl f) or cross product (f x g) returns the analytic symbolic solution? – astromonerd Aug 24 '15 at 19:45
  • Paste VectorAnalysis/tutorial/VectorAnalysis into the Help browser and go to the bottom of the page. The three cylindrical components of the function are called f, g, and h there. See also my answer here. – Jens Aug 24 '15 at 20:06