
 
| Exercises | 
Problem1:
| Compute the line integral | 
> #
                                   /
                                  |
                                  |  sin(x) dx
                                  |
                                 / C
| where C is the arc of the curve x=y^4 from (1,-1) to (1,1). | 
Solution1:
| If we use the parametrization: | 
> y := t; x := t^4; dx := diff(x,t); dy := diff(y,t);
                                     y := t
                                          4
                                    x := t
                                            3
                                   dx := 4 t
                                    dy := 1
| here and in the rest of these problems dx and dy stand for the
 derivatives with respecto to t of x and y respectively and not
 for the usual differential that would include the additional
 multiplication by dt. The line integral is then: | 
> ans1 := Int(sin(x)*dx,t=-1..1)=int(sin(x)*dx,t=-1..1);
                                  1
                                  /
                                 |         4   3
                        ans1 :=  |  4 sin(t ) t  dt = 0
                                 |
                                /
                                -1
| Notice that the integral is trivially 0 since we are integrating
  an odd function over a symmetric (about 0) domain i.e. [-1,1]. | 
Problem2:
| Before the statement of the next problem let us write a little proc for cleanning up the variables quickly: | 
 >    clean := proc() 
 >    global x,y,z,dx,dy,dz; 
 >    x :='x': y:='y' : z:= 'z': 
 >    dx := 'dx': dy := 'dy' : dz := 'dz': 
 >    end: 
| Now we are ready for problem2: Compute | 
 >    clean(): 
 >    Int(y*z*dx + x*z*dy + x*y*dz,t); 
                          /
                         |
                         |  y z dx + x z dy + x y dz 
                         |
                        / C
| where C consists of the line segments from the origin to (1,1,2), from
  (1,1,2) to (2,-1,2) and from (2,-1,2) back to the origin. 
  i.e. a triangle! | 
Solution2:
| First split the integral into 3 parts I1,I2 and I3 along each of the three segments. The answer is just I1+I2+I3. We need to parametrize each segment. The first segment from (0,0,0) to (1,1,2) is: | 
> with(linalg): r := evalm([0,0,0]+t*([1,1,2]-[0,0,0]));
                               r := [ t, t, 2 t ]
 >    x:=r[1]; y:=r[2]; z:=r[3]; dx:=diff(x,t);dy:=diff(y,t);dz:=diff(z,t); 
                                     x := t
                                     y := t
                                    z := 2 t
                                    dx := 1
                                    dy := 1
                                    dz := 2
