San José State University
Thayer Watkins
Silicon Valley
& Tornado Alley

Differential Forms

Differential forms are important concepts in mathematics and have ready applications in physics, but their nature is not intuitive. In contrast the concept of vectors and vector fields can be easily grasped. The purpose of this site is to explain the nature of differential forms, both the formal definitions and how they are used. The first step is to assert that differential forms are related to vectors in a very subtle way. They are, in fact, dual to vectors. The meaning of this will be explained below.

First consider a vector space. Roughly, a vector space is a set of entities such that the sum of any vectors is also a vector and the result of multiplying a vector by a scalar is also a vector. A vector space could be the set of arrows in space having direction and magnitude. But the set of solutions to a linear differential equations also constitutes a vector space because the sum of any two solutions is also a solution, as is a multiple of any solution. A remarkable fact is that any vector space has a basis, meaning that there exists a subset of vectors in the space such that any vector in the space can be represented as a linear combination of members of the basis. Thus the vector space can be considered to be ordered n-tuples of scalars involved in the linear combinations.

Formally the vector space is a set of four things, *(V,k,+,*) where V is the set of vectors, K is the field of scalars involved in creating multiples of vectors, + is the function involved in adding two vectors and * is the binary function involved in multiplying a vector by a scalar.

Now consider the set of functions defined on V that have values in K; i.e., f:V → K. Within this set of functions there are linear functions such that if V1 and V2 are vectors then f*(V1 + V2) = f*(V1) + f*(V2) and for any scalar k and any vector V, f*(k*V) = kf*(V). Such linear functions on vector spaces are called linear functionals.

The sum of two linear functionals f1 and f2 can be defined by *(f1+f2)*(V) = f1*(V) + f2*(V) where the addition on the right is addition in the field of scalars, K. Likewise for any linear function f and any scalar k their product can be defined as *(kf)*(V) = kf*(V), again where the multiplication on the right is the multiplication of the scalar field. What these definitions of addition of linear functionals and scalar multiplication of linear functions is that the set of linear functionals, with the scalar field and the definitions of addition and multiplication constitute a vector space. The vector space of linear functionals over V is said to be dual to the vector space involving V. For vector spaces with finite bases the dual spaces are not very exotic; they are essentially the same as the original spaces. If the original space is a finite dimensional column vector then the dual space to it is a space of row vectors of the same dimension. There some infinite dimensional vector spaces that have dual spaces that are different in nature from the original space.

Differential forms are the dual spaces to the spaces of vector fields over Euclidean spaces. Vector fields over some space X are a bit more complex than vector spaces of n-tuples. At each point in the space X there is a vector, say F*(x,y,z). This is equivalent to functions of the form f:X→V; i.e., functions which map every point of the space X into the vector space V.

The vector space of linear functionals over vector fields will have a basis. Suppose the basis for the vector space V is denoted as *(ix,iy,iz), where ix is a unit vector in the positive x direction and so forth. Suppose a basis for the vector space of linear functionals over V is denoted as *(dx,dy,dz). The symbol dx denotes the linear functional which selects the x-component of any vector v; i.e., if v = vxix+vyiy+vziz then dx*(v)=vx. Likewise for dy and dz. The application of these linear functionals to the basis vectors of V give:

dx*(ix)=1, dx*(iy)=0 , dx*(iz)=0,
dy*(ix)=0, dy*(iy)=1 , dy*(iz)=0,
dz*(ix)=0, dz*(iy)=0 , dz*(iz)=1.

Thus the basis of the vector space of linear functionals over the vector space V is conjugate to the basis of V. *(dx,dy,dz) is a basis, any linear functional w may be represented as wxdx+wydy+wzdz. The value of w*(v) for any v=vxix+vyiy+vziz is wxvx+wyvy+wzvz.

If the basis for the linear functionals is written as *(*dx, *dy, *dz) instead of *(dx,dy,dz) nothing has changed. In this slightly modified notation any linear functional w can be represented as w = wx*dx + wy*dy + wz*dz.

A vector field is a function over a region of three dimensional space that gives at each point a vector. For a point P=*(x,y,z) let the vector be v*(P) = vx*(P)ix+vy*(P)iy+vz*(P)iz. The corresponding dual entity is a function over the region of three dimensional space which gives a linear functional at each point; i.e., w*(P) = wx*(P)*dx+wy*(P)*dy+wz*(P)*dz. This is called a 1-form, a special case of a differential form. Thus a 1-form is a field of linear functionals.

