TBCI Numerical high perf. C++ Library  2.8.0
lapack_lib.h
Go to the documentation of this file.
1 
5 #ifndef TBCI_LAPACK_LIB_H
6 #define TBCI_LAPACK_LIB_H
7 
8 #ifdef __cplusplus
9 extern "C" {
10 #endif
11 #include "tbci/lapack/f2c.h"
12 
13 #if 0
14 typedef /*long*/ int integer;
15 typedef char *address;
16 typedef short int shortint;
17 /*typedef float real;*/
18 /*#define real float;*/
19 typedef double doublereal;
20 /*typedef struct { real r, i; } complex;*/
21 typedef struct { doublereal r, i; } doublecomplex;
22 typedef /*long*/ int logical;
23 typedef short int shortlogical;
24 typedef char logical1;
25 typedef char integer1;
26 #endif
27 
28 #ifdef _DOXYGEN
29 # define integer /*long*/ int
30 # define doublereal double
31 # define doublecomplex __complex__ double
32 # define real float
33 # define complex __complex__ float
34 #endif
35 
36 /* FIXME: should this be dlamch_(char) ? */
37 double dlamch_(const char*);
38 
39 
40 // ********************** real linear Systems *********************************************
41 /* Subroutine */
42 int dgesv_(integer *n, integer *nrhs, doublereal *a, integer *lda,
43  integer *ipiv, doublereal *b, integer *ldb, integer *info);
44 
45 // Band
46 /* Subroutine */
47 int dgbsv_(integer *n, integer *kl, integer *ku, integer *nrhs,
48  doublereal *ab, integer *ldab, integer *ipiv, doublereal *b,
49  integer *ldb, integer *info);
50 /* Subroutine */
51 /* FIXME: Should this be char fact, char trans ? */
52 int dgbsvx_(const char *fact, const char *trans, integer *n, integer *kl,
53  integer *ku, integer *nrhs, doublereal *ab, integer *ldab,
54  doublereal *afb, integer *ldafb, integer *ipiv, char *equed,
55  doublereal *r, doublereal *c, doublereal *b, integer *ldb,
56  doublereal *x, integer *ldx,
57  doublereal *rcond, doublereal *ferr, doublereal *berr,
58  doublereal *work, integer *iwork, integer *info);
59 /* Subroutine */
60 int dgbsvx2_(const char *fact, const char *trans, integer *n, integer *kl,
61  integer *ku, integer *nrhs, doublereal *ab, integer *ldab,
62  doublereal *afb, integer *ldafb, integer *ipiv, char *equed,
63  doublereal *r, doublereal *c, doublereal *b, integer *ldb,
64  doublereal *x, integer *ldx,
65  doublereal *rcond, doublereal *ferr, doublereal *berr,
66  doublereal *work, integer *iwork, integer *info);
67 
68 
69 // ********************** complex linear Systems ******************************************
70 /* Subroutine */
71 int zgesv_(integer *n, integer *nrhs, doublecomplex *a,
72  integer *lda, integer *ipiv, doublecomplex *b,
73  integer *ldb, integer *info);
74 
75 
76 // ********************** real Eigenvalues ************************************************
77 int dsyev_(const char *jobz, const char *uplo, integer *n, doublereal *a,
78  integer *lda, doublereal *w, doublereal *work, integer *lwork,
79  integer *info);
80 
81 int dspev_(const char *jobz, const char *uplo, integer *n, doublereal *ap,
82  doublereal *w, doublereal *z, integer *ldz, doublereal *work,
83  integer *info);
84 
85 int dgeev_(const char *jobvl, const char *jobvr, integer *n, doublereal *a,
86  integer *lda, doublereal *wr, doublereal *wi, doublereal *vl,
87  integer *ldvl, doublereal *vr, integer *ldvr, doublereal *work,
88  integer *lwork, integer *info);
89 
90 //symmetric band matrix
91 /* Subroutine */
92 int dsbev_(const char *jobz, const char *uplo, integer *n, integer *kd,
93  doublereal *ab, integer *ldab, doublereal *w, doublereal *z,
94  integer *ldz, doublereal *work, integer *info);
95 
96 /* Subroutine */
97 int dsbevx_(const char *jobz, const char *range, const char *uplo, integer *n,
98  integer *kd, doublereal *ab, integer *ldab, doublereal *q,
99  integer *ldq, doublereal *vl, doublereal *vu, integer *il,
100  integer *iu, doublereal *abstol, integer *m, doublereal *w,
101  doublereal *z, integer *ldz, doublereal *work, integer *iwork,
102  integer *ifail, integer *info);
103 
104 // ********************** complex Eigenvalues ********************************************
105 int zgeev_(const char *jobvl, const char *jobvr, integer *n,
106  doublecomplex *a, integer *lda, doublecomplex *w, doublecomplex *vl,
107  integer *ldvl, doublecomplex *vr, integer *ldvr, doublecomplex *work,
108  integer *lwork, doublereal *rwork, integer *info);
109 
110 
111 int zheev_(const char *jobz, const char *uplo, integer *n, doublecomplex *a,
112  integer *lda, doublereal *w, doublecomplex *work, integer *lwork,
113  doublereal *rwork, integer *info);
114 
115 
116 int zgehrd_(integer *n, integer *ilo, integer *ihi, doublecomplex *a,
117  integer *lda, doublecomplex *tau, doublecomplex *work,
118  integer *lwork, integer *info);
119 
120 int zunghr_(integer *n, integer *ilo, integer *ihi, doublecomplex *a,
121  integer *lda, doublecomplex *tau, doublecomplex *work,
122  integer *lwork, integer *info);
123 
124 int zhseqr_(const char *job, const char *compz, integer *n, integer *ilo, integer *ihi,
125  doublecomplex *h, integer *ldh, doublecomplex *w,
126  doublecomplex *z, integer *ldz, doublecomplex *work,
127  integer *lwork, integer *info);
128 
129 
130 
131 // Eigene Fortran-Routinen
132 long own_ew_(long *jobz, long *uplo, long *n, long *m, doublecomplex *ab, long *ldab,
133  doublecomplex* bb, long *ldbb, double *vl, double *vu, double *w,
134  doublecomplex *q, long *ldq, doublecomplex *work, double *rwork,
135  long *iwork);
136 long own_ev_(long *n, long *m, double *w, doublecomplex *z, long *ldz, doublecomplex *q,
137  long *ldq, doublecomplex *work, double *rwork, long *iwork, long *ifail);
138 
139 #ifdef __cplusplus
140 }
141 #endif
142 
143 #endif
int zgeev_(const char *jobvl, const char *jobvr, int *n, __complex__ double *a, int *lda, __complex__ double *w, __complex__ double *vl, int *ldvl, __complex__ double *vr, int *ldvr, __complex__ double *work, int *lwork, double *rwork, int *info)
const Vector< T > const Vector< T > & x
Definition: LM_fit.h:97
int dsbevx_(const char *jobz, const char *range, const char *uplo, int *n, int *kd, double *ab, int *ldab, double *q, int *ldq, double *vl, double *vu, int *il, int *iu, double *abstol, int *m, double *w, double *z, int *ldz, double *work, int *iwork, int *ifail, int *info)
double dlamch_(const char *)
long int own_ew_(long int *job, long int *up, long int *n, long int *m, __complex__ double *ab, long int *ldab, __complex__ double *bb, long int *ldbb, double *vl, double *vu, double *w, __complex__ double *q, long int *ldq, __complex__ double *work, double *rwork, long int *iwork)
– AHLAND driver routine (version 2.0) – Modified LAPACK-ROUTINE for the calculation of selected Eigen...
const Vector< T > const Vector< T > const Vector< T > int T h
Definition: LM_fit.h:97
#define doublereal
long double fact(const double x)
Definition: mathplus.h:101
char * address
Definition: f2c.h:29
return c
Definition: f_matrix.h:760
#define integer
int dgesv_(int *n, int *nrhs, double *a, int *lda, int *ipiv, double *b, int *ldb, int *info)
long int own_ev_(long int *n, long int *m, double *w, __complex__ double *z, long int *ldz, __complex__ double *q, long int *ldq, __complex__ double *work, double *rwork, long int *iwork, long int *ifail)
– AHLAND driver routine (version 2.0) –
int dsbev_(const char *jobz, const char *uplo, int *n, int *kd, double *ab, int *ldab, double *w, double *z, int *ldz, double *work, int *info)
int dspev_(const char *jobz, const char *uplo, int *n, double *ap, double *w, double *z, int *ldz, double *work, int *info)
char integer1
Definition: f2c.h:38
char logical1
Definition: f2c.h:37
const Vector< T > Vector< T > Vector< T > Vector< T > Vector< T > & z
Definition: LM_fit.h:172
short int shortlogical
Definition: f2c.h:36
int dgbsvx_(const char *fact, const char *trans, int *n, int *kl, int *ku, int *nrhs, double *ab, int *ldab, double *afb, int *ldafb, int *ipiv, char *equed, double *r, double *c, double *b, int *ldb, double *x, int *ldx, double *rcond, double *ferr, double *berr, double *work, int *iwork, int *info)
int logical
Definition: f2c.h:35
int zhseqr_(const char *job, const char *compz, int *n, int *ilo, int *ihi, __complex__ double *h, int *ldh, __complex__ double *w, __complex__ double *z, int *ldz, __complex__ double *work, int *lwork, int *info)
F_TMatrix< T > b
Definition: f_matrix.h:736
#define doublecomplex
Definition: lapack_lib.h:31
short int shortint
Definition: f2c.h:30
int dsyev_(const char *jobz, const char *uplo, int *n, double *a, int *lda, double *w, double *work, int *lwork, int *info)
int zheev_(const char *jobz, const char *uplo, int *n, __complex__ double *a, int *lda, double *w, __complex__ double *work, int *lwork, double *rwork, int *info)
int dgbsvx2_(const char *fact, const char *trans, int *n, int *kl, int *ku, int *nrhs, double *ab, int *ldab, double *afb, int *ldafb, int *ipiv, char *equed, double *r, double *c, double *b, int *ldb, double *x, int *ldx, double *rcond, double *ferr, double *berr, double *work, int *iwork, int *info)
int zgehrd_(int *n, int *ilo, int *ihi, __complex__ double *a, int *lda, __complex__ double *tau, __complex__ double *work, int *lwork, int *info)
int i
Definition: LM_fit.h:71
int zgesv_(int *n, int *nrhs, __complex__ double *a, int *lda, int *ipiv, __complex__ double *b, int *ldb, int *info)
int zunghr_(int *n, int *ilo, int *ihi, __complex__ double *a, int *lda, __complex__ double *tau, __complex__ double *work, int *lwork, int *info)
const unsigned TMatrix< T > const Matrix< T > * a
int dgeev_(const char *jobvl, const char *jobvr, int *n, double *a, int *lda, double *wr, double *wi, double *vl, int *ldvl, double *vr, int *ldvr, double *work, int *lwork, int *info)
int dgbsv_(int *n, int *kl, int *ku, int *nrhs, double *ab, int *ldab, int *ipiv, double *b, int *ldb, int *info)