Algorithm 711: BTN: Software for parallel unconstrained optimization BTN (Block Truncated Newton) is a collection of FORTRAN subroutines for solving unconstrained nonlinear optimization problems. It currently runs on both Intel hypercube computers (distributed memory) and Sequent computers (shared memory), and can take advantage of vector processors if they are available. The software can also be run on traditional computers to simulate the performance of a parallel computer. BTN is a general-purpose algorithm, capable of solving problems with a large number of variables and suitable for users inexperienced with parallel computing. It is designed to be as easy to use as traditional algorithms for this problem, requiring only that a (scalar) subroutine be provided to evaluate the objective function and its gradient vector of first derivatives. The algorithm is based on a block truncated-Newton method. Truncated-Newton methods obtain the search direction by approximately solving the Newton equations via some iterative method. The particular method used in BTN is a block version of the Lanczos method, which is numerically stable for nonconvex problems. In addition to the optimization software, a parallel derivative checker is also provided

This software is also peer reviewed by journal TOMS.