zgeru


NAME

zgeru - perform the rank 1 operation A := alpha*x*y' + A


SYNOPSIS

  SUBROUTINE ZGERU( M, N, ALPHA, X, INCX, Y, INCY, A, LDA)
  DOUBLE COMPLEX ALPHA
  DOUBLE COMPLEX X(*), Y(*), A(LDA,*)
  INTEGER M, N, INCX, INCY, LDA
 
  SUBROUTINE ZGERU_64( M, N, ALPHA, X, INCX, Y, INCY, A, LDA)
  DOUBLE COMPLEX ALPHA
  DOUBLE COMPLEX X(*), Y(*), A(LDA,*)
  INTEGER*8 M, N, INCX, INCY, LDA
 

F95 INTERFACE

  SUBROUTINE GER( [M], [N], ALPHA, X, [INCX], Y, [INCY], A, [LDA])
  COMPLEX(8) :: ALPHA
  COMPLEX(8), DIMENSION(:) :: X, Y
  COMPLEX(8), DIMENSION(:,:) :: A
  INTEGER :: M, N, INCX, INCY, LDA
 
  SUBROUTINE GER_64( [M], [N], ALPHA, X, [INCX], Y, [INCY], A, [LDA])
  COMPLEX(8) :: ALPHA
  COMPLEX(8), DIMENSION(:) :: X, Y
  COMPLEX(8), DIMENSION(:,:) :: A
  INTEGER(8) :: M, N, INCX, INCY, LDA
 

C INTERFACE

#include <sunperf.h>

void zgeru(int m, int n, doublecomplex alpha, doublecomplex *x, int incx, doublecomplex *y, int incy, doublecomplex *a, int lda);

void zgeru_64(long m, long n, doublecomplex alpha, doublecomplex *x, long incx, doublecomplex *y, long incy, doublecomplex *a, long lda);


PURPOSE

zgeru performs the rank 1 operation A := alpha*x*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.


ARGUMENTS

* M (input)
On entry, M specifies the number of rows of the matrix A. M >= 0. Unchanged on exit.

* N (input)
On entry, N specifies the number of columns of the matrix A. N >= 0. Unchanged on exit.

* ALPHA (input)
On entry, ALPHA specifies the scalar alpha. Unchanged on exit.

* X (input)
( 1 + ( m - 1 )*abs( INCX ) ). Before entry, the incremented array X must contain the m element vector x. Unchanged on exit.

* INCX (input)
On entry, INCX specifies the increment for the elements of X. INCX must not be zero. Unchanged on exit.

* Y (input)
( 1 + ( n - 1 )*abs( INCY ) ). Before entry, the incremented array Y must contain the n element vector y. Unchanged on exit.

* INCY (input)
On entry, INCY specifies the increment for the elements of Y. INCY must not be zero. Unchanged on exit.

* A (input/output)
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 (input)
On entry, LDA specifies the first dimension of A as declared in the calling (sub) program. LDA >= max( 1, m ). Unchanged on exit.