# Name

**HPL_indxg2lp** Map a local index into a global one.
# Synopsis

`#include "hpl.h"`

`void`

`HPL_indxg2lp(`

`int *`

`IL`

,
`int *`

`PROC`

,
`const int`

`IG`

,
`const int`

`INB`

,
`const int`

`NB`

,
`const int`

`SRCPROC`

,
`const int`

`NPROCS`

`);`

# Description

**HPL_indxg2lp**
computes the local index of a matrix entry pointed to by
the global index IG as well as the process coordinate which posseses
this entry. The local returned index is the same in all processes.
# Arguments

IL (output) int *
On exit, IL specifies the local index corresponding to IG. IL
is at least zero.

PROC (output) int *
On exit, PROC is the coordinate of the process owning the
entry specified by the global index IG. PROC is at least zero
and less than NPROCS.

IG (input) const int
On entry, IG specifies the global index of the matrix entry.
IG must be at least zero.

INB (input) const int
On entry, INB specifies the size of the first block of the
global matrix. INB must be at least one.

NB (input) const int
On entry, NB specifies the blocking factor used to partition
and distribute the matrix A. NB must be larger than one.

SRCPROC (input) const int
On entry, if SRCPROC = -1, the data is not distributed but
replicated, in which case this routine returns IG in all
processes. Otherwise, the value of SRCPROC is ignored.

NPROCS (input) const int
On entry, NPROCS specifies the total number of process rows
or columns over which the matrix is distributed. NPROCS must
be at least one.

# See Also

HPL_indxg2l,
HPL_indxg2p,
HPL_indxl2g,
HPL_numroc,
HPL_numrocI.