PSLAMR1D(3) ScaLAPACK routine of NEC Numeric Library Collection PSLAMR1D(3)
NAME
PSLAMR1D - redistributes a one-dimensional row vector from one data
decomposition to another.
SYNOPSIS
SUBROUTINE PSLAMR1D( N, A, IA, JA, DESCA, B, IB, JB, DESCB )
INTEGER IA, IB, JA, JB, N
INTEGER DESCA( * ), DESCB( * )
REAL A( * ), B( * )
PURPOSE
PSLAMR1D redistributes a one-dimensional row vector from one data
decomposition to another.
This is an auxiliary routine called by PSSYTRD to redistribute D, E and
TAU.
Notes
=====
Although all processes call PSGEMR2D, only the processes that own the
first column of A send data and only processes that own the first col-
umn of B receive data. The calls to DGEBS2D/DGEBR2D spread the data
down.
ARGUMENTS
N (global input) INTEGER
The size of the matrix to be transposed.
A (local output) REAL pointer into the
local memory to an array of dimension (LOCc(JA+N-1)). On out-
put, A is replicated across all processes in this processor
column.
IA (global input) INTEGER
A's global row index, which points to the beginning of the sub-
matrix which is to be operated on.
JA (global input) INTEGER
A's global column index, which points to the beginning of the
submatrix which is to be operated on.
DESCA (global and local input) INTEGER array of dimension DLEN_.
The array descriptor for the distributed matrix A.
B (local input/local output) REAL pointer into the
local memory to an array of dimension (LOCc(JB+N-1)).
IB (global input) INTEGER
B's global row index, NOT USED
JB (global input) INTEGER
B's global column index, which points to the beginning of the
submatrix which is to be operated on.
DESCB (global and local input) INTEGER array of dimension DLEN_.
The array descriptor for the distributed matrix B.
ScaLAPACK routine 31 October 2017 PSLAMR1D(3)