# 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) =
> 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) =
> 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!

Link to the commands in this file
Carlos Rodriguez <carlos@math.albany.edu>
{"found_math": false, "script_math_tex": 0, "script_math_asciimath": 0, "math_annotations": 0, "math_alttext": 0, "mathml": 0, "mathjax_tag": 0, "mathjax_inline_tex": 0, "mathjax_display_tex": 0, "mathjax_asciimath": 0, "img_math": 0, "codecogs_latex": 0, "wp_latex": 0, "mimetex.cgi": 0, "/images/math/codecogs": 0, "mathtex.cgi": 0, "katex": 0, "math-container": 0, "wp-katex-eq": 0, "align": 0, "equation": 0, "x-ck12": 0, "texerror": 0, "url": "http://omega.albany.edu:8008/calc3/line-integrals-dir/examples-m2h.html", "fetch_time": 1553089064000000000, "content_mime_type": "text/html", "warc_filename": "crawl-data/CC-MAIN-2019-13/segments/1552912202347.13/warc/CC-MAIN-20190320125919-20190320151919-00250.warc.gz", "warc_record_offset": 161537187, "warc_record_length": 4014, "token_count": 2623, "char_count": 7251, "score": 4.4375, "int_score": 4, "crawl": "CC-MAIN-2019-13", "snapshot_type": "latest", "language": "en", "language_score": 0.7721312046051025, "file_path": "/sailhome/yjruan/project/latent-lm/data/processed/finemath-4plus/finemath-4plus/train-00053-of-00064.parquet"}