There are algorithms for finding zeros or fixed points of nonlinear systems of equations
that are globally convergent for almost all starting points, i.e., with probability one.
The essence of all such algorithms is the construction of an appropriate homotopy map and
then tracking some smooth curve in the zero set of this homotopy map. HOMPACK is
a mathematical software package implementing globally convergent homotopy algorithms
with three different techniques for tracking a homotopy zero curve, and has separate routines
for dense and sparse Jacobian matrices. The HOMPACK algorithms for sparse Jacobian
matrices use a preconditioned conjugate gradient algorithm for the computation of the kernel
of the homotopy Jacobian matrix, a required linear algebra step for homotopy curve
tracking. Variants of the conjugate gradient algorithm along with different preconditioners
are implemented in the context of homotopy curve tracking and compared with Craig's preconditioned
conjugate gradient method used in HOMPACK. In addition, a parallel version
of Craig's method with incomplete LU factorization preconditioning is implemented on a
shared memory parallel computer with various levels and degrees of parallelism (e.g., linear
algebra, function and Jacobian matrix evaluation, etc.). An in-depth study is presented
for each of these levels with respect to the speedup in execution time obtained with the
parallelism, the time spent implementing the parallel code and the extra memory allocated
by the parallel algorithm.