This is the README file for the TENSOLVE package: TENSOLVE finds roots of systems of n nonlinear equations in n unknowns, or minimizers of the sum of squares of m > n nonlinear equations in n unknowns, using a new class of methods called tensor methods. It is intended for small to medium-sized problems, say with up to 100 equations and unknowns, in cases where it is reasonable to calculate the Jacobian matrix or approximate it by finite differences at each iteration. TENSOLVE allows the user to select between a tensor method and a standard method based upon a linear model. The tensor method approximates F(x) by a quadratic model, where the second-order term is chosen so that the model is hardly more expensive to form, store, or solve than the standard linear model. Moreover, the software provides two different global strategies, a line search and a two-dimensional trust region approach. The tensor method is significantly more efficient and robust than the standard method in iterations, function evaluations, and time. It is especially useful on problems where the Jacobian at the solution is singular. Two interfaces are provided with TENSOLVE: TSNESI requires the user to provide only the dimensions m and n of the problem, a subroutine to evaluate the function F(x), and a starting vector (as well as three work arrays and their dimensions). TSNECI requires the user to supply all parameters. However, the user may specify selected parameters only by first invoking the subroutine TSDFLT, which sets all parameters to their default values, and then overriding only the desired values. This is the normal usage of TSNECI. For more detail, see TENSOLVE_DOC.ps. On Unix systems, after you type sh TENSOLVE, you should check that the following files are in your directory: 1. makefile (a Unix based makefile for running example1.f and example2.f below) 2. tensolve.f (TENSOLVE subroutines) 3. uncmin.f (unconstrained minimization subroutines) 4. blas.f (blas subroutines) 5. example1.f (a nonlinear equations test problem and its driver program) 6. example2.f (a nonlinear least squares test problem and its driver program) 7. output1 (output for example1) 8. output2 (output for example2) Then make appropriate changes to the makefile, specific to your own machine. To compile and link for the nonlinear equations test problem example1 type: make ex1 To compile and link for the nonlinear least squares test problem example2 type: make ex2 To execute example1 and redirect the output into file out1 type: tensolve > out1 To execute example2 and redirect the output into file out2 type: tensolve > out2 For answers to technical questions about TENSOLVE, contact: Dr. Ali Bouaricha MCS division Argonne National Laboratory Argonne, Illinois 60439 e-mail: bouarich@mcs.anl.gov Last modification: October 15, 1996