Calculus: Vector Calculus in Cylindrical Coordinate Systems
Introduction
Polar Coordinate System
Consider the representation of a geometric plane using with a chosen but arbitrary origin. The directions at every point in the plane are defined using the basis vectors
and
(Fig 1 left). In certain situations, it is more convenient to define directions or basis vectors at every point such that the first direction (first basis vector) points away from the origin (blue arrows in Fig 1 right) and the second direction is perpendicular to the first direction while maintaining the right hand rule (yellow arrows in Fig 1 right). Given that the coordinates of a point in the geometric plane are given by
and
, then, we can define at every point the following relations:
with the inverse relationship:
taking into consideration the quadrant of and
. It is important to note that the function
is not defined at the origin. It is also important to note that
and
are themselves vector fields.
represents a vector field of unit vectors that are pointing away from the origin and
represents a vector field of unit vectors perpendicular to the vectors of the
vector field maintaining the right hand orientation (Fig 1 left). Using a simple change of coordinates, the new basis set
at a point represented by the coordinates
and
(or the corresponding r and \theta) can be related to the Cartesian basis
and
using the relationships:
Therefore, the coordinate transformation from the Cartesian basis to the polar coordinate system is described at every point using the matrix :
As the vector fields and
are functions of the two real numbers
, and
, then, we can find the derivatives of
and
as follows:
It is also useful to find the derivatives of the position vector of a point with respect to the independent variables and
. The position
of a point in the plane is given by:
The derivatives of the position vector with respect to and
are given by:
These derivatives will be used to calculate the derivatives of other quantities in a polar coordinate system.

Cylindrical Coordinate System:
A cylindrical coordinate system is a system used for directions in \mathbb{R}^3 in which a polar coordinate system is used for the first plane (Fig 2 and Fig 3). The coordinate system directions can be viewed as three vector fields , and
such that:
with and
related to the coordinates
and
using the polar coordinate system relationships. The coordinate transformation from the Cartesian basis to the cylindrical coordinate system is described at every point using the matrix
:
The vector fields and
are functions of
and their derivatives with respect to
and
follow from the polar coordinate system.
on the other hand is independent of
and
.


Fields in Cylindrical Coordinate System
Let be a subset of
. If
,
, and
are smooth scalar, vector and second-order tensor fields, then they can be chosen to be functions of either the Cartesian coordinates
, and
, or the corresponding real numbers
,
, and
. Also,
and
can have their components expressed in either the fixed orthonormal basis set
, or can be expressed using the cylindrical coordinate system directions at every point. In other words,
, as a vector field, can have the one of the following forms:
where , and
are scalar fields. Similarly,
, as a tensor field, can have one of the following forms:
where , and
are scalar fields.
Field Derivatives in Cylindrical Coordinate Systems
Gradient of a Scalare Field
Let be a scalar field such that
. The gradient of
in a cylindrical coordinate system can be obtained using one of two ways. The first way is to find
as a function of
, and
by simply replacing
,
, and
. Then, finding the gradient of
in the Cartesian coordinate system and then utilizing the relationship
. After that, the variables
, and
can be replaced with
, and
. Alternative, the gradient of
can be obtained directly in the cylindrical coordinate system. In order to find the expression for the gradient, recall that a scalar field
is differentiable if there exists
such that
,
Using this definition, we will aim to find the representation of in a cylindrical coordinate system. Let
. We will strategically choose particular expressions for hn to obtain the required expression for the vector
. First, we will choose hn such that it is equivalent to a path increment caused by a change \Delta r, i.e., hn=\Delta r \frac{\partial x}{\partial r}=\Delta r e_r (Fig. 4). Then:
Therefore:
Therefore:
Similarly, can be chosen to be equivalent to a path increment caused by
, i.e.,
(Fig. 4). Therefore:
Therefore:
Therefore:
Therefore,
The third component is straightforward and is equal to:
Therefore, the gradient of in a cylindrical coordinate system has the form:

