37 #ifndef TEMPLATE_LAPACK_SYGV_HEADER 38 #define TEMPLATE_LAPACK_SYGV_HEADER 157 integer a_dim1, a_offset, b_dim1, b_offset, i__1, i__2;
169 a_offset = 1 + a_dim1 * 1;
172 b_offset = 1 + b_dim1 * 1;
182 lquery = *lwork == -1;
185 if (*itype < 1 || *itype > 3) {
199 i__1 = 1, i__2 = *n * 3 - 1;
200 if (*lwork <
maxMACRO(i__1,i__2) && ! lquery) {
208 lwkopt = (nb + 2) * *n;
209 work[1] = (Treal) lwkopt;
256 if (*itype == 1 || *itype == 2) {
262 *(
unsigned char *)trans =
'N';
264 *(
unsigned char *)trans =
'T';
268 b_offset], ldb, &a[a_offset], lda);
270 }
else if (*itype == 3) {
276 *(
unsigned char *)trans =
'T';
278 *(
unsigned char *)trans =
'N';
282 b_offset], ldb, &a[a_offset], lda);
286 work[1] = (Treal) lwkopt;
int template_lapack_potrf(const char *uplo, const integer *n, Treal *a, const integer *lda, integer *info)
Definition: template_lapack_potrf.h:43
int integer
Definition: template_blas_common.h:40
int template_blas_trmm(const char *side, const char *uplo, const char *transa, const char *diag, const integer *m, const integer *n, const Treal *alpha, const Treal *a, const integer *lda, Treal *b, const integer *ldb)
Definition: template_blas_trmm.h:43
integer template_lapack_ilaenv(const integer *ispec, const char *name__, const char *opts, const integer *n1, const integer *n2, const integer *n3, const integer *n4, ftnlen name_len, ftnlen opts_len)
Definition: template_lapack_common.cc:281
#define maxMACRO(a, b)
Definition: template_blas_common.h:45
int template_lapack_sygst(const integer *itype, const char *uplo, const integer *n, Treal *a, const integer *lda, Treal *b, const integer *ldb, integer *info)
Definition: template_lapack_sygst.h:43
int template_blas_erbla(const char *srname, integer *info)
Definition: template_blas_common.cc:146
int template_lapack_sygv(const integer *itype, const char *jobz, const char *uplo, const integer *n, Treal *a, const integer *lda, Treal *b, const integer *ldb, Treal *w, Treal *work, const integer *lwork, integer *info)
Definition: template_lapack_sygv.h:42
int template_blas_trsm(const char *side, const char *uplo, const char *transa, const char *diag, const integer *m, const integer *n, const Treal *alpha, const Treal *a, const integer *lda, Treal *b, const integer *ldb)
Definition: template_blas_trsm.h:43
bool logical
Definition: template_blas_common.h:41
int template_lapack_syev(const char *jobz, const char *uplo, const integer *n, Treal *a, const integer *lda, Treal *w, Treal *work, const integer *lwork, integer *info)
Definition: template_lapack_syev.h:42
int ftnlen
Definition: template_blas_common.h:42
logical template_blas_lsame(const char *ca, const char *cb)
Definition: template_blas_common.cc:46