p?geru
p?geru
Performs a rank-1 update (unconjugated) of a distributed general matrix.
Syntax
void pcgeru
(
const MKL_INT
*m
,
const MKL_INT
*n
,
const MKL_Complex8
*alpha
,
const MKL_Complex8
*x
,
const MKL_INT
*ix
,
const MKL_INT
*jx
,
const MKL_INT
*descx
,
const MKL_INT
*incx
,
const MKL_Complex8
*y
,
const MKL_INT
*iy
,
const MKL_INT
*jy
,
const MKL_INT
*descy
,
const MKL_INT
*incy
,
MKL_Complex8
*a
,
const MKL_INT
*ia
,
const MKL_INT
*ja
,
const MKL_INT
*desca
);
void pzgeru
(
const MKL_INT
*m
,
const MKL_INT
*n
,
const MKL_Complex16
*alpha
,
const MKL_Complex16
*x
,
const MKL_INT
*ix
,
const MKL_INT
*jx
,
const MKL_INT
*descx
,
const MKL_INT
*incx
,
const MKL_Complex16
*y
,
const MKL_INT
*iy
,
const MKL_INT
*jy
,
const MKL_INT
*descy
,
const MKL_INT
*incy
,
MKL_Complex16
*a
,
const MKL_INT
*ia
,
const MKL_INT
*ja
,
const MKL_INT
*desca
);
Include Files
- mkl_pblas.h
Description
The
p?geru
routines perform a matrix-vector operation defined as sub(A) := alpha*sub(x)*sub(y)' + sub(A),
where:
alpha
is a scalar,sub(
is a A
)m
-by-n
distributed general matrix,
sub(
,A
)=A
(ia
:ia
+m
-1, ja
:ja
+n
-1)sub(
is an
x
)m
-element distributed vector, sub(y
) is an
n
-element distributed vector,
sub(
denotes x
)X
(ix
, jx
:jx
+m
-1)incx
= m_x
X
(ix
: ix
+m
-1, jx
)incx
= 1,sub(
denotes y
)Y
(iy
, jy
:jy
+n
-1)incy
= m_y
Y
(iy
: iy
+n
-1, jy
)incy
= 1Input Parameters
- m
- (global) Specifies the number of rows of the distributed matrixsub(,A)m≥0.
- n
- (global) Specifies the number of columns of the distributed matrixsub(,A)n≥0.
- alpha
- (global)Specifies the scalaralpha.
- x
- (local)Array, size at least(.jx-1)*m_x+ix+(n-1)*abs(incx))This array contains the entries of the distributed vectorsub(.x)
- ix,jx
- (global) The row and column indices in the distributed matrixXindicating the first row and the first column of the submatrixsub(, respectively.x)
- descx
- (global and local) array of dimension 9. The array descriptor of the distributed matrixX.
- incx
- (global) Specifies the increment for the elements ofsub(. Only two values are supported, namely 1 andx)m_x.incxmust not be zero.
- y
- (local)Array, size at least(.jy-1)*m_y+iy+(n-1)*abs(incy))This array contains the entries of the distributed vectorsub(.y)
- iy,jy
- (global) The row and column indices in the distributed matrixYindicating the first row and the first column of the submatrixsub(, respectively.y)
- descy
- (global and local) array of dimension 9. The array descriptor of the distributed matrixY.
- incy
- (global) Specifies the increment for the elements ofsub(. Only two values are supported, namely 1 andy)m_y.incymust not be zero.
- a
- (local)Array, size at least(. Before entry this array contains the local pieces of the distributed matrixlld_a, LOCq(ja+n-1))sub(.A)
- ia,ja
- (global) The row and column indices in the distributed matrixAindicating the first row and the first column of the submatrixsub(, respectively.A)
- desca
- (global and local) array of dimension 9. The array descriptor of the distributed matrixA.
Output Parameters
- a
- Overwritten by the updated distributed matrixsub(.A)