Gradient of a Vector Field
Let be a smooth vector field. The components of the tensor field
in a cylindrical coordinate system can be obtained by a simple coordinate transformation using the components in the Cartesian coordinate system and the matrix of transformation
. I.e.,
. Alternatively, if
is already expressed in a cylindrical coordinate system, then, notice that the derivatives of
with respect to
,
, and
are given by:
We can now assume assume that, in the cylindrical coordinate system, has the following form:
Notice that:
Recall that a vector field is differentiable if there exists a tensor field denoted such that
:
Therefore, the component can be obtained by setting
in the above relationship and taking the dot product with
as follows:
I.e.
Therefore:
The component can be obtained by setting
in the above relationship and taking the dot product with
as follows:
I.e.
Therefore:
Similarly,
Therefore, has the following form:
Divergence of a Vector Field
If is given similar to the previous section, then, the divergence of
in a cylindrical coordinate system is given by:
Gradient of a Tensor Field
Let be a tensor field with components
with
. First, we use the tensor product representation of the tensor field to find the derivatives of
with respect to
, and
. The derivatives with respect to
and
are straightforward since
, and
are independent of
and
:
Similarly,
However, the dependence of and
on
leads to the following derivative of
with respect to
:
Using the general definition of the gradient of a tensor field, the components of the gradient of denoted by
in the cylindrical coordinate system can be obtained in a manner similar to the previous section. Let the components be
with
. Then, it is straightforward (but with lots of details) to show that when
or
:
Therefore:
However, the components when \gamma=\theta have the following form:
Divergence of a Tensor Field
Let be a tensor field with the cylindrical coordinate system components
with
.
Using the general definition of the divergence of a tensor field, the components of \mathrm{div}{(T)} in a cylindrical coordinate system can be obtained as follows:
where , and
are fixed in space at a particular point. I.e., the
operator only applies to
. The procedure used in the gradient of a vector in a cylindrical coordinate system section combined with the derivatives of
shown in the previous section can be used to reach the following formulas for the components of the divergence of
in a cylindrical coordinate system:
Therefore:
Curl of a Vector Field
Using the general definition of the Curl, if is a vector field given in terms of
, and
and represented in a cylindrical coodrinate system, then, the components of the curl of
are given by:
with the \nabla operator applied to u and not to the vectors , and
. Therefore in a cylindrical coordinate system:
Laplacian of a Scalar Field
Using the general definition of the Laplacian, if is a scalar function given in terms of
, and
, then, the Laplacian of
is given by:
Example
Let be given by
. Find the gradient of
in the current coordinate system. Find the expression for
and the gradient of
in a polar coordinate system.
SOLUTION
In the Cartesian coordinate system, the gradient of has the form:
Note that and
can be represented in the Cartesian coordinate system using
and
instead of
and
as follows:
It is important to note that this is a mere change of variables, but the components of and
are still represented using the Cartesian coordinate system. The values themselves are just obtained using
and
, rather than
and
.
If , and
are the basis vectors in the Cartesian coordinate system, and if
and
are the basis vectors in the cylindrical coordinate system, then the matrix of transformation from the Cartesian to the cylindrical coordinate system at a particular point depends on the value of theta at that particular point and is given by:
If is the expression of
in the polar coordinate system, it has the form:
The representation in the cylindrical coordinate system can be obtained using the change of coordinates formula:
Alternatively, the gradient of u in the cylindrical coordinate system can be obtained directly using the components and
:
Noting that , the two methods produce identical results for the components of the gradient in the polar coordinate system.
The following figure shows the directions at an arbitrary point in a Cartesian coordinate system (left) and the representation of
and
in that coordinate system. On the right, the polar coordinate system directions are shown along with the representation
and
.

View Mathematica Code
Q={{Cos[th],Sin[th]},{-Sin[th],Cos[th]}}; u={x1^2+x2^2,x1*x2}; x={x1,x2} rule={x1->r*Cos[th],x2->r*Sin[th]} urth=FullSimplify[u/.rule] Gu=Table[D[u[[i]],x[[j]]],{i,1,2},{j,1,2}] Gurth=FullSimplify[Gu/.rule] up=FullSimplify[Q.urth] Gup=FullSimplify[Q.Gurth.Transpose[Q]] Gup//MatrixForm Guformula=FullSimplify[{{D[up[[1]],r],D[up[[1]],th]/r-up[[2]]/r},{D[up[[2]],r],up[[1]]/r+D[up[[2]],th]/r}}]; Guformula//MatrixForm FullSimplify[Guformula-Gup]
View Python Code
import sympy as sp from sympy import diff, simplify from sympy.matrices import Matrix sp.init_printing(use_latex = "mathjax") x1,x2 = sp.symbols('x_1 x_2') r, theta = sp.symbols('r \u03B8') u1 = x1**2+x2**2 u2 = x1*x2 # cartesian coordinate system u = Matrix([u1,u2]) display("u =",u) x=Matrix([x1,x2]) # gradient grad_u=Matrix([[diff(ui,xj) for xj in x] for ui in u]) display("\u2207u =",grad_u) # Change of variables display("The following is a simple change of variables but the components are still in the cartesian coordinate system") urth = u.subs([(x1, r*sp.cos(theta)), (x2, r*sp.sin(theta))]) display("u_r_\u03B8 =",urth,simplify(urth)) # gradient grad_u_rth = grad_u.subs([(x1, r*sp.cos(theta)), (x2, r*sp.sin(theta))]) display("\u2207u_r_\u03B8 =",grad_u_rth) # rot matrix Q = Matrix([[sp.cos(theta),sp.sin(theta)],[-sp.sin(theta),sp.cos(theta)]]) display("Q =",Q) # Change of coordinates display("The following representation is in the radial coordinate system") upolar=simplify(Q*urth) grad_u_polar=simplify(Q*grad_u_rth*Q.T) display("u' = Q*u =",upolar) display("\u2207u' = Q*\u2207u*Q^T =",grad_u_polar) # Gradient formula in the polar coordinate system display("The gradient can also be calculated using the gradient formula") grad_u_formula=Matrix([[diff(upolar[0],r),diff(upolar[0],theta)/r-upolar[1]/r], [diff(upolar[1],r),upolar[0]/r+diff(upolar[1],theta)/r]]) grad_u_formula=simplify(grad_u_formula) display(grad_u_formula)