123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- % Vector test routine
- % Author: David Harper (algebra@liverpool.ac.uk)
- % Computer Algebra Support Officer
- % University of Liverpool Computer Laboratory.
- % Please compare carefully the output from running this test file with the
- % log file provided to make sure your implementation is correct.
- linelength 72;
- off allfac; on div;
- vec a,b,c;
- matrix q;
- a := avec(ax,ay,az);
- b := avec(bx,by,bz);
- q := mat((q11,q12,q13),(q21,q22,q23),(q31,q32,q33));
- c := a+b;
- c := a-b;
- c := a cross b;
- d := a dot b;
- a dot c; b dot c;
- q*a;
- c:=2*f*a - b/7;
- c(0); c(1); c(2);
- 1/vmod(a);
- b/vmod(a);
- (a cross b)/(a dot b);
- 2/3*vmod(a)*a*(a dot c)/(vmod(a cross c));
- a := avec(x**2*y**3,log(z+x),13*z-y);
- df(a,x);
- df(a,x,y);
- int(a,x);
- exp(a);
- log sin b;
- a := avec(ax,ay,az);
- depend ax,x,y,z; depend ay,x,y,z; depend az,x,y,z;
- depend p,x,y,z;
- c := grad p;
- div c;
- delsq p;
- div a;
- curl a;
- delsq a;
- depend h1,x,y,z; depend h2,x,y,z; depend h3,x,y,z;
- scalefactors(h1,h2,h3);
- grad p;
- div a;
- curl a;
- dp1 := delsq p;
- dp2 := div grad p;
- dp1-dp2;
- delsq a;
- curl grad p;
- grad div a;
- div curl a;
- % Examples of integration : (1) Volume integrals
- getcsystem 'spherical;
- % Example 1 : integration of r**n over a sphere
- origin := avec(0,0,0);
- upperbound := avec(rr,pi,2*pi);
- volintegral(r**n,origin,upperbound);
- % Substitute n=0 to get the volume of a sphere
- sub(n=0,ws);
- % Example 2 : volume of a right-circular cone
- getcsystem 'cylindrical;
- upperbound := avec(pp*z,h,2*pi);
- volintorder := avec(2,0,1); % Integrate in the order : phi, r, z
- cone := volintegral(1,origin,upperbound);
- % Now we replace P*Z by RR to get the result in the familiar form
- let pp*h=rr;
- cone := cone; % This is the familiar form
- clear pp*h;
- % Example 3 : line integral to obtain the length of a line of latitude
- % on a sphere
- getcsystem 'spherical;
- a := avec(0,0,1); % Function vector is the tangent to the
- % line of latitude
- curve := avec(rr,latitude,phi); % Path is round a line of latitude
- deflineint(a,curve,phi,0,2*pi);
- end;
|