# Name

**HPL_dlaswp03N** copy rows of W into U.
# Synopsis

`#include "hpl.h"`

`void`

`HPL_dlaswp03N(`

`const int`

`M`

,
`const int`

`N`

,
`double *`

`U`

,
`const int`

`LDU`

,
`const double *`

`W0`

,
`const double *`

`W`

,
`const int`

`LDW`

`);`

# Description

**HPL_dlaswp03N**
copies columns of W into rows of an array U. The
destination in U of these columns contained in W is stored within W0.
# Arguments

M (local input) const int
On entry, M specifies the number of columns of W stored
contiguously that should be copied into U. M must be at least
zero.

N (local input) const int
On entry, N specifies the length of columns of W stored
contiguously that should be copied into U. N must be at least
zero.

U (local input/output) double *
On entry, U points to an array of dimension (LDU,N). Columns
of W are copied as rows within this array U at the positions
specified in W0.

LDU (local input) const int
On entry, LDU specifies the leading dimension of the array U.
LDU must be at least MAX(1,M).

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,M), that contains data
to be copied into U. For i in [0..M), entries W(:,i) should
be copied into the row or column 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).

# 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.