Routine get_dens_from_fock_full() for getting density matrix from a given Fock matrix using diagonalization. More...
#include "densfromf_full.h"
#include "output.h"
#include <memory.h>
#include <cstdio>
#include <cmath>
#include <cstdlib>
#include <vector>
#include "memorymanag.h"
#include "machine_epsilon.h"
#include "utilities.h"
#include "matrix_algebra.h"
#include "units.h"
#include "gblas.h"
Functions | |
int | get_F_orbs (int n, const ergo_real *F, const ergo_real *ovl, ergo_real *cmo, ergo_real *eigv) |
get_f_orbs: use diagonalization to find the molecular orbitals corresponding to given Fock matrix f. | |
static void | get_dens_from_cmo_zeroT (int n, const ergo_real *cmo, const ergo_real *eigv, int noOfOccupiedOrbs, ergo_real *dens) |
static void | get_dens_from_cmo_FermiDiracDistr (int n, const ergo_real *cmo, const ergo_real *eigv, int noOfOccupiedOrbs, ergo_real *dens, ergo_real electronicTemperature) |
int | get_dens_from_fock_full (int n, int noOfOccupiedOrbs, ergo_real *result_P, const ergo_real *F, const ergo_real *ovl, ergo_real factor, ergo_real electronicTemperature, ergo_real *const lumoVec, ergo_real *const homoVec) |
Routine get_dens_from_fock_full() for getting density matrix from a given Fock matrix using diagonalization.
static void get_dens_from_cmo_FermiDiracDistr | ( | int | n, | |
const ergo_real * | cmo, | |||
const ergo_real * | eigv, | |||
int | noOfOccupiedOrbs, | |||
ergo_real * | dens, | |||
ergo_real | electronicTemperature | |||
) | [static] |
References do_output(), LOG_AREA_DENSFROMF, LOG_CAT_INFO, and mat::trace().
Referenced by get_dens_from_fock_full().
static void get_dens_from_cmo_zeroT | ( | int | n, | |
const ergo_real * | cmo, | |||
const ergo_real * | eigv, | |||
int | noOfOccupiedOrbs, | |||
ergo_real * | dens | |||
) | [static] |
References do_output(), LOG_AREA_DENSFROMF, LOG_CAT_INFO, multiply_matrices_general_T_1(), and UNIT_one_eV.
Referenced by get_dens_from_fock_full().
int get_dens_from_fock_full | ( | int | n, | |
int | noOfOccupiedOrbs, | |||
ergo_real * | result_P, | |||
const ergo_real * | F, | |||
const ergo_real * | ovl, | |||
ergo_real | factor, | |||
ergo_real | electronicTemperature, | |||
ergo_real *const | lumoVec, | |||
ergo_real *const | homoVec | |||
) |
References ergo_free(), ergo_malloc(), get_dens_from_cmo_FermiDiracDistr(), get_dens_from_cmo_zeroT(), get_F_orbs(), and LOG_AREA_DENSFROMF.
Referenced by get_dens_from_fock_general(), and load_density_and_project_full().
int get_F_orbs | ( | int | n, | |
const ergo_real * | F, | |||
const ergo_real * | ovl, | |||
ergo_real * | cmo, | |||
ergo_real * | eigv | |||
) |
get_f_orbs: use diagonalization to find the molecular orbitals corresponding to given Fock matrix f.
References do_output(), ergo_free(), ergo_malloc(), LOG_AREA_DENSFROMF, LOG_CAT_ERROR, LOG_CAT_INFO, and mat::sygv().
Referenced by do_CI(), and get_dens_from_fock_full().