way # 2 -- without Gauss
> restart : with(linalg): i:= [1,0,0] : j := [0,1,0] : k := [0,0,1]:
Warning, new definition for norm
Warning, new definition for trace
> F_1 := x;
> F_2 := y;
> F_3 := 3 ;
> F := [ F_1, F_2, F_3 ];
Parameterize S:
> x := sin(p) * cos(t);
> y := sin(p) * sin(t);
> z := cos(p);
> Phi := vector( [x,y,z]) ;
> T_p_cross_T_t := scalarmul( Phi , sin(p) );
> F_on_S := [ x + 3*y^5, y + 10*x*z, z - x*y ] ;
> F_on_S := [ simplify(dotprod(F,i)), simplify(dotprod(F,j)) , simplify(dotprod(F,k)) ] ;
> intgrand := dotprod( F , T_p_cross_T_t );
> intgrand := simplify(intgrand) ;
> flux := int(int(intgrand , t = 0 .. 2*Pi), p = 0 .. Pi );