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

NAME

6       ZTRMM  - 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 ZTRMM(SIDE,UPLO,TRANSA,DIAG,M,N,ALPHA,A,LDA,B,LDB)
13
14           DOUBLE                                                    COMPLEX
15                                                                     ALPHA
16
17           INTEGER                                                   LDA,LDB,M,N
18
19           CHARACTER                                                 DIAG,SIDE,TRANSA,UPLO
20
21           DOUBLE                                                    COMPLEX
22                                                                     A(LDA,*),B(LDB,*)
23

PURPOSE

25       ZTRMM  performs one of the matrix-matrix operations
26
27

ARGUMENTS

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