FUNCTION: generalsolve - find zeroes of a set of functions,

CALLING SEQUENCE:
   generalsolve(f,x,x0,optns)

PARAMETERS:
   f     - list or set of functions whose zeroes are to be found
   x     - (optional) list of unknown variables,
   x0    - (optional) list of initial guesses for the variables x,
   optns - (optional) string or set of strings for the options,

SYNOPSIS:
- If the functions are all polynomials, generalsolve attempts to solve them
  using polysolve, a routine based on the groebner package. In this case,
  all solutions are found, in principle, and the output is a list
  containing the solutions as sets of equations.

- If there are also other functions than polynomials, the routine c05
  is used. c05 runs routines from NAG's chapter C05 through Matlab
  at a remote host. In this case, an initial solution is required,
  and if it is not supplied, one will be generated by first generating 
  random numbers in (-Pi/2, Pi/2) and then mapping them to the,
  entire real axis with the tangent function.

- Using c05, the result is a list containing four lists:
    1. The solution found with C05NBF (if found)
    2. The function value at that point
    3. The solution found with C05PBF (if found)
    4. The function value at that point

- If c05 is to be used, it must be first correctly initialized by editing
  c05config.mpl and setting there correct values for c05_remoteuser_,
  c05_remotehost_ and c05_remotedir_; then by loading c05setup.mpl,
  running c05setup(), and finally by doing read(``c05.mpl``).

- The parameter f can be either a set (or list) of functions or,
  a set (or list) of equations. In the latter case, the zeroes of
  lhs-rhs will be calculated.

- If the string `verbose` is included in the options, more information,
  e.g., the initial guess generated, will be displayed. This option will,
  be passed on to polysolve and c05, too.

- If the string `manual` is included in the options, it will be
  passed on to c05. There, it will make manual iterations in Matlab
  at the remote host possible, which enables looping through parameters
  and/or initial guesses.

EXAMPLES:
> f:=[3*x^2+2*y*z-2*x*lambda, 2*x*z-2*y*lambda, \
      2*x*y-2*z-2*z*lambda,   x^2+y^2+z^2-1];
> generalsolve(f);

> generalsolve([y=exp(x), x^2=y]);


SEE ALSO: polysolve, c05, genmex in Matlab, groebner
