 
  
  
  
  
 
The following is a glossary of terms and notation used throughout this users guide and the leading comments of the source code. The first time notation from this glossary appears in the text, it will be italicized.
The notations x_ used in the entries of the array descriptor denote the attributes of a global matrix. For example, M_ denotes the number of rows, and M_A specifically denotes the number of rows in global matrix A. See sections 4.2, 4.3.3, 4.4.5, 4.4.6, and 4.5.1 for complete details.
 , where MB is the row block size and NB is the column block size.
, where MB is the row block size and NB is the column block size.
The distribution block size can be square, MB=NB, or rectangular,
 .
Block size  is also referred to as the
partitioning unit 
or blocking factor .
.
Block size  is also referred to as the
partitioning unit 
or blocking factor .
Data distribution in ScaLAPACK is controlled primarily by the process grid and the block size.
 (K_) :  
Number of columns that a process receives if
(K_) :  
Number of columns that a process receives if  columns of
a matrix are distributed over c columns of its process row.
 columns of
a matrix are distributed over c columns of its process row.
To be consistent in notation, we have used a ``modifying character'' subscript on LOC to denote the dimension of the process grid to which we are referring. The subscript ``r'' indicates ``row'' whenever it is appended to LOC; likewise, the subscript ``c'' indicates ``column'' when it is appended to LOC.
The value of  () may
differ from process to process within the process grid.
For example, in figure 4.6 (section 4.3.4), we
can see that for process (0,0)
() may
differ from process to process within the process grid.
For example, in figure 4.6 (section 4.3.4), we
can see that for process (0,0)  (N_)= 4; however, for process (0,1)
(N_)= 4; however, for process (0,1)
 (N_) = 3.
(N_) = 3.
 (K_) :
Number of rows that a process would receive if
(K_) :
Number of rows that a process would receive if  rows of a matrix
are distributed over r rows of its process column.
 rows of a matrix
are distributed over r rows of its process column.
To be consistent in notation, we have used a ``modifying character'' subscript on LOC to denote the dimension of the process grid to which we are referring. The subscript ``r'' indicates ``row'' whenever it is appended to LOC; likewise, the subscript ``c'' indicates ``column'' when it is appended to LOC.
The value of  () may differ from process
to process within the process grid.
For example, in figure 4.6 (section 4.3.4), we
can see that for process (0,0)
() may differ from process
to process within the process grid.
For example, in figure 4.6 (section 4.3.4), we
can see that for process (0,0)  (M_)= 5; however, for process (1,0)
(M_)= 5; however, for process (1,0)
 (M_) = 4.
(M_) = 4.
 ) is 5, whereas
for process (1,0) the local leading dimension of local array A
is 4.
) is 5, whereas
for process (1,0) the local leading dimension of local array A
is 4.
 .
.
In terms of notation for process grids, we have used a ``modifying
character'' subscript on P to denote the dimension of the process grid
to which we are referring.  The subscript ``r''  indicates
``row'' whenever it is appended to P, and thus  is the number
of process rows in the process grid.  Likewise, the subscript ``c'' indicates
``column'' when it is appended to P, and thus
 is the number
of process rows in the process grid.  Likewise, the subscript ``c'' indicates
``column'' when it is appended to P, and thus  is the number
of process columns in the process grid.
 is the number
of process columns in the process grid.
 :  The number of process columns in the process
grid (i.e., the second dimension of the two-dimensional process grid).
 :  The number of process columns in the process
grid (i.e., the second dimension of the two-dimensional process grid).
 :  The number of process rows in the process
grid (i.e., the first dimension of the two-dimensional process grid).
 :  The number of process rows in the process
grid (i.e., the first dimension of the two-dimensional process grid).
In ScaLAPACK, each process is treated as if it were a processor: the process must exist for the lifetime of the ScaLAPACK run, and its execution should affect other processes' execution only through the use of message-passing calls. With this in mind, we use the term process in all sections of this users guide except those dealing with timings. When discussing timings, we specify processors as our unit of execution, since speedup will be determined largely by actual hardware resources.
In ScaLAPACK, algorithms are presented in terms of processes, rather than physical processors. In general there may be several processes on a processor, in which case we assume that the runtime system handles the scheduling of processes. In the absence of such a runtime system, ScaLAPACK assumes one process per processor.
For two-dimensional process grids, the variable
 is used
to indicate the number of rows in the process grid
(i.e., the first dimension of the two-dimensional process grid).
The variable
  is used
to indicate the number of rows in the process grid
(i.e., the first dimension of the two-dimensional process grid).
The variable  is 
used to indicate the number of columns in the process
grid (i.e., the second dimension of the two-dimensional process grid).
The collection of processes need not physically be connected in the
two-dimensional process grid.
  is 
used to indicate the number of columns in the process
grid (i.e., the second dimension of the two-dimensional process grid).
The collection of processes need not physically be connected in the
two-dimensional process grid.
For example, the following figure shows six processes mapped
to a  grid, where
 grid, where  and
 and  .
.

A user may perform an operation within a process row or process column of the process grid. A process row refers to a specific row of processes within the process grid, and a process column refers to a specific column of processes with the process grid. In the example, process row 0 contains the processes with natural ordering 0, 1, and 2, and process column 0 contains the processes with natural ordering 0 and 3.
For further details, please refer to section 4.1.1.
Equivalently, in Appendix D.3, scope indicates the processes that participate in the broadcast or global combine operations. Scope can equal ``all'', ``row'', or ``column'' .
 
  
  
  
 