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 |
1.6.1