Function Explanation -------- ----------- conjugate(m) Complex conjugate of m. First SUBST is used, but if %I still remains in a subexpression, then RATSUBST is used. If m is a matrix, then complex conjugate of each element of matrix m. rempart(exp,n) Removes part n from exp. Exp may be a list, matrix or other expression. If n is a list of the form [l,m] then parts l thru m are removed. wronskian(fns,var) Fns is a list of functions of variable var. If the functions in fns have continuous derivatives with respect to var of order n, where n is the number of functions in fns, then the Wronskian matrix is re- turned. The determinant of this matrix is the Wron- skian determinant of the set of functions fns. The functions are linearly dependent if this determinant is zero. adjoint(m) Replace each element of matrix m by its cofactor and then transpose. tracematrix(m) Returns the trace of matrix m, or the sum of the dia- gonal elements. rational(z) Multiplies numerator and denominator of z by complex conjugate of denominator, thus rationalizing denomina- tor. Returns CRE form if given one, else returns gen- eral form. logand(x,y) Returns logical (bit-wise) AND of arguments x and y. logor(x,y) Returns logical (bit-wise) OR of arguments x and y. logxor(x,y) Returns logical (bit-wise) XOR of arguments x and y. uprobe(file) Returns the file-specification if file exists and FALSE otherwise. kronecker(m,n) Returns 1 if m equals n and 0 if m does not equal n. nonzeroandfreeof(x,e) Returns TRUE if e is nonzero and x does not occur in e. Returns FALSE otherwise. linear(exp,x) If exp is an expression linear in variable x, then exp is returned in the form a*x+b where a is nonzero and free of x, and b is free of x. If exp is not linear, then exp is returned in its original form. quadratic(exp,x) If exp is an expression quadratic in variable x, then exp is returned in the form a*x^2+b*x+c where a is nonzero and free of x and both b and c are free of x. If exp is not quadratic, then exp is returned in its original form. gcdivide(p1,p2) If TAKEGCD is FALSE then return p1/p2. Otherwise div- ide p1 and p2 by the greatest common divisor of p1 and p2. Then return the division of the resulting poly- nomials. lcm(exp1,exp2,...) returns the Least Common Multiple of its arguments. arithmetic(a,d,n) The nth term of the arithmetic series a,a+d,a+2*d,...,a+(n-1)*d. geometric(a,r,n) The nth term of the geometric series a,a*r,a*r^2,...,a*r^(n-1). harmonic(a,b,c,n) The nth term of the harmonic series a/b,a/(b+c),a/(b+2*c),...,a/(b+(n-1)*c). arithsum(a,d,n) The sum of the arithmetic series from 1 to n. geosum(a,r,n) The sum of the geometric series from 1 to n. If n is infinity (INF) then a sum is finite only if the value of r is not equal to 1. gaussprob(x) Gaussian probability function, where its value is 1/SQRT(2*%PI)*%E^(-x^2/2). gd(x) Gudermannian function, where its value is 2*ATAN(%E^x-%PI/2). agd(x) Inverse Gudermannian function, where its value is LOG(TAN(%PI/4+x/2))). vers(x) Versed sine, which is 1-COS(x). covers(x) Coversed sine, which is 1-SIN(x). exsec(x) Exsecant, which is SEC(x)-1. hav(x) Haversine, which is (1-COS(x))/2. combination(n,r) The total number of combinations of n objects taken r at a time. permutation(n,r) The total number of permutations of r objects selected from a set of n objects. These functions have been programmed by Martin Cole. This package is still being developed. I will attempt to incorporate any suggested improvements. I would like to hear about the successful use of this package. Any comments or suggestions should be mailed to MSC@MIT-MC.