syrk(3F)

SSYRK, DSYRK, CSYRK, ZSYRK - Performs symmetric rank k update of a real or complex symmetric matrix

As shipped in IRIX 6.5.19. Last changed in IRIX 6.5.19.

NAME
     SSYRK, DSYRK, CSYRK, ZSYRK - Performs symmetric rank k update of a
     real or complex symmetric matrix

SYNOPSIS
     Real

        CALL SSYRK (uplo, trans, n, k, alpha, a, lda, beta, c, ldc)

     Double precision

        CALL DSYRK (uplo, trans, n, k, alpha, a, lda, beta, c, ldc)

     Complex

        CALL CSYRK (uplo, trans, n, k, alpha, a, lda, beta, c, ldc)

     Double complex

        CALL ZSYRK (uplo, trans, n, k, alpha, a, lda, beta, c, ldc)

DESCRIPTION
     SSYRK and DSYRK perform a symmetric rank k update of a real symmetric
     matrix.

     CSYRK and ZSYRK perform a symmetric rank k update of a complex
     symmetric matrix.

     These routines perform one of the following symmetric rank k
     operations:

          C <- alpha AAT + beta C

          or

          C <- alpha ATA + beta C

     where the following is true:

     * AT is the transpose of A;

     * alpha and beta are scalars;

     * C is an n-by-n symmetric matrix;

     * A is an n-by-k matrix in the first operation listed previously, and
       a k-by-n matrix in the second.

     These routines have the following arguments:

     uplo      Character*1.  (input)
               Specifies whether the upper or lower triangular part of
               array c is referenced, as follows:

               uplo = 'U' or 'u':  only the upper triangular part of c is
               referenced.
               uplo = 'L' or 'l':  only the lower triangular part of c is
               referenced.

     trans     Character*1.  (input)
               Specifies the operation to be performed, as follows:

               trans = 'N' or 'n':  C <- alpha AAT + beta C

               trans = 'T' or 't':  C <- alpha ATA + beta C

     n         Integer.  (input)
               Specifies the order of matrix C.  n must be >= 0.

     k         Integer.  (input)

               On entry with trans = 'N' or 'n', k specifies the number of
               columns of matrix A.
               On entry with trans = 'T' or 't', k specifies the number of
               rows of matrix A.

               k must be  >= 0.

     alpha     Scalar factor.  (input)
               SSYRK: Real.
               DSYRK: Double precision.
               CSYRK: Complex.
               ZSYRK: Double complex.

     a         Array of dimension (lda,ka).  (input)
               SSYRK: Real array.
               DSYRK: Double precision array.
               CSYRK: Complex array.
               ZSYRK: Double complex array.

               When transa = 'N' or 'n', ka is k; otherwise, it is n.
               Contains the matrix A.

               Before entry with trans = 'N' or 'n', the leading n-by-k
               part of array a must contain matrix A; otherwise, the
               leading k-by-n part of array a must contain matrix A.

     lda       Integer.  (input)
               Specifies the first dimension of a as declared in the
               calling program.  If trans = 'N' or 'n', lda >= MAX(1,n);
               otherwise, lda >= MAX(1,k).

     beta      Scalar factor.  (input)
               SSYRK: Real.
               DSYRK: Double precision.
               CSYRK: Complex.
               ZSYRK: Double complex.

     c         Array of dimension (ldc,n).  (input and output)
               SSYRK: Real array.
               DSYRK: Double precision array.
               CSYRK: Complex array.
               ZSYRK: Double complex array.

               Contains the matrix C.  Before entry with uplo = 'U' or 'u',
               the leading n-by-n upper triangular part of array c must
               contain the upper triangular part of the symmetric matrix.
               The strictly lower triangular part of c is not referenced.
               On exit, the upper triangular part of the updated matrix
               overwrites the upper triangular part of array c.

               Before entry with uplo = 'L' or 'l', the leading n-by-n
               lower triangular part of array c must contain the lower
               triangular part of the symmetric matrix.  The strictly upper
               triangular part of c is not referenced.  On exit, the lower
               triangular part of the updated matrix overwrites the lower
               triangular part of array c.

     ldc       Integer.  (input)
               Specifies the first dimension of c as declared in the
               calling program.  ldc >= MAX(1,n).

NOTES
     These routines are Level 3 Basic Linear Algebra Subprograms (Level 3
     BLAS).

SEE ALSO
     HERK(3F)