38#ifndef MAT_MATRIXTRIDIAGSYMMETRIC
39#define MAT_MATRIXTRIDIAGSYMMETRIC
46 template<
typename Treal>
95 template<
typename Treal>
103 Treal const absTol)
const {
108 int*
iwork =
new int[5 * size];
109 int*
ifail =
new int[size];
138 template<
typename Treal>
193 std::cout <<
"info = " << info <<std::endl;
210 int*
iwork =
new int[5 * size];
211 int*
ifail =
new int[size];
259 for(
int j = 0; j < size; j++)
279 template<
typename Treal>
Tridiagonal symmetric matrix class template.
Definition MatrixTridiagSymmetric.h:47
void clear()
Definition MatrixTridiagSymmetric.h:83
int size
Definition MatrixTridiagSymmetric.h:89
MatrixTridiagSymmetric(int k=100)
Definition MatrixTridiagSymmetric.h:49
void increase(Treal const &alpha, Treal const &beta)
Definition MatrixTridiagSymmetric.h:52
void getEigsByIndex(Treal *eigVals, Treal *eigVectors, Treal *acc, int const lowInd, int const uppInd, Treal const abstol=0) const
Definition MatrixTridiagSymmetric.h:140
void getEigsByInterval(Treal *eigVals, Treal *eigVectors, Treal *acc, int &nEigsFound, Treal const lowBound, Treal const uppBound, Treal const abstol=0) const
Definition MatrixTridiagSymmetric.h:97
void increaseCapacity(int const newCapacity)
Definition MatrixTridiagSymmetric.h:281
Treal * betaVec
Definition MatrixTridiagSymmetric.h:88
virtual ~MatrixTridiagSymmetric()
Definition MatrixTridiagSymmetric.h:59
Treal * alphaVec
Definition MatrixTridiagSymmetric.h:87
int capacity
Definition MatrixTridiagSymmetric.h:90
void update_beta(Treal const &beta)
Definition MatrixTridiagSymmetric.h:65
C++ interface to a subset of BLAS and LAPACK.
Definition allocate.cc:39
static void stevr(const char *jobz, const char *range, const int *n, T *d, T *e, const T *vl, const T *vu, const int *il, const int *iu, const T *abstol, int *m, T *w, T *z, const int *ldz, int *isuppz, T *work, int *lwork, int *iwork, int *liwork, int *info)
Definition mat_gblas.h:369
static void stevx(const char *jobz, const char *range, const int *n, T *d, T *e, const T *vl, const T *vu, const int *il, const int *iu, const T *abstol, int *m, T *w, T *z, const int *ldz, T *work, int *iwork, int *ifail, int *info)
Definition mat_gblas.h:358
static Treal getMachineEpsilon()
Definition matInclude.h:147
Treal template_blas_fabs(Treal x)