Name

HPL_dlaswp04N copy rows of U in A and replace them with columns of W.

Synopsis

#include <hpl.h>

void HPL_dlaswp04N( const int M0, const int M1, const int N, double * U, const int LDU, double * A, const int LDA, const double * W0, const double * W, const int LDW, const int * LINDXA, const int * LINDXAU );

Description

HPL_dlaswp04N copies M0 rows of U into A and replaces those rows of U with columns of W. In addition M1 - M0 columns of W are copied into rows of U.

Arguments

M0      (local input)                 const int
        On entry, M0 specifies the number of rows of U that should be
        copied into  A  and replaced by columns of  W.  M0 must be at
        least zero.
M1      (local input)                 const int
        On entry, M1 specifies the number of columns of W that should
        be copied into rows of U. M1 must be at least zero.
N       (local input)                 const int
        On entry, N specifies the length of the rows of U that should
        be copied into A. N must be at least zero.
U       (local input/output)          double *
        On entry,  U  points to  an array of dimension (LDU,N).  This
        array contains the rows that are to be copied into A.
LDU     (local input)                 const int
        On entry, LDU specifies the leading dimension of the array U.
        LDU must be at least MAX(1,M1).
A       (local output)                double *
        On entry, A points to an array of dimension (LDA,N). On exit,
        the  rows of this array specified by  LINDXA  are replaced by
        rows of U indicated by LINDXAU.
LDA     (local input)                 const int
        On entry, LDA specifies the leading dimension of the array A.
        LDA must be at least MAX(1,M0).
W0      (local input)                 const double *
        On entry,  W0  is an array of size (M-1)*LDW+1, that contains
        the destination offset  in U where the columns of W should be
        copied.
W       (local input)                 const double *
        On entry, W  is an array of size (LDW,M0+M1),  that  contains
        data to be copied into U.  For i in [M0..M0+M1),  the entries
        W(:,i) are copied into the row W0(i*LDW) of U.
LDW     (local input)                 const int
        On entry, LDW specifies the leading dimension of the array W.
        LDW must be at least MAX(1,N+1).
LINDXA  (local input)                 const int *
        On entry, LINDXA  is an array of dimension  M0 containing the
        local row indexes A into which rows of U are copied.
LINDXAU (local input)                 const int *
        On entry, LINDXAU  is an array of dimension M0 that  contains
        the local  row indexes of  U that should be copied into A and
        replaced by the columns of W.

See Also

HPL_dlaswp00N, HPL_dlaswp10N, HPL_dlaswp01N, HPL_dlaswp01T, HPL_dlaswp02N, HPL_dlaswp03N, HPL_dlaswp03T, HPL_dlaswp04N, HPL_dlaswp04T, HPL_dlaswp05N, HPL_dlaswp05T, HPL_dlaswp06N, HPL_dlaswp06T