MathGroup Archive 2006

[Date Index] [Thread Index] [Author Index]

Search the Archive

RE: Re: RE: Re: Dot Product in Cylindrical Coordinates


Your example does not work for me.

SetCoordinates[Cylindrical[r, theta, z]];

g = {gr[r, theta, z], gtheta[r, theta, z], gz[r, theta, z]};
f = {fr[r, theta, z], ftheta[r, theta, z], fz[r, theta, z]};

gr[r_, theta_, z_] := r
gtheta[r_, theta_, z_] := theta
gz[r_, theta_, z_] := z
fr[r_, theta_, z_] := r^2
ftheta[r_, theta_, z_] := theta
fz[r_, theta_, z_] := Cos[z]

If we use CrossProduct and DotProduct along with a standard identity using
Div and Curl, which should always be true, then it does not work.

Div[CrossProduct[g, f]] ==
    DotProduct[Curl[g], f] - DotProduct[Curl[f], g] // Simplify
(r^2 + 3*r^4*z^2 - 5*r^3*z*Cos[z] +
    Sqrt[r^2*((-r)*z + Cos[z])^2] + r^2*Cos[2*z])/
   (r*Sqrt[r^2*((-r)*z + Cos[z])^2]) ==
  (theta*(-z + Cos[z]))/r

However if we use the standard Dot and Cross functions the identity is

Div[Cross[g, f]] == Dot[Curl[g], f] - Dot[Curl[f], g] // Simplify

The point here is that the package functions DotProduct and CrossProduct are
rather special and have NOTHING to do with standard vector calculus. Users
should not stumble into using them where they do not apply.

In standard vector calculus, in a coordinate system, an orthonormal frame is
erected at each point in the space. The axes of the frame point along the
coordinate directions. The components of vectors are specified in terms of
this orthonormal frame. Since the frame is orthonormal, at any point we can
simple use the standard Dot and Cross product for combining two vectors at
that point. Curl and Div demand vector components in terms of an orthonormal

If businessmen can jump on computerized inventory control, lasers and
barcodes and DVDs and other technology all within a decade or so of their
invention, why or why can't engineering and physics schools dump the
misbegotten vector calculus of over a century ago?

David Park
djmp at

From: Pratik Desai [mailto:pratikd at]
To: mathgroup at

I think it is quite imperative to note here that

"There are often conflicting definitions of a particular coordinate
system in the literature. When you use a coordinate system with this
package, you should look at the definition given below to make sure it
is what you want." --Mathematica Documentation

So for cylindrical coordinate system one must define the system as:

g = {g?[r, theta, z], g?[r, theta, z], gz[r, theta, z]}
f = {f?[r, theta, z], f?[r, theta, z], fz[r, theta, z]}
g?[r_, theta_, z_] = r
g?[r_, theta_, z_] = theta
gz[r_, theta_, z_] = z
f?[r_, theta_, z_] = r^2
f?[r_, theta_, z_] = theta
fz[r_, theta_, z_] = Cos[z]

Then everything works fine:



Hope this helps


  • Prev by Date: Re: numerical integration
  • Next by Date: Re: Re: Simplify UnitStep expressions
  • Previous by thread: Dot Product in Cylindrical Coordinates
  • Next by thread: Re: Re: RE: Re: Dot Product in Cylindrical Coordinates