Subroutine */
| 23033 | } /* clauu2_ */ |
| 23034 | |
| 23035 | /* Subroutine */ int clauum_(char *uplo, integer *n, complex *a, integer *lda, |
| 23036 | integer *info) |
| 23037 | { |
| 23038 | /* System generated locals */ |
| 23039 | integer a_dim1, a_offset, i__1, i__2, i__3, i__4; |
| 23040 | |
| 23041 | /* Local variables */ |
| 23042 | static integer i__, ib, nb; |
| 23043 | extern /* Subroutine */ int cgemm_(char *, char *, integer *, integer *, |
| 23044 | integer *, complex *, complex *, integer *, complex *, integer *, |
| 23045 | complex *, complex *, integer *), cherk_(char *, |
| 23046 | char *, integer *, integer *, real *, complex *, integer *, real * |
| 23047 | , complex *, integer *); |
| 23048 | extern logical lsame_(char *, char *); |
| 23049 | extern /* Subroutine */ int ctrmm_(char *, char *, char *, char *, |
| 23050 | integer *, integer *, complex *, complex *, integer *, complex *, |
| 23051 | integer *); |
| 23052 | static logical upper; |
| 23053 | extern /* Subroutine */ int clauu2_(char *, integer *, complex *, integer |
| 23054 | *, integer *), xerbla_(char *, integer *); |
| 23055 | extern integer ilaenv_(integer *, char *, char *, integer *, integer *, |
| 23056 | integer *, integer *, ftnlen, ftnlen); |
| 23057 | |
| 23058 | |
| 23059 | /* |
| 23060 | -- LAPACK auxiliary routine (version 3.2) -- |
| 23061 | -- LAPACK is a software package provided by Univ. of Tennessee, -- |
| 23062 | -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- |
| 23063 | November 2006 |
| 23064 | |
| 23065 | |
| 23066 | Purpose |
| 23067 | ======= |
| 23068 | |
| 23069 | CLAUUM computes the product U * U' or L' * L, where the triangular |
| 23070 | factor U or L is stored in the upper or lower triangular part of |
| 23071 | the array A. |
| 23072 | |
| 23073 | If UPLO = 'U' or 'u' then the upper triangle of the result is stored, |
| 23074 | overwriting the factor U in A. |
| 23075 | If UPLO = 'L' or 'l' then the lower triangle of the result is stored, |
| 23076 | overwriting the factor L in A. |
| 23077 | |
| 23078 | This is the blocked form of the algorithm, calling Level 3 BLAS. |
| 23079 | |
| 23080 | Arguments |
| 23081 | ========= |
| 23082 | |
| 23083 | UPLO (input) CHARACTER*1 |
| 23084 | Specifies whether the triangular factor stored in the array A |
| 23085 | is upper or lower triangular: |
| 23086 | = 'U': Upper triangular |
| 23087 | = 'L': Lower triangular |
| 23088 | |
| 23089 | N (input) INTEGER |
| 23090 | The order of the triangular factor U or L. N >= 0. |
| 23091 | |
| 23092 | A (input/output) COMPLEX array, dimension (LDA,N) |