Parallel Constrained Least-Squares Solvers

Solving Constrained Least-Squares Systems

The routine PARALLEL_NONNEGATIVE_LSQ is used to solve dense least-squares systems.  These are represented by  where A is an  coefficient data matrix, is a given right-hand side -vector, and  is the solution -vector being computed.  Further, there is a constraint requirement, .  The routine PARALLEL_BOUNDED_LSQ is used when the problem has lower and upper bounds for the solution, .  By making the bounds large, individual constraints can be eliminated.  There are no restrictions on  the relative sizes of   and .  When  is large,  these codes can substantially reduce computer time and storage requirements, compared with using a routine for solving a constrained system and a single processor.

The user provides the matrix partitioned by blocks of columns:

An individual block of the partitioned matrix, say , is located entirely on the processor with rank , where MP_RANK is packaged in the module MPI_SETUP_INT.  This module, and the function MP_SETUP(),define the Fortran Library MPI communicator, MP_LIBRARY_WORLD.  See Chapter 10, Dense Matrix Parallelism Using MPI.


Visual Numerics, Inc.
Visual Numerics - Developers of IMSL and PV-WAVE
http://www.vni.com/
PHONE: 713.784.3131
FAX:713.781.9260