1CTRMM(1)                         BLAS routine                         CTRMM(1)
2
3
4

NAME

6       CTRMM  - one of the matrix-matrix operations   B := alpha*op( A )*B, or
7       B := alpha*B*op( A )  where alpha is a scalar, B is an m by n matrix, A
8       is a unit, or non-unit, upper or lower triangular matrix and op( A ) is
9       one of   op( A ) = A or op( A ) = A' or op( A ) = conjg( A' )
10

SYNOPSIS

12       SUBROUTINE CTRMM(SIDE,UPLO,TRANSA,DIAG,M,N,ALPHA,A,LDA,B,LDB)
13
14           COMPLEX                                                   ALPHA
15
16           INTEGER                                                   LDA,LDB,M,N
17
18           CHARACTER                                                 DIAG,SIDE,TRANSA,UPLO
19
20           COMPLEX                                                   A(LDA,*),B(LDB,*)
21

PURPOSE

23       CTRMM  performs one of the matrix-matrix operations
24
25

ARGUMENTS

27       SIDE   - CHARACTER*1.
28              On entry,  SIDE specifies whether  op( A ) multiplies B from the
29              left or right as follows:
30
31              SIDE = 'L' or 'l'   B := alpha*op( A )*B.
32
33              SIDE = 'R' or 'r'   B := alpha*B*op( A ).
34
35              Unchanged on exit.
36
37       UPLO   - CHARACTER*1.
38              On entry, UPLO specifies whether the matrix A  is  an  upper  or
39              lower triangular matrix as follows:
40
41              UPLO = 'U' or 'u'   A is an upper triangular matrix.
42
43              UPLO = 'L' or 'l'   A is a lower triangular matrix.
44
45              Unchanged on exit.
46
47              TRANSA  -  CHARACTER*1.   On entry, TRANSA specifies the form of
48              op( A ) to be used in the matrix multiplication as follows:
49
50              TRANSA = 'N' or 'n'   op( A ) = A.
51
52              TRANSA = 'T' or 't'   op( A ) = A'.
53
54              TRANSA = 'C' or 'c'   op( A ) = conjg( A' ).
55
56              Unchanged on exit.
57
58       DIAG   - CHARACTER*1.
59              On entry, DIAG specifies whether or not A is unit triangular  as
60              follows:
61
62              DIAG = 'U' or 'u'   A is assumed to be unit triangular.
63
64              DIAG = 'N' or 'n'   A is not assumed to be unit triangular.
65
66              Unchanged on exit.
67
68       M      - INTEGER.
69              On  entry,  M  specifies  the  number of rows of B. M must be at
70              least zero.  Unchanged on exit.
71
72       N      - INTEGER.
73              On entry, N specifies the number of columns of B.  N must be  at
74              least zero.  Unchanged on exit.
75
76       ALPHA  - COMPLEX         .
77              On  entry,   ALPHA  specifies  the scalar  alpha. When  alpha is
78              zero then  A is not referenced and  B need  not  be  set  before
79              entry.  Unchanged on exit.
80
81       A      - COMPLEX          array of DIMENSION ( LDA, k ), where k is m
82              when   SIDE  =  'L'  or 'l'  and is  n  when  SIDE = 'R' or 'r'.
83              Before entry  with  UPLO = 'U' or 'u',  the   leading   k  by  k
84              upper  triangular  part  of  the array  A must contain the upper
85              triangular matrix  and the strictly lower triangular part  of  A
86              is  not referenced.  Before entry  with  UPLO = 'L' or 'l',  the
87              leading  k by k lower triangular part of the array  A must  con‐
88              tain  the lower triangular matrix  and the strictly upper trian‐
89              gular part of A is not referenced.  Note that when  DIAG  =  'U'
90              or  'u',  the diagonal elements of A  are not referenced either,
91              but are assumed to be  unity.  Unchanged on exit.
92
93       LDA    - INTEGER.
94              On entry, LDA specifies the first dimension of A as declared  in
95              the  calling  (sub)  program.  When  SIDE = 'L' or 'l'  then LDA
96              must be at least  max( 1, m ),  when  SIDE = 'R' or 'r' then LDA
97              must be at least max( 1, n ).  Unchanged on exit.
98
99       B      - COMPLEX          array of DIMENSION ( LDB, n ).
100              Before  entry,   the  leading   m by n part of the array  B must
101              contain the matrix  B,  and  on exit   is  overwritten   by  the
102              transformed matrix.
103
104       LDB    - INTEGER.
105              On  entry, LDB specifies the first dimension of B as declared in
106              the  calling  (sub)  program.   LDB  must  be  at  least max( 1,
107              m ).  Unchanged on exit.
108
109              Level 3 Blas routine.
110
111              --  Written on 8-February-1989.  Jack Dongarra, Argonne National
112              Laboratory.  Iain Duff, AERE Harwell.  Jeremy Du Croz, Numerical
113              Algorithms  Group  Ltd.   Sven  Hammarling, Numerical Algorithms
114              Group Ltd.
115
116
117
118
119
120
121BLAS routine                     November 2006                        CTRMM(1)
Impressum