The next task is to define k-forms where k can be 0, 2 or 3 as well as 1. However, at this point it should be noted that there are alternative approaches to defining differential forms. One approach defines differential forms of the various dimensions in terms of symbolic expressions. Let P denote *(x, y, z). Then:

A wedge *(^) product of differential forms can be defined for these symbolic expressions. Also the differenttiation of a k-form to produce a *(k+1)-form is defined for these symbolic expressions. This approach is consistent but the lack of a geometric interpretation of the symbolic expressions destroys motivation to learn this topic.

Another approach makes use of geometric concepts as follows:

Symbolically 2-forms involve expressions of the form *dx*dy. How can the expression *dx*dy be given some concrete, geometric meaning? Williamson, Crowell and Trotter in their Calculus of Vector Functions provide an answer. They assert that *dx*dy is a linear function of order pairs of vectors such that for the vector pair *(v,w), *dx*dy*(v,w) is equal to the area of the parallelogram formed by the projections of v and w onto the xy-plane, as shown in the diagram below.

This sounds excessively abstruse but computationally it is quite simple, being the value of the determinant of a 2x2 matrix; i.e.,

| *dx*(v) *dx*(w)  |
| *dy*(v) *dy*(w)  |

which is equal to

| v1 w1  |
| v2 w2  |


The value of the determinant is just v1w2 - v2w1.

The meaning of *dy*dz and *dz*dx is given by analogous expressions so that the general definition of
*dxi*dxj*(v1,v2) is given by:

