Subroutine */
| 23145 | } /* zlauu2_ */ |
| 23146 | |
| 23147 | /* Subroutine */ int zlauum_(char *uplo, integer *n, doublecomplex *a, |
| 23148 | integer *lda, integer *info) |
| 23149 | { |
| 23150 | /* System generated locals */ |
| 23151 | integer a_dim1, a_offset, i__1, i__2, i__3, i__4; |
| 23152 | |
| 23153 | /* Local variables */ |
| 23154 | static integer i__, ib, nb; |
| 23155 | extern logical lsame_(char *, char *); |
| 23156 | extern /* Subroutine */ int zgemm_(char *, char *, integer *, integer *, |
| 23157 | integer *, doublecomplex *, doublecomplex *, integer *, |
| 23158 | doublecomplex *, integer *, doublecomplex *, doublecomplex *, |
| 23159 | integer *), zherk_(char *, char *, integer *, |
| 23160 | integer *, doublereal *, doublecomplex *, integer *, doublereal *, |
| 23161 | doublecomplex *, integer *); |
| 23162 | static logical upper; |
| 23163 | extern /* Subroutine */ int ztrmm_(char *, char *, char *, char *, |
| 23164 | integer *, integer *, doublecomplex *, doublecomplex *, integer *, |
| 23165 | doublecomplex *, integer *), |
| 23166 | zlauu2_(char *, integer *, doublecomplex *, integer *, integer *), xerbla_(char *, integer *); |
| 23167 | extern integer ilaenv_(integer *, char *, char *, integer *, integer *, |
| 23168 | integer *, integer *, ftnlen, ftnlen); |
| 23169 | |
| 23170 | |
| 23171 | /* |
| 23172 | -- LAPACK auxiliary routine (version 3.2) -- |
| 23173 | -- LAPACK is a software package provided by Univ. of Tennessee, -- |
| 23174 | -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- |
| 23175 | November 2006 |
| 23176 | |
| 23177 | |
| 23178 | Purpose |
| 23179 | ======= |
| 23180 | |
| 23181 | ZLAUUM computes the product U * U' or L' * L, where the triangular |
| 23182 | factor U or L is stored in the upper or lower triangular part of |
| 23183 | the array A. |
| 23184 | |
| 23185 | If UPLO = 'U' or 'u' then the upper triangle of the result is stored, |
| 23186 | overwriting the factor U in A. |
| 23187 | If UPLO = 'L' or 'l' then the lower triangle of the result is stored, |
| 23188 | overwriting the factor L in A. |
| 23189 | |
| 23190 | This is the blocked form of the algorithm, calling Level 3 BLAS. |
| 23191 | |
| 23192 | Arguments |
| 23193 | ========= |
| 23194 | |
| 23195 | UPLO (input) CHARACTER*1 |
| 23196 | Specifies whether the triangular factor stored in the array A |
| 23197 | is upper or lower triangular: |
| 23198 | = 'U': Upper triangular |
| 23199 | = 'L': Lower triangular |
| 23200 | |
| 23201 | N (input) INTEGER |
| 23202 | The order of the triangular factor U or L. N >= 0. |
| 23203 | |
| 23204 | A (input/output) COMPLEX*16 array, dimension (LDA,N) |