o Section 3: Exterior Differentiation

In this section we consider the exterior differentiation of forms. The operator d is a linear map that sends k-forms to (k+1)-forms and is defined as follows:

Input := 

<<forms.d-defs.m;
Input := 

?d
Global`d

d[(w1_) + (w2_)] := d[w1] + d[w2]
 
d[Wedge[w1_, w2__]] := d[w1]^w2 - w1^d[w2]
 
d[d[w_]*(f_)] := d[f]^d[w]
 
d[(f_)*Wedge[w1__]] := d[f]^Wedge[w1] + f*d[Wedge[w1]]
 
d[d[w_]] := 0
 
d[f_] := D[f, x]*d[x] + D[f, y]*d[y] + D[f, z]*d[z] /; 
   !MemberQ[{x, y, z}, f]

For example,

Input := 

d[x^2 + y^3 - Sin[z]]
Output =

              2
2 x d[x] + 3 y  d[y] - Cos[z] d[z]

Note that this is the gradient of the differential 0-form (ie, a scalar function) x^2 + y^3 - Sin[z], if we view {d[x],d[y],d[z]} as the basis vectors for differential 1-forms.

Input := 

d[d[x^2 + y^3 - Sin[z]]]
Output =

-6 d[y] ^ (y d[y]) - d[z] ^ (d[z] Sin[z])

This is expected by Poincare's lemma: d[d[w]] = 0 for arbitrary form w.
Another example:

Input := 

d[x^2 d[y] + (3x - 4 + z^2) d[z]]
Output =

3 d[x] ^ d[z] + 2 (x d[x]) ^ d[y] - 2 d[z] ^ (z d[z])
Input := 

Collect[
 (d[(x^3 + y - Cos[z]) d[x] + x^2 d[y] + (3x - 4 + z^2) d[z]] /.
   {d[x] ^ d[z] -> -1 d[z] ^ d[x]}),
   {d[x]^d[y],d[y]^d[z],d[z]^d[x]}]
Output =

                             2
-3 d[z] ^ d[x] - 3 d[x] ^ (x  d[x]) - d[x] ^ d[y] - 
 
  d[x] ^ (d[z] Sin[z]) + 2 (x d[x]) ^ d[y] - 
 
  2 d[z] ^ (z d[z])

Note that this is the curl of (x^3 + y - Cos[z], x^2, 3x - 4 + z^2) if we view {d[y]^d[z],d[z]^d[x],d[x]^d[y]} as the basis vectors for differential 2-forms and {d[x],d[y],d[z]} as the basis vectors for differential 1-forms.

Input := 

Collect[
d[(x^2 - y + Log[z]) d[x]^d[y] + (x y + Sin[z]) d[y]^d[z] + 
(x^5 - y z + x Log[z]) d[z]^d[x]],
{d[x]^d[y]^d[z]}]
Output =

                                       4
-2 d[x] ^ (x d[x]) ^ d[y] + 5 d[x] ^ (x  d[x]) ^ d[z] + 
 
                 d[z]
  d[x] ^ d[y] ^ (----) - d[x] ^ (z d[y]) ^ d[z] + 
                  z
 
                                          x d[z]
  d[x] ^ d[z] ^ (y d[z]) - d[x] ^ d[z] ^ (------) - 
                                            z
 
  d[x] ^ d[z] ^ (d[x] Log[z]) + (y d[x]) ^ d[y] ^ d[z] - 
 
  d[y] ^ (x d[y]) ^ d[z] + d[y] ^ d[z] ^ (Cos[z] d[z])

This is the divergence of (x y + Sin[z], x^5 - y z + x Log[z], x^2 - y + Log[z]).

In general, it is true that in R^3 the operation of d on a differential 0-form gives the gradient of that differential 0-form, that on a differential 1-form give the curl of that differential 1-form, and that on a differential 2-form gives its divergence.

Armed with this, we can look at Poincare's lemma from a different view.  In vector notations, if w is a differential 0-form, Poincre lemma can be written as curl grad f = 0 for arbitrary scalar field f; and if w is a differential 1-form, Poincare lemma can be written as div curl v = 0 where v is an arbitrary vector field. These are well-known facts.


Last modified: Wednesday, November 1, 1995

Stephen Yeung / yeung@tam.cornell.edu

Statistical Mechanics: Entropy, Order Parameters, and Complexity, now available at Oxford University Press (USA, Europe).