| (don't forget what we said above about the dx,dy...) so the integral is: | 
 >    I1 := Int(y*z*dx + x*z*dy + x*y*dz,t=0..1) =  
 >      int(y*z*dx + x*z*dy + x*y*dz,t=0..1); 
                                     1
                                     /
                                    |     2
                             I1 :=  |  6 t  dt = 2
                                    |
                                   /
                                   0
| Now the second segment from (1,1,2) to (2,-1,2): | 
> r := evalm([1,1,2]+t*([2,-1,2]-[1,1,2]));
                           r := [ 1 + t, 1 - 2 t, 2 ]
 >    x:=r[1]; y:=r[2]; z:=r[3]; dx:=diff(x,t);dy:=diff(y,t);dz:=diff(z,t); 
                                   x := 1 + t
                                  y := 1 - 2 t
                                     z := 2
                                    dx := 1
                                    dy := -2
                                    dz := 0
 >    I2 := Int(y*z*dx + x*z*dy + x*y*dz,t=0..1) =  
                                  1
                                  /
                                 |
                          I2 :=  |  - 2 - 8 t dt = -6
                                 |
                                /
                                0
| and finally the last segment from (2,-1,2) to (0,0,0) is: | 
> r:=evalm([2,-1,2]+t*[-2,1,-2]);
                       r := [ 2 - 2 t, - 1 + t, 2 - 2 t ]
 >    x:=r[1]; y:=r[2]; z:=r[3]; dx:=diff(x,t);dy:=diff(y,t);dz:=diff(z,t); 
                                  x := 2 - 2 t
                                  y := - 1 + t
                                  z := 2 - 2 t
                                    dx := -2
                                    dy := 1
                                    dz := -2
 >    I3 := Int(y*z*dx + x*z*dy + x*y*dz,t=0..1) =  
                     1
                     /
                    |                                     2
             I3 :=  |  - 4 (- 1 + t) (2 - 2 t) + (2 - 2 t)  dt = 4
                    |
                   /
                   0
| The integral over the whole boundary of the triangle is then: | 
> ans2 := I1+I2+I3;
ans2 :=
     1             1                  1
     /             /                  /
    |     2       |                  |                                     2
    |  6 t  dt +  |  - 2 - 8 t dt +  |  - 4 (- 1 + t) (2 - 2 t) + (2 - 2 t)  dt
    |             |                  |
   /             /                  /
   0             0                  0
    = 0
| Hmmm all this work to get 0? Well.. in fact we'd be able to deduce that
  the answer is zero if we knew that F=[yz,xz,xy] is a conservative
  vector field (since its curl is 0) and that line integrals of
  conservative vector fields over close paths are always 0. | 
Problem3:
| Compute the work done by the force field F=[x,y+2] in moving an object along an arch (t from 0 to 2Pi) of the cycloid: | 
> r :=evalm([t-sin(t),1-cos(t)]);
                        r := [ t - sin(t), 1 - cos(t) ]
|  | 
Solution3:
| The cycloid is given by: | 
> x:=r[1];y:=r[2];dx:=diff(x,t);dy:=diff(y,t);
                                x := t - sin(t)
                                y := 1 - cos(t)
                                dx := 1 - cos(t)
                                  dy := sin(t)
 >    ans3 := Int(x*dx+(y+2)*dy,t=0..2*Pi) = int(x*dx+(y+2)*dy,t=0..2*Pi); 
             2 Pi
              /
             |                                                             2
    ans3 :=  |    (t - sin(t)) (1 - cos(t)) + (3 - cos(t)) sin(t) dt = 2 Pi
             |
            /
            0
|  | 
Problem4:
| Write a maple procedure for computing the line integral of a vector
   field F over a parametrized curve r. Call it lint. | 
Solution4:
| Here it is. lint expects a vector F (of dim 2 or 3) with expressions in x,y and z, a vector r with expressions in a parameter (usually t) and a range for the parameter like t=a..b (see examples below). | 
 >    lint := proc(F,r,range) 
 >            local t,a,b,P,Q,R,dx,dy,dz,Li,li,f; 
 >            global x,y,z; 
 >                t := eval(op(1,range)); 
 >                a := op(1,op(2,range)); 
 >                b := op(2,op(2,range)); 
 >                x := r[1]; 
 >                dx := diff(x,t); 
 >                y := r[2]; 
 >                dy := diff(y,t); 
 >                if nops(linalg[evalm](F)) = 2 then z := 0; dz := 0; R := 0 
 >                else z := r[3]; dz := diff(z,t); R := F[3] 
 >                fi; 
 >                Q := F[2]; 
 >                P := F[1]; 
 >                f := eval(P*dx+Q*dy+R*dz); 
 >                Li := Int(P*'dx'+Q*'dy'+R*'dz',oes); 
 >                li := int(f,t = a .. b); 
 >                x := 'x'; 
 >                y := 'y'; 
 >                z := 'z'; 
 >                RETURN(Li = li) 
 >            end; 
lint := proc(F,r,range)
        local t,a,b,P,Q,R,dx,dy,dz,Li,li,f;
        global x,y,z;
            t := eval(op(1,range));
            a := op(1,op(2,range));
            b := op(2,op(2,range));
            x := r[1];
            dx := diff(x,t);
            y := r[2];
            dy := diff(y,t);
            if nops(linalg[evalm](F)) = 2 then z := 0; dz := 0; R := 0
            else z := r[3]; dz := diff(z,t); R := F[3]
            fi;
            Q := F[2];
            P := F[1];
            f := eval(P*dx+Q*dy+R*dz);
            Li := Int(P*'dx'+Q*'dy'+R*'dz',oes);
            li := int(f,t = a .. b);
            x := 'x';
            y := 'y';
            z := 'z';
            RETURN(Li = li)
        end
| Let's try it with problem 3. | 
> lint([x,y+2,0],[t-sin(t),1-cos(t),0],t=0..2*Pi);
                 /
                |                                               2
                |  (t - sin(t)) dx + (3 - cos(t)) dy does = 2 Pi
                |
               /
| Let's try it again with I3 of problem 2: | 
 >    r := [2-2*t,t-1,2-2*t]: F := [y*z,x*z,x*y]: 
 >    lint(F,r,t=0..1); 
                       /
                      |
                      |  y z dx + x z dy + x y dz does = 4
                      |
                     /
| I like lint.. don't you? But wait isn't the above proc unnecessarily long?... You bet! Lint below does it in any number of dimensions and it is only 1 instruction. We need, however, to give F and r as funcitons instead of just vectors of expressions. | 
 >    Lint := proc(F,r,range) 
 >            local t; 
 >                t := op(1,range); 
 >                int(linalg[innerprod](F(op(r(t))),map(diff,r(t),t)),range) 
 >            end; 
Lint := proc(F,r,range)
        local t;
            t := op(1,range);
            int(linalg[innerprod](F(op(r(t))),map(diff,r(t),t)),range)
        end
 >    F := unapply(F,x,y,z); r := unapply(r,t); 
                        F := (x,y,z) -> [y z, x z, x y]
                     r := t -> [2 - 2 t, - 1 + t, 2 - 2 t]
 >    Lint(F,r,t=a..b); 
                             3       2             3       2
                   12 b + 4 b  - 12 b  - 12 a - 4 a  + 12 a
 >    Lint(F,r,t=0..1); 
                                       4
| Cool! |