densfromf_general.cc File Reference

Routine get_dens_from_fock_general() for getting density matrix from a given Fock matrix. More...

#include "densfromf_general.h"
#include "densfromf_sparse.h"
#include "densfromf_full.h"
#include "output.h"
#include "utilities.h"

Functions

int get_dens_from_fock_general (int n, int noOfOccupiedOrbs, int use_diagonalization, int use_diag_on_error, ergo_real electronicTemperature, symmMatrix &resultDens, ergo_real factor, symmMatrix &Finput, intervalType &homoInterval_Finput, intervalType &lumoInterval_Finput, symmMatrix &overlapMatrix, triangMatrix const &invCholFactor, ergo_real invCholFactor_euclnorm, ergo_real gap_expected_lower_bound, mat::SizesAndBlocks const &matrixSizesAndBlocks, symmMatrix &F_ort_prev, intervalType &homoInterval_F_ort_prev, intervalType &lumoInterval_F_ort_prev, ergo_real eigvalueErrorLimit, ergo_real subspaceErrorLimit, mat::normType const truncationNormPurification, int maxMul, int create_m_files, int ignore_purification_failure, int use_rand_perturbation_for_alleigsint, std::string stats_prefix, std::map< std::string, double > &puri_stats, int do_sparsity_investigation, int sparsity_plots_resolution_m, int do_comparison_to_simple_purification, generalVector *eigVecLUMO, generalVector *eigVecHOMO)


Detailed Description

Routine get_dens_from_fock_general() for getting density matrix from a given Fock matrix.

This routine calls either get_dens_from_fock_sparse() or get_dens_from_fock_full().

Author:
: Elias Rudberg responsible.

Function Documentation

int get_dens_from_fock_general ( int  n,
int  noOfOccupiedOrbs,
int  use_diagonalization,
int  use_diag_on_error,
ergo_real  electronicTemperature,
symmMatrix resultDens,
ergo_real  factor,
symmMatrix Finput,
intervalType homoInterval_Finput,
intervalType lumoInterval_Finput,
symmMatrix overlapMatrix,
triangMatrix const &  invCholFactor,
ergo_real  invCholFactor_euclnorm,
ergo_real  gap_expected_lower_bound,
mat::SizesAndBlocks const &  matrixSizesAndBlocks,
symmMatrix F_ort_prev,
intervalType homoInterval_F_ort_prev,
intervalType lumoInterval_F_ort_prev,
ergo_real  eigvalueErrorLimit,
ergo_real  subspaceErrorLimit,
mat::normType const   truncationNormPurification,
int  maxMul,
int  create_m_files,
int  ignore_purification_failure,
int  use_rand_perturbation_for_alleigsint,
std::string  stats_prefix,
std::map< std::string, double > &  puri_stats,
int  do_sparsity_investigation,
int  sparsity_plots_resolution_m,
int  do_comparison_to_simple_purification,
generalVector eigVecLUMO,
generalVector eigVecHOMO 
)

Parameters:
n  System size.
noOfOccupiedOrbs  Number of occupied orbitals.
use_diagonalization  Flag to turn on diagonalization.
use_diag_on_error  Flag to fall back on diagonalization if purification fails.
electronicTemperature  Electronic temperature.
resultDens  Density matrix. (output)
factor  Factor to scale the resulting density matrix. (for restricted vs unrestricted calc)
Finput  Effective Hamiltonian matrix (input, written to file)
homoInterval_Finput  (out) Output: Contains the homo eigenvalue of Finput.
lumoInterval_Finput  (out) Output: Contains the lumo eigenvalue of Finput.
overlapMatrix  Overlap matrix.
invCholFactor  Inverse Cholesky factor (input, written to file)
invCholFactor_euclnorm  Euclidean norm of inverse Cholesky factor.
gap_expected_lower_bound  Expected lower bound for the gap to be used in early iterations.
matrixSizesAndBlocks  Information about HML matrix block sizes etc.
F_ort_prev  (in/out) Input: Previous F matrix in orthogonal basis. (written to file) Output: New F matrix in orthogonal basis ( ZT*Finput*Z ). (written to file)
homoInterval_F_ort_prev  (in/out) Input: Contains the homo eigenvalue of F_ort_prev. Output: Contains the homo eigenvalue of F_ort_prev.
lumoInterval_F_ort_prev  (in/out) Input: Contains the lumo eigenvalue of F_ort_prev. Output: Contains the lumo eigenvalue of F_ort_prev.
eigvalueErrorLimit  Tolerated deviation of eigenvalues from 0 and 1 in the computed density matrix.
subspaceErrorLimit  Tolerated error in the occupied subspace as measured by the sinus of the largest canonical angle.
truncationNormPurification  Norm to be used for truncation.
maxMul  Maximum allowed number of matrix multiplications.
create_m_files  Flag to create m-files with information about the purification process.
ignore_purification_failure  Continue even if purification fails to converge.
use_rand_perturbation_for_alleigsint  Apply a random perturbation to (try to) improve the convergence speed of Lanczos calculation of extremal eigenvalues.
stats_prefix  Prefix to be added to statistics files.
puri_stats  Map to store stats for purification.
do_sparsity_investigation  Flag to turn on sparsity investigation.
sparsity_plots_resolution_m  Resolution in element magnitude histograms.
do_comparison_to_simple_purification  Flag to turn on comparison to simple purification.
eigVecLUMO  LUMO eigenvector
eigVecHOMO  HOMO eigenvector


Generated on Mon Sep 17 14:32:57 2012 for ergo by  doxygen 1.4.7