Line Integrals as Pull-Backs
If
M
and
N
are infinitely-differentiable functions of
x
and
y
, then an expression of the form
Mdx+Ndy
is known as a
differential form
. Typically, a differential form is defined along a curve C:
r
(
t
) =
, t
in [
a,b
], in terms of the parameter
t
. That is,
Mdx+Ndy = M
+
N
In 3-dimensional space, differential forms are given by
Mdx+Ndy+Pdz
where
M, N,
and
P
are infinitely differentiable in
x, y,
and
z
;
and likewise, a differential form is defined along a curve C:
r
(
t
) =
,
t
in [
a,b
], by
Mdx + Ndy + Pdz = M
+
N
+ P
In both cases, we say that the differential form is pulled back to the parameter t.
We can use the idea of a pullback to define the
line integral
of a differential form
Mdx+Ndy+Pdz
along a curve C:
r
(
t
) =
,
t
in [
a,b
], by
=
Let's look at an example: Let's evaluate
over the curve C:
r
(
t
) =
,
t
in
. First, let's define the differential form and the curve.
> | SetCoordinates( cartesian[x,y,z] ); diff_form:=y*dx-x*dy+z*dz; r:=<cos(t),sin(t),t>; |
> |
To obtain the pullback, we replace dx, dy, and dz by the derivatives of x, y, and z , respectively, along the curve.
> | diff_form:=subs(dx=Diff(r[1],t),dy=Diff(r[2],t),dz=Diff(r[3],t),diff_form); diff_form:=value(%); |
> |
Finally, we construct the integral of the pullback into the t variable, substitute for x, y, and z , and evaluate.
> | Int(diff_form,t=0..2*Pi); subs(x=r[1],y=r[2],z=r[3],%); value(%); |
> |
If we let
F
(
x,y,z
) =
and let
d
r =
, then the line integral of a differential form can be written
picture--F.dr
Indeed, this is the form that Maple prefers to work with. The command Lineint in the "VectorCalculus" package will calculate a line integral of a vector field F over an oriented curve C, which it refers to as a "Path".
For example, lets evaluate
over the curve C:
r
(
t
) =
,
t
in
by applying the
Lineint
command to the vectorfield
F
(
x,y,z
) =
along the
Path C
:
,
. The option "inert" allows us to see the pullback integral before it is evaluated.
> | LineInt( VectorField( <y,-x,z> ), Path( <cos(t),sin(t),t>, t=0..2*Pi ),'inert' ); value(%); |
> |
The result should be the same as before