00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #ifndef ARPACK_H_
00012 #define ARPACK_H_
00013 #include <shogun/lib/config.h>
00014 #ifdef HAVE_ARPACK
00015 #ifdef HAVE_LAPACK
00016 #include <cblas.h>
00017 #include <shogun/io/SGIO.h>
00018
00020 extern "C" void dsaupd_(int *ido, char *bmat, int *n, char *which,
00021 int *nev, double *tol, double *resid, int *ncv,
00022 double *v, int *ldv, int *iparam, int *ipntr,
00023 double *workd, double *workl, int *lworkl,
00024 int *info);
00025
00027 extern "C" void dseupd_(int *rvec, char *All, int *select, double *d,
00028 double *v, int *ldv, double *sigma,
00029 char *bmat, int *n, char *which, int *nev,
00030 double *tol, double *resid, int *ncv, double *tv,
00031 int *tldv, int *iparam, int *ipntr, double *workd,
00032 double *workl, int *lworkl, int *ierr);
00033 namespace shogun
00034 {
00035
00072 void arpack_dsaeupd_wrap(double* matrix, double* rhs_diag, int n, int nev, const char* which,
00073 int mode, bool pos, double shift, double tolerance,
00074 double* eigenvalues, double* eigenvectors, int& status);
00075 }
00076 #endif
00077 #endif
00078 #endif
00079