According to the JacobianDeterminant help for my MMA 11.0 (W7, 64-bit)

As of Version 9.0, vector analysis functionality is built into the Wolfram Language

but the only Jacobian headwords are for JacobianDeterminant and JacobianMatrix which are the pages already noted as saying vector analysis is now built in.

JacobianMatrix seems to exist, but trying to evaluate the help file example in those pages doesn't work unless one does indeed evaluate


first, then

JacobianMatrix[Cylindrical] // MatrixForm

works but now MMA notes by colouration that JacobianMatrix is shadowed "in multiple contexts"?

How is one supposed to use the now "built in" vector analysis functions? JacobianDeterminant, JacobianMatrix?

  • $\begingroup$ You could just do Det[D[{f[x, y, z], g[x, y, z], h[x, y, z]}, {{x, y, z}}]], no? $\endgroup$ – J. M. will be back soon May 25 '17 at 10:40
  • $\begingroup$ @J.m. Of course one can calculate it, but the focus of the question is really where the named functions now ate given that they have been "built in" $\endgroup$ – Julian Moore May 25 '17 at 10:43
  • 1
    $\begingroup$ Then, have you seen this? $\endgroup$ – J. M. will be back soon May 25 '17 at 10:49
  • $\begingroup$ @J.M. Thanks for the link..."The functions JacobianMatrix and JacobianDeterminant are both properties found in the function CoordinateTransformData." So that's where they went... Thank you. $\endgroup$ – Julian Moore May 25 '17 at 11:33

Since the answer really isn't that easy to find by just looking for JacobianMatrix, here is how you're now supposed to do it, using CoordinateTransformData:

CoordinateTransformData[{"Cylindrical"->"Cartesian"}, "MappingJacobian",{r,φ,z}]

$$\left( \begin{array}{ccc} \cos (\varphi ) & -r \sin (\varphi ) & 0 \\ \sin (\varphi ) & r \cos (\varphi ) & 0 \\ 0 & 0 & 1 \\ \end{array} \right)$$

Although this notation is a lot more verbose, it has potential advantages. For example, you can define part of the above command as a function which can then be applied to other choices of coordinate variables, or also to non-symbol vectors as shown here:

jac = 
 CoordinateTransformData[{"Cylindrical" -> "Cartesian"}, "MappingJacobian"]

MatrixForm[jac[{1, π/2, 0}]]

$$\left( \begin{array}{ccc} 0 & -1 & 0 \\ 1 & 0 & 0 \\ 0 & 0 & 1 \\ \end{array} \right)$$

With the old-style syntax, you'd have to add a step in which the default variables of the coordinate system are replaced by the arguments. Here, that's no longer necessary because I was able to define jac as a function in a single step.

  • $\begingroup$ Thanks for the extra input! $\endgroup$ – Julian Moore Jul 18 '17 at 5:29

1) As already pointed out in the comments, these are now properties in CoordinateTransformData

2) As a general rule, when you find a symbol from an obsolete package, the best thing to do is to go back to the search results and look for the compatability tutorial. In this case,

VectorAnalysis` (Compatibility Information)

Is the 1st search result.


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.