Purification_sp2acc is a class which provides an interface for SP2ACC recursive expansion. More...
#include <purification_sp2acc.h>
Public Types | |
typedef PurificationGeneral < MatrixType >::real | real |
typedef PurificationGeneral < MatrixType >::IntervalType | IntervalType |
typedef PurificationGeneral < MatrixType >::NormType | NormType |
typedef PurificationGeneral < MatrixType >::VectorTypeInt | VectorTypeInt |
typedef PurificationGeneral < MatrixType >::VectorTypeReal | VectorTypeReal |
typedef generalVector | VectorType |
Public Member Functions | |
Purification_sp2acc () | |
virtual void | set_init_params () |
virtual void | get_poly (const int it, int &poly, real &alpha) |
virtual void | set_poly (const int it) |
virtual void | truncate_matrix (real &threshold, int it) |
virtual void | estimate_number_of_iterations (int &numit) |
virtual void | purify_X (const int it) |
virtual void | purify_bounds (const int it) |
virtual void | save_other_iter_info (IterationInfo &iter_info, int it) |
virtual void | apply_inverse_poly_vector (const int it, VectorTypeReal &bounds_from_it) |
virtual void | return_constant_C (const int it, real &Cval) |
virtual real | apply_poly (const int it, real x) |
virtual void | apply_poly_to_eigs (const int it, real &homo, real &lumo) |
virtual real | compute_derivative (const int it, real x, real &DDf) |
Public Attributes | |
VectorTypeReal | VecAlpha |
Static Public Attributes | |
static const real | deltaTurnOffAcc = 0.01 |
Purification_sp2acc is a class which provides an interface for SP2ACC recursive expansion.
MatrixType | Type of a matrix (ex. symmMatrix). |
typedef PurificationGeneral<MatrixType>::IntervalType Purification_sp2acc< MatrixType >::IntervalType |
Reimplemented from PurificationGeneral< MatrixType >.
typedef PurificationGeneral<MatrixType>::NormType Purification_sp2acc< MatrixType >::NormType |
Reimplemented from PurificationGeneral< MatrixType >.
typedef PurificationGeneral<MatrixType>::real Purification_sp2acc< MatrixType >::real |
Reimplemented from PurificationGeneral< MatrixType >.
typedef generalVector Purification_sp2acc< MatrixType >::VectorType |
Reimplemented from PurificationGeneral< MatrixType >.
typedef PurificationGeneral<MatrixType>::VectorTypeInt Purification_sp2acc< MatrixType >::VectorTypeInt |
Reimplemented from PurificationGeneral< MatrixType >.
typedef PurificationGeneral<MatrixType>::VectorTypeReal Purification_sp2acc< MatrixType >::VectorTypeReal |
Reimplemented from PurificationGeneral< MatrixType >.
Purification_sp2acc< MatrixType >::Purification_sp2acc | ( | ) | [inline] |
void Purification_sp2acc< MatrixType >::apply_inverse_poly_vector | ( | const int | it, | |
VectorTypeReal & | bounds_from_it | |||
) | [inline, virtual] |
Implements PurificationGeneral< MatrixType >.
References Purification_sp2acc< MatrixType >::get_poly(), and template_blas_sqrt().
Purification_sp2acc< MatrixType >::real Purification_sp2acc< MatrixType >::apply_poly | ( | const int | it, | |
real | x | |||
) | [inline, virtual] |
Implements PurificationGeneral< MatrixType >.
References Purification_sp2acc< MatrixType >::get_poly().
void Purification_sp2acc< MatrixType >::apply_poly_to_eigs | ( | const int | it, | |
real & | homo, | |||
real & | lumo | |||
) | [inline, virtual] |
Implements PurificationGeneral< MatrixType >.
References Purification_sp2acc< MatrixType >::get_poly().
Purification_sp2acc< MatrixType >::real Purification_sp2acc< MatrixType >::compute_derivative | ( | const int | it, | |
real | x, | |||
real & | DDf | |||
) | [inline, virtual] |
Implements PurificationGeneral< MatrixType >.
References Purification_sp2acc< MatrixType >::get_poly().
void Purification_sp2acc< MatrixType >::estimate_number_of_iterations | ( | int & | numit | ) | [inline, virtual] |
Implements PurificationGeneral< MatrixType >.
References PurificationGeneral< MatrixType >::additional_iterations, PurificationGeneral< MatrixType >::check_stopping_criterion_iter, Purification_sp2acc< MatrixType >::deltaTurnOffAcc, do_output(), mat::frobNorm, PurificationGeneral< MatrixType >::get_epsilon(), PurificationGeneral< MatrixType >::homo_bounds, LOG_AREA_DENSFROMF, LOG_CAT_INFO, mat::Interval< Treal >::low(), PurificationGeneral< MatrixType >::lumo_bounds, PurificationGeneral< MatrixType >::maxit, PurificationGeneral< MatrixType >::normPuriStopCrit, mat::Interval< Treal >::upp(), Purification_sp2acc< MatrixType >::VecAlpha, PurificationGeneral< MatrixType >::VecGap, and PurificationGeneral< MatrixType >::VecPoly.
void Purification_sp2acc< MatrixType >::get_poly | ( | const int | it, | |
int & | poly, | |||
real & | alpha | |||
) | [inline, virtual] |
References Purification_sp2acc< MatrixType >::VecAlpha, and PurificationGeneral< MatrixType >::VecPoly.
Referenced by Purification_sp2acc< MatrixType >::apply_inverse_poly_vector(), Purification_sp2acc< MatrixType >::apply_poly(), Purification_sp2acc< MatrixType >::apply_poly_to_eigs(), Purification_sp2acc< MatrixType >::compute_derivative(), Purification_sp2acc< MatrixType >::purify_bounds(), and Purification_sp2acc< MatrixType >::purify_X().
void Purification_sp2acc< MatrixType >::purify_bounds | ( | const int | it | ) | [inline, virtual] |
Implements PurificationGeneral< MatrixType >.
References do_output(), mat::Interval< Treal >::empty(), Purification_sp2acc< MatrixType >::get_poly(), PurificationGeneral< MatrixType >::homo_bounds, mat::Interval< Treal >::intersect(), LOG_AREA_DENSFROMF, LOG_CAT_INFO, mat::Interval< Treal >::low(), PurificationGeneral< MatrixType >::lumo_bounds, mat::Interval< Treal >::upp(), and PurificationGeneral< MatrixType >::VecPoly.
void Purification_sp2acc< MatrixType >::purify_X | ( | const int | it | ) | [inline, virtual] |
void Purification_sp2acc< MatrixType >::return_constant_C | ( | const int | it, | |
real & | Cval | |||
) | [inline, virtual] |
void Purification_sp2acc< MatrixType >::save_other_iter_info | ( | IterationInfo & | iter_info, | |
int | it | |||
) | [inline, virtual] |
virtual void Purification_sp2acc< MatrixType >::set_init_params | ( | ) | [inline, virtual] |
Implements PurificationGeneral< MatrixType >.
References PurificationGeneral< MatrixType >::check_stopping_criterion_iter, do_output(), PurificationGeneral< MatrixType >::gammaStopEstim, PurificationGeneral< MatrixType >::info, LOG_AREA_DENSFROMF, LOG_CAT_INFO, PuriInfo::method, and template_blas_sqrt().
void Purification_sp2acc< MatrixType >::set_poly | ( | const int | it | ) | [inline, virtual] |
References PurificationGeneral< MatrixType >::check_stopping_criterion_iter, Purification_sp2acc< MatrixType >::deltaTurnOffAcc, do_output(), PurificationGeneral< MatrixType >::homo_bounds, LOG_AREA_DENSFROMF, LOG_CAT_INFO, mat::Interval< Treal >::low(), PurificationGeneral< MatrixType >::lumo_bounds, PurificationGeneral< MatrixType >::nocc, template_blas_fabs(), mat::Interval< Treal >::upp(), Purification_sp2acc< MatrixType >::VecAlpha, PurificationGeneral< MatrixType >::VecPoly, PurificationGeneral< MatrixType >::X, and PurificationGeneral< MatrixType >::Xsq.
Referenced by Purification_sp2acc< MatrixType >::purify_X().
void Purification_sp2acc< MatrixType >::truncate_matrix | ( | real & | threshold, | |
int | it | |||
) | [inline, virtual] |
const Purification_sp2acc< MatrixType >::real Purification_sp2acc< MatrixType >::deltaTurnOffAcc = 0.01 [inline, static] |
VectorTypeReal Purification_sp2acc< MatrixType >::VecAlpha |