trmm(3F)

STRMM, DTRMM, CTRMM, ZTRMM - Multiplies a real or complex general matrix by a real or complex triangular matrix

As shipped in IRIX 6.5.5. Last changed in IRIX 6.5.5.

NAME
     STRMM, DTRMM, CTRMM, ZTRMM - Multiplies a real or complex general
     matrix by a real or complex triangular matrix

SYNOPSIS
     Real

        CALL STRMM (side, uplo, transa, diag, m, n, alpha, a, lda, b, ldb)

     Double precision

        CALL DTRMM (side, uplo, transa, diag, m, n, alpha, a, lda, b, ldb)

     Complex

        CALL CTRMM (side, uplo, transa, diag, m, n, alpha, a, lda, b, ldb)

     Double complex

        CALL ZTRMM (side, uplo, transa, diag, m, n, alpha, a, lda, b, ldb)

IMPLEMENTATION
     IRIX systems

DESCRIPTION
     STRMM and DTRMM multiply a real general matrix by a real triangular
     matrix.

     CTRMM and ZTRMM multiply a complex general matrix by a complex
     triangular matrix.

     These routines perform one of the matrix-matrix operations:

          B <- alpha op(A)B

          or

          B <- alpha B op(A)

     where alpha is a scalar; B is an m-by-n matrix; A is either a unit or
     nonunit upper or lower triangular matrix, and op(A) is one of the
     following:

     * op(A) = A
                T
     * op(A) = A
                H
     * op(A) = A     (CTRMM and ZTRMM only)

     where
        T
     * A  is the transpose of A
        H
     * A  is the conjugate transpose of A.

     These routines have the following arguments:

     side      Character*1.  (input)
               Specifies whether op(A) multiplies B from the left or right,
               as follows:

               side = 'L' or 'l':  B <- alpha op(A)B

               side = 'R' or 'r':  B <- alpha B op(A)

     uplo      Character*1.  (input)
               Specifies whether matrix A is an upper or lower triangular
               matrix, as follows:

               uplo = 'U' or 'u':  A is an upper triangular matrix.
               uplo = 'L' or 'l':  A is a lower triangular matrix.

     transa    Character*1.  (input)
               Specifies the form of op(A) to be used in the matrix
               multiplication, as follows:

               transa = 'N' or 'n': op(A) = A

                                             T
               transa = 'T' or 't', op(A) = A

                                              T
               transa = 'C' or 'c':  op(A) = A  (STRMM, DTRMM),
                           H
               or op(A) = A  (CTRMM, ZTRMM)

     diag      Character*1.  (input)
               Specifies whether A is unit triangular, as follows:

               diag = 'U' or 'u': A is assumed to be unit triangular.
               diag = 'N' or 'n': A is not assumed to be unit triangular.

     m         Integer.  (input)
               Specifies the number of rows in B.  m must be >= 0.

     n         Integer.  (input)
               Specifies the number of columns in B.  n must be >= 0.

     alpha     Scalar factor.  (input)
               STRMM: Real.
               DTRMM: Double precision.
               CTRMM: Complex.
               ZTRMM: Double complex.
               When alpha is 0, a is not referenced and b need not be set
               before entry.

     a         Array of dimension (lda,k).  (input)
               STRMM: Real array.
               DTRMM: Double precision array.
               CTRMM: Complex array.
               ZTRMM: Double complex array.

               When side = 'L' or 'l', k is m; when side = 'R' or 'r', k is
               n.  Contains the matrix A.

               Before entry with uplo = 'U' or 'u', the leading k-by-k
               upper triangular part of array a must contain the upper
               triangular matrix.  The strictly lower triangular part of a
               is not referenced.

               Before entry with uplo = 'L' or 'l', the leading k-by-k
               lower triangular part of array a must contain the lower
               triangular matrix.  The strictly upper triangular part of a
               is not referenced.

               When diag = 'U' or 'u', the diagonal elements of a are not
               referenced, but they are assumed to be unity.

     lda       Integer.  (input)

               Specifies the first dimension of a as declared in the
               calling program.
               When side = 'L' or 'l', lda >= MAX(1,m).  When side = 'R' or
               'r', lda >= MAX(1,n).

     b         Array of dimension (ldb,n).  (input and output)
               STRMM: Real array.
               DTRMM: Double precision array.
               CTRMM: Complex array.
               ZTRMM: Double complex array.
               Contains the matrix B.

               Before entry, the leading m-by-n part of array b must
               contain matrix B.  On exit, the transformed matrix
               overwrites array b.

     ldb       Integer.  (input)
               Specifies the first dimension of b as declared in the
               calling program.  ldb >= MAX(1,m).

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

SEE ALSO
     This man page is available only online.