syr2k(3F)

SSYR2K, DSYR2K, CSYR2K, ZSYR2K - Performs symmetric rank 2k update of a real or complex symmetric matrix

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

NAME
     SSYR2K, DSYR2K, CSYR2K, ZSYR2K - Performs symmetric rank 2k update of
     a real or complex symmetric matrix

SYNOPSIS
     Real

        CALL SSYR2K (uplo, trans, n, k, alpha, a, lda, b, ldb, beta, c,
        ldc)

     Double precision

        CALL DSYR2K (uplo, trans, n, k, alpha, a, lda, b, ldb, beta, c,
        ldc)

     Complex

        CALL CSYR2K (uplo, trans, n, k, alpha, a, lda, b, ldb, beta, c,
        ldc)

     Double complex

        CALL ZSYR2K (uplo, trans, n, k, alpha, a, lda, b, ldb, beta, c,
        ldc)

DESCRIPTION
     SSYR2K and DSYR2K performs a symmetric rank 2k update of a real
     symmetric matrix.

     CSYR2K and ZSYR2K performs a symmetric rank 2k update of a complex
     symmetric matrix.

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

          C <- alpha ABT + alpha BAT + beta C

          or

          C <- alpha ATB + alpha BTA + beta C

     where

     * alpha and beta are scalars

     * C is an n-by-n symmetric matrix

     * A and B are n-by-k matrices in the first operation listed previously
       and k-by-n matrices in the second

     * AT and BT are transposes of A and B, respectively

     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 ABT + alpha BAT + beta C

               trans = 'T' or 't':  C <- alpha ATB + alpha BTA + 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 matrices A and B.

               On entry with trans = 'T' or 't', k specifies the number of
               rows of matrices A and B.

               k must be >= 0.

     alpha     Scalar factor.  (input)
               SSYR2K: Real.
               DSYR2K: Double precision.
               CSYR2K: Complex.
               ZSYR2K: Double complex.

     a         Array of dimension (lda,ka).  (input)
               SSYR2K: Real array.
               DSYR2K: Double precision array.
               CSYR2K: Complex array.
               ZSYR2K: Double complex array.
               When trans = '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).

     b         Array of dimension (ldb,kb).  (input)
               SSYR2K: Real array.
               DSYR2K: Double precision array.
               CSYR2K: Complex array.
               ZSYR2K:  Double complex array.

               When trans = 'N' or 'n', kb is k; otherwise, it is n.
               Contains the matrix B.

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

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

     beta      Scalar factor.  (input)
               SSYR2K: Real.
               DSYR2K: Double precision.
               CSYR2K: Complex.
               ZSYR2K: Double complex.

     c         Array of dimension (ldc,n).  (input and output)
               SSYR2K: Real array.
               DSYR2K: Double precision array.
               CSYR2K: Complex array.
               ZSYR2K: 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
     HER2K(3F)