35 #ifndef TEMPLATE_LAPACK_SYGV_HEADER 36 #define TEMPLATE_LAPACK_SYGV_HEADER 155 integer a_dim1, a_offset, b_dim1, b_offset, i__1, i__2;
167 a_offset = 1 + a_dim1 * 1;
170 b_offset = 1 + b_dim1 * 1;
180 lquery = *lwork == -1;
183 if (*itype < 1 || *itype > 3) {
197 i__1 = 1, i__2 = *n * 3 - 1;
198 if (*lwork <
maxMACRO(i__1,i__2) && ! lquery) {
206 lwkopt = (nb + 2) * *n;
207 work[1] = (Treal) lwkopt;
254 if (*itype == 1 || *itype == 2) {
260 *(
unsigned char *)trans =
'N';
262 *(
unsigned char *)trans =
'T';
266 b_offset], ldb, &a[a_offset], lda);
268 }
else if (*itype == 3) {
274 *(
unsigned char *)trans =
'T';
276 *(
unsigned char *)trans =
'N';
280 b_offset], ldb, &a[a_offset], lda);
284 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:41
int integer
Definition: template_blas_common.h:38
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:41
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:279
#define maxMACRO(a, b)
Definition: template_blas_common.h:43
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:41
int template_blas_erbla(const char *srname, integer *info)
Definition: template_blas_common.cc:144
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:40
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:41
bool logical
Definition: template_blas_common.h:39
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:40
int ftnlen
Definition: template_blas_common.h:40
logical template_blas_lsame(const char *ca, const char *cb)
Definition: template_blas_common.cc:44