## psb_gather -- Gather Global Dense Matrix

These subroutines collect the portions of global dense matrix distributed over all process into one single array stored on one process.

where:

  is the global submatrix
  is the local portion of global dense matrix on process .
  is the collect function.

Table 16: Data types

| Subroutine
Integer | psb_gather
Short Precision Real | psb_gather
Long Precision Real | psb_gather
Short Precision Complex | psb_gather
Long Precision Complex | psb_gather

Type:
  Synchronous.
On Entry
loc_x
  the local portion of global dense matrix .
  Scope: local
  Type: required
  Intent: in.
  Specified as: a rank one or two array or an object of type vdata`psb_T_vect_type` indicated in Table 16.
desc_a
  contains data structures for communications.
  Scope: local
  Type: required
  Intent: in.
  Specified as: a structured data of type descdata`psb_desc_type`.
root
  The process that holds the global copy. If all the processes will have a copy of the global vector.
  Scope: global
  Type: optional
  Intent: in.
  Specified as: an integer variable , default .
On Return
glob_x
  The array where the local parts must be gathered.
  Scope: global
  Type: required
  Intent: out.
  Specified as: a rank one or two array with the `ALLOCATABLE` attribute.
info
  Error code.
  Scope: local
  Type: required
  Intent: out.
  An integer value; 0 means no error has been detected.