_GER,_GERU,_GERC(3F) _GER,_GERU,_GERC(3F)
dger, sger, zgeru, cgeru, zgerc, cgerc - BLAS Level Two Rank 1
Operation
FORTRAN 77 SYNOPSIS
subroutine dger( m, n, alpha, x, incx, y, incy, a, lda )
integer m, n, lda, incx, incy
double precision alpha
double precision a( lda,*), x(*), y(*)
subroutine sger( m, n, alpha, x, incx, y, incy, a, lda )
integer m, n, lda, incx, incy
real alpha
real a( lda,*), x(*), y(*)
subroutine zgeru( m, n, alpha, x, incx, y, incy, a, lda )
integer m, n, lda, incx, incy
complex*16 alpha
complex*16 a( lda,*), x(*), y(*)
subroutine cgeru( m, n, alpha, x, incx, y, incy, a, lda )
integer m, n, lda, incx, incy
complex alpha
complex a( lda,*), x(*), y(*)
subroutine zgerc( m, n, alpha, x, incx, y, incy, a, lda )
integer m, n, lda, incx, incy
complex*16 alpha
complex*16 a( lda,*), x(*), y(*)
subroutine cgerc( m, n, alpha, x, incx, y, incy, a, lda )
integer m, n, lda, incx, incy
complex alpha
complex a( lda,*), x(*), y(*)
void dger( m, n, alpha, x, incx, y, incy, a, lda )
Integer m, n, lda, incx, incy;
double alpha;
double (*a)[lda*n], (*x)[ n ], (*y)[ n ];
void sger( m, n, alpha, x, incx, y, incy, a, lda )
Integer m, n, lda, incx, incy;
float alpha;
float (*a)[lda*n], (*x)[ n ], (*y)[ n ];
void zgeru( m, n, alpha, x, incx, y, incy, a, lda )
Integer m, n, lda, incx, incy;
Zomplex alpha;
Zomplex (*a)[lda*n], (*x)[ n ], (*y)[ n ];
Page 1
_GER,_GERU,_GERC(3F) _GER,_GERU,_GERC(3F)
void cgeru( m, n, alpha, x, incx, y, incy, a, lda )
Integer m, n, lda, incx, incy;
Complex alpha;
Complex (*a)[lda*n], (*x)[ n ], (*y)[ n ];
void zherc( m, n, alpha, x, incx, y, incy, a, lda )
Integer m, n, lda, incx, incy;
Zomplex alpha;
Zomplex (*a)[lda*n], (*x)[ n ], (*y)[ n ];
void cgerc( m, n, alpha, x, incx, y, incy, a, lda )
Integer m, n, lda, incx, incy;
Complex alpha;
Complex (*a)[lda*n], (*x)[ n ], (*y)[ n ];
dger , sger , zheru and cgeru perform the rank 1 operation
A := alpha*x*y' + A,
zgerc and cgerc perform the rank 1 operation
A := alpha*x*conjg( y' ) + A,
where alpha is a scalar, x is an m element vector, y is an n element
vector and A is an m by n matrix.
m On entry, m specifies the number of rows of the matrix A. m must
be at least zero.
Unchanged on exit.
n On entry, n specifies the number of columns of the matrix A. n
must be at least zero.
Unchanged on exit.
alpha On entry, alpha specifies the scalar alpha.
Unchanged on exit.
x Array of size at least ( 1 + ( m - 1 )*abs( incx ) ). Before
entry, the incremented array x must contain the m element vector
x.
Unchanged on exit.
incx On entry, incx specifies the increment for the elements of x.
incx must not be zero.
Unchanged on exit.
Page 2
_GER,_GERU,_GERC(3F) _GER,_GERU,_GERC(3F)
y Array of size at least ( 1 + ( n - 1 )*abs( incy ) ). Before
entry, the incremented array y must contain the n element vector
y.
Unchanged on exit.
incy On entry, incy specifies the increment for the elements of y.
incy must not be zero.
Unchanged on exit.
a An array containing the matrix A.
FORTRAN
Array of dimension ( lda, n ).
C
A pointer to an array of size lda*n.
See note below about array storage convention for C.
Before entry, the leading m by n part of the array A must contain
the matrix of coefficients. On exit, A is overwritten by the
updated matrix.
lda On entry, lda specifies the first dimension of a as declared in
the calling (sub) program. lda must be at least max( 1, m ).
Unchanged on exit.
C ARRAY STORAGE CONVENTION
The matrices are assumed to be stored in a one dimensional C array
in an analogous fashion as a Fortran array (column major). Therefore,
the element A(i+1,j) of matrix A is stored immediately after the
element A(i,j), while A(i,j+1) is lda elements apart from A(i,j).
The element A(i,j) of the matrix can be accessed directly by reference
to a[ (j-1)*lda + (i-1) ].
Jack Dongarra, Argonne National Laboratory.
Iain Duff, AERE Harwell.
Jeremy Du Croz, Numerical Algorithms Group Ltd.
Sven Hammarling, Numerical Algorithms Group Ltd.
Optimized and parallelized for SGI R3000, R4x00 and R8000 platforms.
PPPPaaaaggggeeee 3333 [ Back ]
|