?gamn2d
?gamn2d
Performs element-wise absolute value minimization.
Syntax
call igamn2d
(
icontxt
,
scope
,
top
,
m
,
n
,
a
,
lda
,
ra
,
ca
,
rcflag
,
rdest
,
cdest
)
call sgamn2d
(
icontxt
,
scope
,
top
,
m
,
n
,
a
,
lda
,
ra
,
ca
,
rcflag
,
rdest
,
cdest
)
call dgamn2d
(
icontxt
,
scope
,
top
,
m
,
n
,
a
,
lda
,
ra
,
ca
,
rcflag
,
rdest
,
cdest
)
call cgamn2d
(
icontxt
,
scope
,
top
,
m
,
n
,
a
,
lda
,
ra
,
ca
,
rcflag
,
rdest
,
cdest
)
call zgamn2d
(
icontxt
,
scope
,
top
,
m
,
n
,
a
,
lda
,
ra
,
ca
,
rcflag
,
rdest
,
cdest
)
Input Parameters
- icontxt
- INTEGER. Integer handle that indicates the context.
- scope
- CHARACTER*1. Indicates what scope the combine should proceed on. Limited toROW,COLUMN, orALL.
- top
- CHARACTER*1. Communication pattern to use during the combine operation.
- m
- INTEGER. The number of matrix rows to be combined.
- n
- INTEGER. The number of matrix columns to be combined.
- a
- TYPEarray(. Matrix to be compared with to produce the minimum.lda,n)
- lda
- INTEGER. The leading dimension of the matrixA, that is, the distance between two successive elements in a matrix row.
- rcflag
- INTEGER.If = -1, the arraysraandcaare not referenced and need not exist. Otherwise,rcflagindicates the leading dimension of these arrays, and so must be ≥m.
- rdest
- INTEGER.The process row coordinate of the process that should receive the result. Ifrdestorcdest= -1, all processes within the indicated scope receive the answer.
- cdest
- INTEGER.The process column coordinate of the process that should receive the result. Ifrdestorcdest= -1, all processes within the indicated scope receive the answer.
Output Parameters
- a
- TYPEarray(. Contains the result if this process is selected to receive the answer, or intermediate results if the process is not selected to receive the result.lda,n)
- ra
- INTEGERarray(.rcflag,n)Ifrcflag= -1, this array will not be referenced, and need not exist. Otherwise, it is an integer array (of size at least) indicating the row index of the process that provided the minimum. If the calling process is not selected to receive the result, this array will contain intermediate (useless) results.rcflagxn
- ca
- INTEGERarray(.rcflag,n)Ifrcflag= -1, this array will not be referenced, and need not exist. Otherwise, it is an integer array (of size at least) indicating the row index of the process that provided the minimum. If the calling process is not selected to receive the result, this array will contain intermediate (useless) results.rcflagxn
Description
This routine performs element-wise absolute value minimization, that is, each element of matrix
A
is compared with the corresponding element of the other process's matrices. Note that the value of A
is returned, but the absolute value is used to determine the minimum (the 1-norm is used for complex numbers). Combines may be globally-blocking, so they must be programmed as if no process returns until all have called the routine.