way # 2 - with Stokes' ie, int_C F dot ds = int int_S curl(F) dot dS
> restart : with(linalg):
Warning, new definition for norm
Warning, new definition for trace
> F_1 := 3*z;
> F_2 := 5*x;
> F_3 := -2*y;
> F := [ F_1, F_2, F_3 ];
> curl_F := curl( F , [x,y,z] );
S can be parameterized by :
> x := x ;
> y := y ;
> z := y + 3 ;
> phi := [ x,y,z];
So:
> T_x := [ diff(x,x), diff(y,x) , diff(z,x) ] ;
> T_y := [ diff(x,y), diff(y,y) , diff(z,y) ] ;
> cross_of_T_x_and_T_y := crossprod( T_x , T_y ) ;
> integrand := dotprod( curl_F, cross_of_T_x_and_T_y ) ;
> integral := int(int( integrand, x = -sqrt(1 - y^2) .. sqrt(1 - y^2)) , y = -1 .. 1);
>