00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014 #ifndef BOOST_NUMERIC_BINDINGS_LAPACK_LAPACK_H
00015 #define BOOST_NUMERIC_BINDINGS_LAPACK_LAPACK_H
00016
00017 #include <boost/numeric/bindings/traits/type.h>
00018 #include <boost/numeric/bindings/lapack/lapack_names.h>
00019
00020 #ifndef BOOST_NUMERIC_BINDINGS_NO_STRUCTURE_CHECK
00021 # define BOOST_NUMERIC_BINDINGS_FORTRAN
00022 #endif
00023
00024 extern "C" {
00025
00026
00027
00028
00029
00030
00031
00032 void LAPACK_SGESV (int const* n, int const* nrhs,
00033 float* a, int const* lda, int* ipiv,
00034 float* b, int const* ldb, int* info);
00035 void LAPACK_DGESV (int const* n, int const* nrhs,
00036 double* a, int const* lda, int* ipiv,
00037 double* b, int const* ldb, int* info);
00038 void LAPACK_CGESV (int const* n, int const* nrhs,
00039 fcomplex_t* a, int const* lda, int* ipiv,
00040 fcomplex_t* b, int const* ldb, int* info);
00041 void LAPACK_ZGESV (int const* n, int const* nrhs,
00042 dcomplex_t* a, int const* lda, int* ipiv,
00043 dcomplex_t* b, int const* ldb, int* info);
00044
00045 void LAPACK_SGETRF (int const* n, int const* nrhs,
00046 float* a, int const* lda, int* ipiv, int* info);
00047 void LAPACK_DGETRF (int const* n, int const* nrhs,
00048 double* a, int const* lda, int* ipiv, int* info);
00049 void LAPACK_CGETRF (int const* n, int const* nrhs,
00050 fcomplex_t* a, int const* lda,
00051 int* ipiv, int* info);
00052 void LAPACK_ZGETRF (int const* n, int const* nrhs,
00053 dcomplex_t* a, int const* lda,
00054 int* ipiv, int* info);
00055
00056 void LAPACK_SGETRS (char const* trans, int const* n, int const* nrhs,
00057 float const* a, int const* lda, int const* ipiv,
00058 float* b, int const* ldb, int* info);
00059 void LAPACK_DGETRS (char const* trans, int const* n, int const* nrhs,
00060 double const* a, int const* lda, int const* ipiv,
00061 double* b, int const* ldb, int* info);
00062 void LAPACK_CGETRS (char const* trans, int const* n, int const* nrhs,
00063 fcomplex_t const* a, int const* lda, int const* ipiv,
00064 fcomplex_t* b, int const* ldb, int* info);
00065 void LAPACK_ZGETRS (char const* trans, int const* n, int const* nrhs,
00066 dcomplex_t const* a, int const* lda, int const* ipiv,
00067 dcomplex_t* b, int const* ldb, int* info);
00068
00069
00070
00071
00072 void LAPACK_SPOSV (char const* uplo, int const* n, int const* nrhs,
00073 float* a, int const* lda,
00074 float* b, int const* ldb, int* info);
00075 void LAPACK_DPOSV (char const* uplo, int const* n, int const* nrhs,
00076 double* a, int const* lda,
00077 double* b, int const* ldb, int* info);
00078 void LAPACK_CPOSV (char const* uplo, int const* n, int const* nrhs,
00079 fcomplex_t* a, int const* lda,
00080 fcomplex_t* b, int const* ldb, int* info);
00081 void LAPACK_ZPOSV (char const* uplo, int const* n, int const* nrhs,
00082 dcomplex_t* a, int const* lda,
00083 dcomplex_t* b, int const* ldb, int* info);
00084
00085 void LAPACK_SPOTRF (char const* uplo, int const* n,
00086 float* a, int const* lda, int* info);
00087 void LAPACK_DPOTRF (char const* uplo, int const* n,
00088 double* a, int const* lda, int* info);
00089 void LAPACK_CPOTRF (char const* uplo, int const* n,
00090 fcomplex_t* a, int const* lda, int* info);
00091 void LAPACK_ZPOTRF (char const* uplo, int const* n,
00092 dcomplex_t* a, int const* lda, int* info);
00093
00094 void LAPACK_SPOTRS (char const* uplo, int const* n, int const* nrhs,
00095 float const* a, int const* lda,
00096 float* b, int const* ldb, int* info);
00097 void LAPACK_DPOTRS (char const* uplo, int const* n, int const* nrhs,
00098 double const* a, int const* lda,
00099 double* b, int const* ldb, int* info);
00100 void LAPACK_CPOTRS (char const* uplo, int const* n, int const* nrhs,
00101 fcomplex_t const* a, int const* lda,
00102 fcomplex_t* b, int const* ldb, int* info);
00103 void LAPACK_ZPOTRS (char const* uplo, int const* n, int const* nrhs,
00104 dcomplex_t const* a, int const* lda,
00105 dcomplex_t* b, int const* ldb, int* info);
00106
00107
00108
00109
00110 void LAPACK_SPPSV (char const* uplo, int const* n, int const* nrhs,
00111 float* ap, float* b, int const* ldb, int* info);
00112 void LAPACK_DPPSV (char const* uplo, int const* n, int const* nrhs,
00113 double* ap, double* b, int const* ldb, int* info);
00114 void LAPACK_CPPSV (char const* uplo, int const* n, int const* nrhs,
00115 fcomplex_t* ap, fcomplex_t* b, int const* ldb, int* info);
00116 void LAPACK_ZPPSV (char const* uplo, int const* n, int const* nrhs,
00117 dcomplex_t* ap, dcomplex_t* b, int const* ldb, int* info);
00118
00119 void LAPACK_SPPTRF (char const* uplo, int const* n, float* ap, int* info);
00120 void LAPACK_DPPTRF (char const* uplo, int const* n, double* ap, int* info);
00121 void LAPACK_CPPTRF (char const* uplo, int const* n,
00122 fcomplex_t* ap, int* info);
00123 void LAPACK_ZPPTRF (char const* uplo, int const* n,
00124 dcomplex_t* ap, int* info);
00125
00126 void LAPACK_SPPTRS (char const* uplo, int const* n, int const* nrhs,
00127 float const* ap, float* b, int const* ldb, int* info);
00128 void LAPACK_DPPTRS (char const* uplo, int const* n, int const* nrhs,
00129 double const* ap, double* b, int const* ldb, int* info);
00130 void LAPACK_CPPTRS (char const* uplo, int const* n, int const* nrhs,
00131 fcomplex_t const* ap,
00132 fcomplex_t* b, int const* ldb, int* info);
00133 void LAPACK_ZPPTRS (char const* uplo, int const* n, int const* nrhs,
00134 dcomplex_t const* ap,
00135 dcomplex_t* b, int const* ldb, int* info);
00136
00137 void LAPACK_SPPTRI (char const* uplo, int const* n, float* ap, int* info);
00138 void LAPACK_DPPTRI (char const* uplo, int const* n, double* ap, int* info);
00139 void LAPACK_CPPTRI (char const* uplo, int const* n,
00140 fcomplex_t* ap, int* info);
00141 void LAPACK_ZPPTRI (char const* uplo, int const* n,
00142 dcomplex_t* ap, int* info);
00143
00144
00145
00146
00147 void LAPACK_SSYSV (char const* uplo, int const* n, int const* nrhs,
00148 float* a, int const* lda, int* ipiv,
00149 float* b, int const* ldb,
00150 float* w, int const* lw, int* info);
00151 void LAPACK_DSYSV (char const* uplo, int const* n, int const* nrhs,
00152 double* a, int const* lda, int* ipiv,
00153 double* b, int const* ldb,
00154 double* w, int const* lw, int* info);
00155 void LAPACK_CSYSV (char const* uplo, int const* n, int const* nrhs,
00156 fcomplex_t* a, int const* lda, int* ipiv,
00157 fcomplex_t* b, int const* ldb,
00158 fcomplex_t* w, int const* lw, int* info);
00159 void LAPACK_ZSYSV (char const* uplo, int const* n, int const* nrhs,
00160 dcomplex_t* a, int const* lda, int* ipiv,
00161 dcomplex_t* b, int const* ldb,
00162 dcomplex_t* w, int const* lw, int* info);
00163
00164 void LAPACK_CHESV (char const* uplo, int const* n, int const* nrhs,
00165 fcomplex_t* a, int const* lda, int* ipiv,
00166 fcomplex_t* b, int const* ldb,
00167 fcomplex_t* w, int const* lw, int* info);
00168 void LAPACK_ZHESV (char const* uplo, int const* n, int const* nrhs,
00169 dcomplex_t* a, int const* lda, int* ipiv,
00170 dcomplex_t* b, int const* ldb,
00171 dcomplex_t* w, int const* lw, int* info);
00172
00173 void LAPACK_SSYTRF (char const* uplo, int const* n,
00174 float* a, int const* lda, int* ipiv,
00175 float* w, int const* lw, int* info);
00176 void LAPACK_DSYTRF (char const* uplo, int const* n,
00177 double* a, int const* lda, int* ipiv,
00178 double* w, int const* lw, int* info);
00179 void LAPACK_CSYTRF (char const* uplo, int const* n,
00180 fcomplex_t* a, int const* lda, int* ipiv,
00181 fcomplex_t* w, int const* lw, int* info);
00182 void LAPACK_ZSYTRF (char const* uplo, int const* n,
00183 dcomplex_t* a, int const* lda, int* ipiv,
00184 dcomplex_t* w, int const* lw, int* info);
00185
00186 void LAPACK_CHETRF (char const* uplo, int const* n,
00187 fcomplex_t* a, int const* lda, int* ipiv,
00188 fcomplex_t* w, int const* lw, int* info);
00189 void LAPACK_ZHETRF (char const* uplo, int const* n,
00190 dcomplex_t* a, int const* lda, int* ipiv,
00191 dcomplex_t* w, int const* lw, int* info);
00192
00193 void LAPACK_SSYTRS (char const* uplo, int const* n, int const* nrhs,
00194 float const* a, int const* lda, int const* ipiv,
00195 float* b, int const* ldb, int* info);
00196 void LAPACK_DSYTRS (char const* uplo, int const* n, int const* nrhs,
00197 double const* a, int const* lda, int const* ipiv,
00198 double* b, int const* ldb, int* info);
00199 void LAPACK_CSYTRS (char const* uplo, int const* n, int const* nrhs,
00200 fcomplex_t const* a, int const* lda, int const* ipiv,
00201 fcomplex_t* b, int const* ldb, int* info);
00202 void LAPACK_ZSYTRS (char const* uplo, int const* n, int const* nrhs,
00203 dcomplex_t const* a, int const* lda, int const* ipiv,
00204 dcomplex_t* b, int const* ldb, int* info);
00205
00206 void LAPACK_CHETRS (char const* uplo, int const* n, int const* nrhs,
00207 fcomplex_t const* a, int const* lda, int const* ipiv,
00208 fcomplex_t* b, int const* ldb, int* info);
00209 void LAPACK_ZHETRS (char const* uplo, int const* n, int const* nrhs,
00210 dcomplex_t const* a, int const* lda, int const* ipiv,
00211 dcomplex_t* b, int const* ldb, int* info);
00212
00213
00214
00215
00216 void LAPACK_SSPSV (char const* uplo, int const* n, int const* nrhs,
00217 float* ap, int* ipiv,
00218 float* b, int const* ldb, int* info);
00219 void LAPACK_DSPSV (char const* uplo, int const* n, int const* nrhs,
00220 double* ap, int* ipiv,
00221 double* b, int const* ldb, int* info);
00222 void LAPACK_CSPSV (char const* uplo, int const* n, int const* nrhs,
00223 fcomplex_t* ap, int* ipiv,
00224 fcomplex_t* b, int const* ldb, int* info);
00225 void LAPACK_ZSPSV (char const* uplo, int const* n, int const* nrhs,
00226 dcomplex_t* ap, int* ipiv,
00227 dcomplex_t* b, int const* ldb, int* info);
00228
00229 void LAPACK_CHPSV (char const* uplo, int const* n, int const* nrhs,
00230 fcomplex_t* ap, int* ipiv,
00231 fcomplex_t* b, int const* ldb, int* info);
00232 void LAPACK_ZHPSV (char const* uplo, int const* n, int const* nrhs,
00233 dcomplex_t* ap, int* ipiv,
00234 dcomplex_t* b, int const* ldb, int* info);
00235
00236 void LAPACK_SSPTRF (char const* uplo, int const* n,
00237 float* ap, int* ipiv, int* info);
00238 void LAPACK_DSPTRF (char const* uplo, int const* n,
00239 double* ap, int* ipiv, int* info);
00240 void LAPACK_CSPTRF (char const* uplo, int const* n,
00241 fcomplex_t* ap, int* ipiv, int* info);
00242 void LAPACK_ZSPTRF (char const* uplo, int const* n,
00243 dcomplex_t* ap, int* ipiv, int* info);
00244
00245 void LAPACK_CHPTRF (char const* uplo, int const* n,
00246 fcomplex_t* ap, int* ipiv, int* info);
00247 void LAPACK_ZHPTRF (char const* uplo, int const* n,
00248 dcomplex_t* ap, int* ipiv, int* info);
00249
00250 void LAPACK_SSPTRS (char const* uplo, int const* n, int const* nrhs,
00251 float const* ap, int const* ipiv,
00252 float* b, int const* ldb, int* info);
00253 void LAPACK_DSPTRS (char const* uplo, int const* n, int const* nrhs,
00254 double const* ap, int const* ipiv,
00255 double* b, int const* ldb, int* info);
00256 void LAPACK_CSPTRS (char const* uplo, int const* n, int const* nrhs,
00257 fcomplex_t const* ap, int const* ipiv,
00258 fcomplex_t* b, int const* ldb, int* info);
00259 void LAPACK_ZSPTRS (char const* uplo, int const* n, int const* nrhs,
00260 dcomplex_t const* ap, int const* ipiv,
00261 dcomplex_t* b, int const* ldb, int* info);
00262
00263 void LAPACK_CHPTRS (char const* uplo, int const* n, int const* nrhs,
00264 fcomplex_t const* ap, int const* ipiv,
00265 fcomplex_t* b, int const* ldb, int* info);
00266 void LAPACK_ZHPTRS (char const* uplo, int const* n, int const* nrhs,
00267 dcomplex_t const* ap, int const* ipiv,
00268 dcomplex_t* b, int const* ldb, int* info);
00269
00270
00271
00272
00273
00274
00275 void LAPACK_SGEES (const char* jobvs, const char* sort, logical_t* select, const int* n,
00276 float* a, const int * lda, const int* sdim, float* wr, float* wi,
00277 float* vs, const int * ldvs, float* work, const int * lwork,
00278 bool* bwork, int* info);
00279
00280 void LAPACK_DGEES (const char* jobvs, const char* sort, logical_t* select, const int* n,
00281 double* a, const int * lda, const int* sdim, double* wr, double* wi,
00282 double* vs, const int * ldvs, double* work, const int * lwork,
00283 bool* bwork, int* info);
00284
00285 void LAPACK_CGEES( const char* jobvs, const char* sort, logical_t* select, const int *n,
00286 fcomplex_t* a, const int * lda, int * sdim, fcomplex_t* w, fcomplex_t* vs,
00287 const int * ldvs, fcomplex_t* work, const int * lwork, float* rwork,
00288 bool* bwork, int* info );
00289
00290 void LAPACK_ZGEES( const char* jobvs, const char* sort, const logical_t* select, const int *n,
00291 dcomplex_t* a, const int * lda, int * sdim, dcomplex_t* w, dcomplex_t* vs,
00292 const int * ldvs, dcomplex_t* work, const int * lwork, double* rwork,
00293 bool* bwork, int* info );
00294
00295
00296 void LAPACK_SGEEV( const char* jobvl, const char* jobvr, const int* n, float* a,
00297 const int* lda, float* wr, float* wi, float* vl, const int* ldvl,
00298 float* vr, const int* ldvr, float* work, const int* lwork, int* info );
00299
00300 void LAPACK_DGEEV( const char* jobvl, const char* jobvr, const int* n, double* a,
00301 const int* lda, double* wr, double* wi, double* vl, const int* ldvl,
00302 double* vr, const int* ldvr, double* work, const int* lwork, int* info );
00303
00304 void LAPACK_CGEEV( const char* jobvl, const char* jobvr, const int* n, fcomplex_t* a,
00305 const int* lda, fcomplex_t* w, fcomplex_t* vl, const int* ldvl,
00306 fcomplex_t* vr, const int* ldvr, fcomplex_t* work, const int* lwork,
00307 float* rwork, int* info );
00308
00309 void LAPACK_ZGEEV( const char* jobvl, const char* jobvr, const int* n, dcomplex_t* a,
00310 const int* lda, dcomplex_t* w, dcomplex_t* vl, const int* ldvl,
00311 dcomplex_t* vr, const int* ldvr, dcomplex_t* work, const int* lwork,
00312 double* rwork, int* info );
00313
00314
00315 void LAPACK_SSYEV( const char* jobz, const char* uplo, const int *n,
00316 float* a, const int * lda, float* w,
00317 float* work, const int * lwork, int* info );
00318
00319 void LAPACK_DSYEV( const char* jobz, const char* uplo, const int *n,
00320 double* a, const int * lda, double* w,
00321 double* work, const int * lwork, int* info );
00322
00323 void LAPACK_CHEEV( const char* jobz, const char* uplo, const int *n,
00324 fcomplex_t* a, const int * lda, float* w,
00325 fcomplex_t* work, const int * lwork, float* rwork,
00326 int* info );
00327
00328 void LAPACK_ZHEEV( const char* jobz, const char* uplo, const int *n,
00329 dcomplex_t* a, const int * lda, double* w,
00330 dcomplex_t* work, const int * lwork, double* rwork,
00331 int* info );
00332
00333
00334 void LAPACK_SSYEVD( const char* jobz, const char* uplo, const int* n,
00335 float* a, const int* lda, float* w,
00336 float* work, const int* lwork,
00337 int* iwork, const int* liwork, int* info);
00338
00339 void LAPACK_DSYEVD( const char* jobz, const char* uplo, const int* n,
00340 double* a, const int* lda, double* w,
00341 double* work, const int* lwork,
00342 int* iwork, const int* liwork, int* info);
00343
00344 void LAPACK_CHEEVD( const char* jobz, const char* uplo, const int* n,
00345 fcomplex_t* a, const int* lda, float* w,
00346 fcomplex_t* work, const int* lwork, float* rwork, const int* lrwork,
00347 int* iwork, const int* liwork, int* info);
00348
00349 void LAPACK_ZHEEVD( const char* jobz, const char* uplo, const int* n,
00350 dcomplex_t* a, const int* lda, double* w,
00351 dcomplex_t* work, const int* lwork, double* rwork, const int* lrwork,
00352 int* iwork, const int* liwork, int* info);
00353
00354
00355 void LAPACK_SSYEVX( const char* jobz, const char* range, const char* uplo, const int* n,
00356 float* a, const int* lda, const float* vl, const float* vu, const int* il, const int* iu,
00357 const float* abstol, int* m, float* w, float* z, const int* ldz,
00358 float* work, const int* lwork,
00359 int* iwork, int* ifail, int* info);
00360
00361 void LAPACK_DSYEVX( const char* jobz, const char* range, const char* uplo, const int* n,
00362 double* a, const int* lda, const double* vl, const double* vu, const int* il, const int* iu,
00363 const double* abstol, int* m, double* w, double* z, const int* ldz,
00364 double* work, const int* lwork,
00365 int* iwork, int* ifail, int* info);
00366
00367 void LAPACK_CHEEVX( const char* jobz, const char* range, const char* uplo, const int* n,
00368 fcomplex_t* a, const int* lda, const float* vl, const float* vu, const int* il, const int* iu,
00369 const float* abstol, int* m, float* w, fcomplex_t* z, const int* ldz,
00370 fcomplex_t* work, const int* lwork, float* rwork,
00371 int* iwork, int* ifail, int* info);
00372
00373 void LAPACK_ZHEEVX( const char* jobz, const char* range, const char* uplo, const int* n,
00374 dcomplex_t* a, const int* lda, const double* vl, const double* vu, const int* il, const int* iu,
00375 const double* abstol, int* m, double* w, dcomplex_t* z, const int* ldz,
00376 dcomplex_t* work, const int* lwork, double* rwork,
00377 int* iwork, int* ifail, int* info);
00378
00379
00380 void LAPACK_CTREVC( const char* side, const char* howmny, const logical_t* select, const int *n,
00381 fcomplex_t* t, const int * ldt, fcomplex_t* vl, const int* ldvl,
00382 fcomplex_t* vr, const int * ldvr, const int * nm, int* m, fcomplex_t* work,
00383 float* rwork, int* info );
00384
00385 void LAPACK_ZTREVC( const char* side, const char* howmny, const logical_t* select, const int *n,
00386 dcomplex_t* t, const int * ldt, dcomplex_t* vl, const int* ldvl,
00387 dcomplex_t* vr, const int * ldvr, const int * nm, int* m, dcomplex_t* work,
00388 double* rwork, int* info );
00389
00390 void LAPACK_STREVC( const char* side, const char* howmny, const logical_t* select, const int *n,
00391 float* t, const int * ldt, float* vl, const int* ldvl,
00392 float* vr, const int * ldvr, const int * nm, int* m, float* work,
00393 int* info );
00394
00395 void LAPACK_DTREVC( const char* side, const char* howmny, const logical_t* select, const int *n,
00396 double* t, const int * ldt, double* vl, const int* ldvl,
00397 double* vr, const int * ldvr, const int * nm, int* m, double* work,
00398 int* info );
00399
00400
00401 void LAPACK_STREXC( const char* compq, const int *n,
00402 float* t, const int * ldt, float* q, const int* ldq,
00403 int* ifst, const int * ilst, float* work, int* info );
00404
00405 void LAPACK_DTREXC( const char* compq, const int *n,
00406 double* t, const int * ldt, double* q, const int* ldq,
00407 int* ifst, const int * ilst, double* work, int* info );
00408
00409 void LAPACK_CTREXC( const char* compq, const int *n,
00410 fcomplex_t* t, const int * ldt, fcomplex_t* q, const int* ldq,
00411 int* ifst, const int * ilst, int* info );
00412
00413 void LAPACK_ZTREXC( const char* compq, const int *n,
00414 dcomplex_t* t, const int * ldt, dcomplex_t* q, const int* ldq,
00415 int* ifst, const int * ilst, int* info );
00416
00417
00418
00419 void LAPACK_SHSEQR( const char* JOB, const char* COMPZ, const int* N, const int* ILO, const int* IHI, float* H,
00420 const int* LDH, float* WR, float* WI, float* Z, int const* LDZ,
00421 float* WORK, const int* LWORK, int* INFO ) ;
00422
00423 void LAPACK_CHSEQR( const char* JOB, const char* COMPZ, const int* N, const int* ILO, const int* IHI, fcomplex_t* H,
00424 const int* LDH, fcomplex_t* W, fcomplex_t* Z, int const* LDZ,
00425 fcomplex_t* WORK, const int* LWORK, int* INFO ) ;
00426
00427 void LAPACK_DHSEQR( const char* JOB, const char* COMPZ, const int* N, const int* ILO, const int* IHI, double* H,
00428 const int* LDH, double* WR, double* WI, double* Z, int const* LDZ,
00429 double* WORK, const int* LWORK, int* INFO ) ;
00430
00431 void LAPACK_ZHSEQR( const char* JOB, const char* COMPZ, const int* N, const int* ILO, const int* IHI, dcomplex_t* H,
00432 const int* LDH, dcomplex_t* W, dcomplex_t* Z, int const* LDZ,
00433 dcomplex_t* WORK, const int* LWORK, int* INFO ) ;
00434
00435
00436
00437 void LAPACK_SSTEQR( char const* compz, int const* n, float* d, float* E, float* z, int const* ldz, float* work, int* info ) ;
00438 void LAPACK_DSTEQR( char const* compz, int const* n, double* d, double* E, double* z, int const* ldz, double* work, int* info ) ;
00439
00440
00441
00442 void LAPACK_SSBEV( char const* jobz, char const* uplo, int const* n,
00443 int const* kd, float* ab, int const* ldab, float* w,
00444 float* z, int const* ldz, float* work, int* info );
00445
00446 void LAPACK_DSBEV( char const* jobz, char const* uplo, int const* n,
00447 int const* kd, double* ab, int const* ldab, double* w,
00448 double* z, int const* ldz, double* work, int* info );
00449
00450 void LAPACK_CHBEV( char const* jobz, char const* uplo, int const* n,
00451 int const* kd, fcomplex_t* ab, int const* ldab, float* w,
00452 fcomplex_t* z, int const* ldz, fcomplex_t* work,
00453 float* rwork, int* info );
00454
00455 void LAPACK_ZHBEV( char const* jobz, char const* uplo, int const* n,
00456 int const* kd, dcomplex_t* ab, int const* ldab, double* w,
00457 dcomplex_t* z, int const* ldz, dcomplex_t* work,
00458 double* rwork, int* info );
00459
00460
00461 void LAPACK_SSBEVX( char const* jobz, char const* range, char const* uplo, int const* n,
00462 int const* kd, float* ab, int const* ldab, float* q, int const* ldq,
00463 const float* vl, const float* vu, const int* il, const int* iu,
00464 const float* abstol, int* m,
00465 float* w, float* z, int const* ldz, float* work,
00466 int* iwork, int* ifail, int* info );
00467
00468 void LAPACK_DSBEVX( char const* jobz, char const* range, char const* uplo, int const* n,
00469 int const* kd, double* ab, int const* ldab, double* q, int const* ldq,
00470 const double* vl, const double* vu, const int* il, const int* iu,
00471 const double* abstol, int* m,
00472 double* w, double* z, int const* ldz, double* work,
00473 int* iwork, int* ifail, int* info );
00474
00475 void LAPACK_CHBEVX( char const* jobz, char const* range, char const* uplo, int const* n,
00476 int const* kd, fcomplex_t* ab, int const* ldab, fcomplex_t* q, int const* ldq,
00477 const float* vl, const float* vu, const int* il, const int* iu,
00478 const float* abstol, int* m,
00479 float* w, fcomplex_t* z, int const* ldz, fcomplex_t* work, float* rwork,
00480 int* iwork, int* ifail, int* info );
00481
00482 void LAPACK_ZHBEVX( char const* jobz, char const* range, char const* uplo, int const* n,
00483 int const* kd, dcomplex_t* ab, int const* ldab, dcomplex_t* q, int const* ldq,
00484 const double* vl, const double* vu, const int* il, const int* iu,
00485 const double* abstol, int* m,
00486 double* w, dcomplex_t* z, int const* ldz, dcomplex_t* work, double* rwork,
00487 int* iwork, int* ifail, int* info );
00488
00489
00490
00491
00492
00493
00494 void LAPACK_SSYTRD( char const* uplo, int const* n, float* a, int const* lda, float* d,
00495 float* e, float* tau, float* work, int const* lwork, int* INFO ) ;
00496
00497 void LAPACK_DSYTRD( char const* uplo, int const* n, double* a, int const* lda, double* d,
00498 double* e, double* tau, double* work, int const* lwork, int* INFO ) ;
00499
00500
00501
00502
00503
00504 void LAPACK_SGESVD (char const* jobu, char const* jobvt,
00505 int const* m, int const* n, float* a, int const* lda,
00506 float* s, float* u, int const* ldu,
00507 float* vt, int const* ldvt,
00508 float* work, int const* lwork, int* info);
00509 void LAPACK_DGESVD (char const* jobu, char const* jobvt,
00510 int const* m, int const* n, double* a, int const* lda,
00511 double* s, double* u, int const* ldu,
00512 double* vt, int const* ldvt,
00513 double* work, int const* lwork, int* info);
00514 void LAPACK_CGESVD (char const* jobu, char const* jobvt,
00515 int const* m, int const* n,
00516 fcomplex_t* a, int const* lda,
00517 float* s, fcomplex_t* u, int const* ldu,
00518 fcomplex_t* vt, int const* ldvt,
00519 fcomplex_t* work, int const* lwork,
00520 float* rwork, int* info);
00521 void LAPACK_ZGESVD (char const* jobu, char const* jobvt,
00522 int const* m, int const* n,
00523 dcomplex_t* a, int const* lda,
00524 double* s, dcomplex_t* u, int const* ldu,
00525 dcomplex_t* vt, int const* ldvt,
00526 dcomplex_t* work, int const* lwork,
00527 double* rwork, int* info);
00528
00529 void LAPACK_SGESDD (char const* jobz, int const* m, int const* n,
00530 float* a, int const* lda,
00531 float* s, float* u, int const* ldu,
00532 float* vt, int const* ldvt,
00533 float* work, int const* lwork, int* iwork, int* info);
00534 void LAPACK_DGESDD (char const* jobz, int const* m, int const* n,
00535 double* a, int const* lda,
00536 double* s, double* u, int const* ldu,
00537 double* vt, int const* ldvt,
00538 double* work, int const* lwork, int* iwork, int* info);
00539 void LAPACK_CGESDD (char const* jobz, int const* m, int const* n,
00540 fcomplex_t* a, int const* lda,
00541 float* s, fcomplex_t* u, int const* ldu,
00542 fcomplex_t* vt, int const* ldvt,
00543 fcomplex_t* work, int const* lwork,
00544 float* rwork, int* iwork, int* info);
00545 void LAPACK_ZGESDD (char const* jobz, int const* m, int const* n,
00546 dcomplex_t* a, int const* lda,
00547 double* s, dcomplex_t* u, int const* ldu,
00548 dcomplex_t* vt, int const* ldvt,
00549 dcomplex_t* work, int const* lwork,
00550 double* rwork, int* iwork, int* info);
00551
00552
00553
00554
00555
00556
00557 void LAPACK_SGEQRF( const int* m, const int* n, float* a, const int* lda,
00558 float* tau, float* work, const int* lwork, int* info );
00559 void LAPACK_DGEQRF( const int* m, const int* n, double* a, const int* lda,
00560 double* tau, double* work, const int* lwork, int* info );
00561 void LAPACK_CGEQRF( const int* m, const int* n, fcomplex_t* a, const int* lda,
00562 fcomplex_t* tau, fcomplex_t* work, const int* lwork, int* info );
00563 void LAPACK_ZGEQRF( const int* m, const int* n, dcomplex_t* a, const int* lda,
00564 dcomplex_t* tau, dcomplex_t* work, const int* lwork, int* info );
00565
00566
00567
00568 void LAPACK_SORMQR( const char* side, const char* trans, const int* m,
00569 const int* n, const int* k, const float* a,
00570 const int* lda, const float* tau,
00571 float* c, const int* ldc, float* work,
00572 const int* lwork, int* info );
00573 void LAPACK_DORMQR( const char* side, const char* trans, const int* m,
00574 const int* n, const int* k, const double* a,
00575 const int* lda, const double* tau,
00576 double* c, const int* ldc, double* work,
00577 const int* lwork, int* info );
00578 void LAPACK_CUNMQR( const char* side, const char* trans, const int* m,
00579 const int* n, const int* k, const fcomplex_t* a,
00580 const int* lda, const fcomplex_t* tau,
00581 fcomplex_t* c, const int* ldc, fcomplex_t* work,
00582 const int* lwork, int* info );
00583 void LAPACK_ZUNMQR( const char* side, const char* trans, const int* m,
00584 const int* n, const int* k, const dcomplex_t* a,
00585 const int* lda, const dcomplex_t* tau,
00586 dcomplex_t* c, const int* ldc, dcomplex_t* work,
00587 const int* lwork, int* info );
00588
00589 void LAPACK_SORGQR( const int* m, const int* n, const int* k,
00590 float* a, const int* lda, float* tau,
00591 float* work, const int* lwork, const int* info);
00592 void LAPACK_DORGQR( const int* m, const int* n, const int* k,
00593 double* a, const int* lda, double* tau,
00594 double* work, const int* lwork, const int* info);
00595 void LAPACK_CUNGQR( const int* m, const int* n, const int* k,
00596 fcomplex_t* a, const int* lda, fcomplex_t* tau,
00597 fcomplex_t* work, const int* lwork, const int* info);
00598 void LAPACK_ZUNGQR( const int* m, const int* n, const int* k,
00599 dcomplex_t* a, const int* lda, dcomplex_t* tau,
00600 dcomplex_t* work, const int* lwork, const int* info);
00601
00602
00603
00604
00605
00606
00607
00608 int LAPACK_ILAENV (int const* ispec, const char* name, const char* opt,
00609 int const* n1, int const* n2, int const* n3,
00610 int const* n4, int, int);
00611
00612 }
00613
00614 #endif