#include <sstream>
#include <cmath>
#include "simple_purification.h"
#include "output.h"
#include "utilities.h"
Typedefs | |
typedef mat::Interval< ergo_real > | intervalType |
Functions | |
void | simple_purification (symmMatrix const &F_ort, int const noOfOccupiedOrbs, intervalType const &allEigsInterval, ergo_real const threshold, ergo_real const conv_crit_frob_norm_diff, int const maxiter, symmMatrix &X, int &iter, std::vector< double > &wall_seconds, std::vector< size_t > &nnz_X, std::vector< size_t > &nnz_X2) |
static void | get_E_norm_and_sin_theta (symmMatrix const &X, int const noOfOccupiedOrbs, intervalType const &allEigsInterval, symmMatrix const &D_exact, ergo_real threshold, double &E_norm, double &sin_theta) |
static void | output_m_vector (std::vector< double > const &v, std::string const &s, int n, std::ofstream &ff) |
void | run_comparison_to_simple_purification (symmMatrix const &F_ort, int const noOfOccupiedOrbs, intervalType const &allEigsInterval, symmMatrix const &D_ort, int const globalCounter) |
typedef mat::Interval<ergo_real> intervalType |
static void get_E_norm_and_sin_theta | ( | symmMatrix const & | X, | |
int const | noOfOccupiedOrbs, | |||
intervalType const & | allEigsInterval, | |||
symmMatrix const & | D_exact, | |||
ergo_real | threshold, | |||
double & | E_norm, | |||
double & | sin_theta | |||
) | [static] |
static void output_m_vector | ( | std::vector< double > const & | v, | |
std::string const & | s, | |||
int | n, | |||
std::ofstream & | ff | |||
) | [static] |
Referenced by run_comparison_to_simple_purification().
void run_comparison_to_simple_purification | ( | symmMatrix const & | F_ort, | |
int const | noOfOccupiedOrbs, | |||
intervalType const & | allEigsInterval, | |||
symmMatrix const & | D_ort, | |||
int const | globalCounter | |||
) |
void simple_purification | ( | symmMatrix const & | F_ort, | |
int const | noOfOccupiedOrbs, | |||
intervalType const & | allEigsInterval, | |||
ergo_real const | threshold, | |||
ergo_real const | conv_crit_frob_norm_diff, | |||
int const | maxiter, | |||
symmMatrix & | X, | |||
int & | iter, | |||
std::vector< double > & | wall_seconds, | |||
std::vector< size_t > & | nnz_X, | |||
std::vector< size_t > & | nnz_X2 | |||
) |
References mat::MatrixBase< Treal, Tmatrix >::add_identity(), mat::MatrixSymmetric< Treal, Tmatrix >::frob_diff(), mat::Interval< Treal >::low(), mat::MatrixSymmetric< Treal, Tmatrix >::nnz(), mat::MatrixSymmetric< Treal, Tmatrix >::simple_blockwise_frob_thresh(), mat::MatrixBase< Treal, Tmatrix >::trace(), mat::MatrixSymmetric< Treal, Tmatrix >::transfer(), and mat::Interval< Treal >::upp().
Referenced by get_E_norm_and_sin_theta(), and run_comparison_to_simple_purification().