| *dxi*(v1*dxi*(v2)  |
| *dxj*(v1*dxj*(v2)  |

which is equal to

| v1i v2i  |
| v1j v2j  |


It immediately follows from the properties of the determinant that if i=j the determinant is equal to zero. Thus, *dxi*dxi equals the zero functional for all values of i. It also follows that *dxj*dxi = -*dxi*dxj.

This approach can be generalized to give the definition of other basic k-forms.

General Definition of Differential Forms

Basic Forms

A k-form *dxi1*dxi2...*dxik1 is the linear function over k-tuples of vectors *(v1,v2,...,v1) equal to the determinant of the matrix whose general term is *dxi*(vj); i.e., the element in the i-th row, j-th column is the i-th component of the j-th vector, vji.

General Forms

Roughly a k-form is the formal sum of functions over the space f*(P) times the basic k-forms. More properly a k-form is a vector whose components are functions over the space and the basis of these vectors is the basic k-forms.

With this founding of differential forms in geometry and analysis the formal expression approach to differential forms becomes a valuable and powerful method of computing wedge products and derivatives of differential forms. It is all very beautifully tied together.

The Wedge Product of Differential Forms

From the definition in terms of a determinate it is seen than any n-tuple of differentials, such as *dxi*dxj or *dxi*dxj*dxk, is the zero linear functional if any index is repeated. Furthermore if any two indices are interchanged the sign of the n-tuple is reversed. Thus *dx*dx=*dy*dy=*dz*dz=0 and *dy*dx=-*dx*dy and so on. The wedge product of two differential forms can be computed by creating their formal product and reducing it using the above relations.

For example, consider the product of y*dx+x2*dy with z*dx+*dy-x*dz. The formal product is given by:

*(y*dx+x2*dy)*(z*dx+*dy-x*dz) = yz*dx*dx+y*dx*dy-xy*dx*dz
+ x2z*dy*dx+x2*dy*dy-x3*dy*dz
= y*dx*dy-xy*dx*dz + x2z*dy*dx-x3*dy*dz
= *(y-x2z)*dx*dy + x3*dy*dz - xy*dx*dz.

The use of *dx*dy, *dy*dz and *dz*dx rather than *dx*dy, *dx*dz and *dy*dz or any other variation has the virture of creating a right handed set of basis vectors.

The result is usually expressed using the wedge notation; i.e.,

*(y*dx+x2*dy)^*(z*dx+*dy-x*dz) =
*(y-x2z)*dx*dy + x3*dy*dz - xy*dx*dz.

The wedge product of a 0-form, a scalar function, with another differential form iis just the algebraic product of the function and the differential form; i.e.,

*(f ^ ω) = fω

For example, if f=xz and ω = y*dx-x*dy then *(xy ^ *(y*dx-x*dy)) = xyz*dx - x2z*dy.

The Derivative of Differential Forms

The operation of taking the derivative of differential forms is defined recursively. The derivative of a 0-form, a scalar function f*(x,y,z) over the space, is defined as

df = *(∂f/∂*dx)*dx + *(∂f/∂*dy)*dy
+ *(∂f/∂*dz)*dz.

This is called the gradient of f and is the base case for the recursive definition of the derivative. The derivative of the sum and the wedge product of two differential 1-forms, φ and ω, is given by the rules:

d*(φ + ω) = dφ + dω

d*(φ ^ ω)=*(dφ ^ ω) - *(φ ^ dω)

From these rules we quickly find that d*(dω)=0 for any differential 1-form ω because it can be consider the product of the constant function equal to 1 and itself. Thus

d*(dω) = d*(1dω) = d*(1^ω) =
d*(1)^ω - *(1^d*(dω)) = - d*(dω)

but d*(dω) = - d*(dω) can only be true if d*(dω)=0. In particular, since *dx=d*(x), d*(*dx)=0 and likewise d*(*dy)=0 and d*(*dz)=0.

Here is how these rules would be applied to get the derivative of ω = xz*dx - y*dy.

dω = d*(xz*dx - y*dy)
= d*(xz*dx) - d*(y*dy)
= *(d*(xz)^*dx - xzd*(*dx))
- *(*dy^*dy - *(y^d*(*dy))
= *(z*dx+x*dz)^*dx - 0) - *(0 - 0)
= x*dz*dx = - x*dx*dz.

Although the definition of the derivative of the wedge product of 1-forms is as given above this is not the general formula for the derivative of the wedge product of differential forms of arbitrary degree. In particular, it would not hold for the case of 0-forms; i.e., scalar-valued functions. For scalar functions f and g:

d*(f^g) = d*(fg) = *(df)g + f*(dg) = df^g + f^dg

Also for the wedge product of a 0-form f and a 1-form ω we have

d*(f^ω) = d*(fω) = df^ω + fdω.

Although it is not obvious from these special cases the proper definition of the derivative of the wedge product of an i-form φ and a j-form ω is:

d*(φ^ω) = *(dφ)^ω + *(-1)iφ^*(dω)
which is the same as
d*(φ^ω) = *(dφ)^ω +

General Commutativity Relation for the Wedge Product

Although it was found that for two 1-forms, φ and ω φ^ω = -ω^φ, this is not the general relation for differential forms of arbitrary degree. For an i-form φ and a j-form ω the commutativity relation is:

φ^ω = *(-1)ijω^φ,
which is the same as
φ^ω =

This formula may be explained by considering the process involved in interchanging an i-form of the form

with a j-form of the form

The terms of the j-form have to be passed through the i-form one by one. Each term of the j-form has to be interchanged with successive terms of the i-form. One cannot jump *dxq1 to the first position because that would change the order of the terms of the terms of the i-form. Since each interchange reverses the sign and it requires i interchanges to pass one term of the j-form through the terms of the i-form the result is:

*dxq1*dxp1*dxp2...*dxpi*dxq2...*dxqj =
*(-1)i*dxp1*dxp2...*dxpi *dxq1*dxq2...*dxqj

Since there are j terms that must be passed through the i-form the final sign will be
*(*(-1)i)j which is equal to
*(-1)ij. The same sign would apply to each wedge product of the product terms in the wedge product of a general i-form with a general j-form.

General Formula for the Derivative of
the Wedge Product of Two Differential Forms

Let us start with the case of the product of two simple forms. Let one differential form be fφ = f*dxi1...*dxip and and the other gω = g*dxj1......*dxjq. Thus *(fφ)^*(gω) = fg*(φ^ω). The derivative is therefore

d*(*(fφ)^*(gω)) =
d*(fg)*(φ^ω) =
[Σ*(∂f/∂xi)*dxi)g +
f*(Σ*(∂g/∂xj)*dxj)]*(φ^ω) =
[*(*(Σ∂f/∂xi)φ]^*(gω + *(fΣ*(∂g/∂xj)*dxi)*(φ^ω)

The problem is the last term. To put it in proper form we must pass each of the *dxj through φ by a sequence of interchanges. This process results in a change of sign for each interchange. The final result is then multiplied by *(-1)deg*(φ). The final result is thus:

d*(*(fφ)^*(gω)) =
[*(Σ*(∂f/∂xi)*dxi)φ]^*(gω) +
*(-1)deg*(φ*(fφ)*(Σ*(∂g/∂xj)*dxj)ω =
*(d*(fφ)^*(gω) +

(To be continued)


HOME PAGE OF applet-magic
HOME PAGE OF Thayer Watkins