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. PHONE: 713.784.3131 FAX:713.781.9260 |