her2k(3F)

CHER2K, ZHER2K - Performs Hermitian rank 2k update of a complex Hermitian matrix

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

NAME
     CHER2K, ZHER2K - Performs Hermitian rank 2k update of a complex
     Hermitian matrix

SYNOPSIS
     Complex

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

     Double complex

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

DESCRIPTION
     These routines perform a Hermitian rank 2k update of a complex
     Hermitian matrix.  They perform one of the following Hermitian rank 2k
     operations:

          C <- alpha ABH + conj(alpha) BAH + beta*C

          C <- alpha AHB + conj(alpha) BHA + beta*C

     where the following is true:

     * AH and BH are the conjugate transposes of A and B, respectively;

     * alpha and beta are scalars;

     * C is an n-by-n Hermitian matrix,

     * A and B are n-by-k matrices in the first operation listed
       previously, and k-by-n matrices 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 ABH + conj(alpha) BAH +
               beta*C


               trans = 'C' or 'c':  C <- alpha AHB + conj(alpha) BHA +
               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 = 'C' or 'c', k specifies the number of
               rows of matrices A and B.

               k must be >= 0.

     alpha     First scalar factor.  (input)
               CHER2K: Complex.
               ZHER2K: Double complex.

     a         Array of dimension (lda,ka).  (input)
               CHER2K: Complex array.
               ZHER2K: Double complex array.
               When trans = 'N' or 'n', ka is k; otherwise, it is n.
               Contains 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)
               CHER2K: Complex array.
               ZHER2K: Double complex array.
               When trans = 'N' or 'n', kb is k; otherwise, it is n.
               Contains 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      First scalar factor.  (input)
               CHER2K: Real.
               ZHER2K: Double precision.

     c         Array of dimension (ldc,n).  (input)
               CHER2K: Complex array.
               ZHER2K: Double complex array.
               Contains 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 Hermitian 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 Hermitian 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.

               The imaginary parts of the diagonal elements need not be set
               and are assumed to be 0.  On exit, they are set to 0.

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

NOTES
     CHER2K/ZHER2K is a Level 3 Basic Linear Algebra Subprogram (Level 3
     BLAS).

SEE ALSO
     SYR2K(3F)