CXML

ssyrk, dsyrk, csyrk, zsyrk 


FORMAT

  {S,D,C,Z}SYRK ( uplo, trans, n, k, alpha, a, lda, beta, c, ldc )

Arguments

  uplo                character*1
                      On entry, specifies whether the upper- or lower-
                      triangular part of the symmetric matrix C is to be
                      referenced:

                      If uplo = 'U' or 'u', the upper-triangular part of C is
                      to be referenced.

                      If uplo = 'L' or 'l', the lower-triangular part of C is
                      to be referenced.
                      On exit, uplo is unchanged.

  trans               character*1
                      On entry, specifies the operation to be performed:

                      If trans = 'N' or 'n', C  =  alpha * A*transp(A) +
                      beta*C

                      If trans = 'T' or 't', C  =  alpha * transp(A)A +
                      beta*C
                      On exit, trans is unchanged.

  n                   integer*4
                      On entry, specifies the order of the matrix C; n >= 0
                      On exit, n is unchanged.

  k                   integer*4
                      On entry,  the number of columns of the matrix A when
                      trans = 'N' or the number of rows of the matrix A when
                      trans = 'T' or
                      On exit, k is unchanged.

  alpha               real*4 | real*8 | complex*8 | complex*16
                      On entry, specifies the scalar alpha.
                      On exit, alpha is unchanged.

  a                   real*4 | real*8 | complex*8 | complex*16
                      On entry, a two-dimensional array A with dimensions lda
                      by ka.
                      For trans = 'N' or leading n by k portion of the array
                      A contains the matrix A.
                      For trans = 'T' or ka >= n and the leading k by n part
                      of the array A contains the matrix A.
                      On exit, a is unchanged.

  lda                 integer*4
                      On entry, the first dimension of array A.
                      For trans = 'N' or lda >= MAX(1,n).
                      For trans = 'T', lda >= MAX(1,k).
                      On exit, lda is unchanged.

  beta                real*4 | real*8 | complex*8 | complex*16
                      On entry, specifies the scalar beta.
                      On exit, beta is unchanged.

  c                   real*4 | real*8 | complex*8 | complex*16
                      On entry, a two-dimensional array C of dimensions ldc
                      by at least n.  If uplo specifies the upper part, the
                      leading n by n upper-triangular part of the array C
                      must contain the upper-triangular part of the symmetric
                      matrix C, and the strictly lower-triangular part of C
                      is not referenced.

  If uplo specifies the lower part, the leading n by n lower-triangular part
  of the array C must contain the lower-triangular part of the symmetric
  matrix C, and the strictly upper-triangular part of C is not referenced.
  On exit, c is overwritten; the triangular part of the array C is
  overwritten by the triangular part of the updated matrix.

  ldc                 integer*4
                      On entry, the first dimension  of array C; ldc >=
                      MAX(1,n)
                      On exit, ldc is unchanged.

Description

  The _SYRK routines perform the rank-k update of a symmetric matrix: C  =
  alpha * A*transp(A) + beta*C C  = alpha * transp(A)A + beta*C
  alpha and beta are scalars,  C is an n by n symmetric matrix. In the first
  case, A is an n by k matrix, and in the second case, A is a k by n matrix.

Example

  REAL*4 A(40,20), C(20,20), alpha, beta
  LDA = 40
  LDC = 20
  N = 10
  K = 15
  alpha = 1.0
  beta = 2.0
  CALL SSYRK ('U','N',N,K,alpha,A,LDA,beta,C,LDC)

  This FORTRAN code computes the rank-k update of the real symmetric matrix
  C: C  =  alpha * A*transp(A) + beta*C.  C is a 10 by 10 matrix, and A is a
  10 by 15 matrix.  Only the upper-triangular part of C is referenced.  The
  leading 10 by 15 part of array A contains the matrix A.  The leading 10 by
  10 upper-triangular part of array C contains the upper-triangular matrix C.

CXML Home Page

Index of CXML Routines