#include <manybody.h>

Public Member Functions | |
| CCManyBody () | |
| virtual | ~CCManyBody () |
| void | generate_integrals () |
| void | generate_denominators () |
| void | compute_reference_energy () |
| void | make_fock_matrix () |
| void | make_denominators () |
| void | print_method (const char *text) |
Protected Member Functions | |
| void | print_eigensystem (int ndets, double **Heff, double *&eigenvector) |
| double | diagonalize_Heff (int root, int ndets, double **Heff, double *&right_eigenvector, double *&left_eigenvector, bool initial) |
| void | sort_eigensystem (int ndets, double *&real, double *&imaginary, double **&left, double **&right) |
| double | c_H_c (int ndets, double **H, double *&c) |
| void | generate_triples_denominators () |
| void | generate_d3_ijk (double ***&d3, bool alpha_i, bool alpha_j, bool alpha_k) |
| void | generate_d3_abc (double ***&d3, bool alpha_a, bool alpha_b, bool alpha_c) |
| void | deallocate_triples_denominators () |
Protected Attributes | |
| double * | zeroth_order_eigenvector |
| double * | right_eigenvector |
| double * | left_eigenvector |
| double ** | Heff |
| double ** | Heff_mrpt2 |
| double | current_energy |
| double | delta_energy |
| double | cas_energy |
| double | old_energy |
| double | huge |
| double | total_time |
| double | norm_amps |
| double | delta_t1_amps |
| double | delta_t2_amps |
| bool | pert_cbs |
| bool | pert_cbs_coupling |
| TriplesType | triples_type |
| TriplesCouplingType | triples_coupling_type |
| double *** | d3_ooo |
| double *** | d3_ooO |
| double *** | d3_oOO |
| double *** | d3_OOO |
| double *** | d3_vvv |
| double *** | d3_vvV |
| double *** | d3_vVV |
| double *** | d3_VVV |
| psi::psimrcc::CCManyBody::CCManyBody | ( | ) |
Allocate the effective Hamiltonian matrices and eigenvectors
| psi::psimrcc::CCManyBody::~CCManyBody | ( | ) | [virtual] |
Deallocate the effective Hamiltonian matrices and eigenvectors
| void psi::psimrcc::CCManyBody::generate_integrals | ( | ) |
Creates a CCSort object and stores the address in the global pointer sorter
| void psi::psimrcc::CCManyBody::generate_denominators | ( | ) |
Generates the MP denominators
where the excitations that are not allowed in reference
are set to a large value (see huge)
| void psi::psimrcc::CCManyBody::compute_reference_energy | ( | ) |
Computes the energy for each unique reference determinant
| double psi::psimrcc::CCManyBody::diagonalize_Heff | ( | int | root, | |
| int | ndets, | |||
| double ** | Heff, | |||
| double *& | right_eigenvector, | |||
| double *& | left_eigenvector, | |||
| bool | initial | |||
| ) | [protected] |
This function computes the left and right eigenvalues of a generic real matrix
| root | selects the root for which the left-eigenvector must be saved | |
| ndets | size of the matrix | |
| Heff | the matrix stored as a double** | |
| eigenvector | the left-eigenvector stored as a double* * | |
| initial | a bool used to enable root following. initial = true allows you to select a root while initial = false follows the root that has the largest overlap with the previous eigenvector |
| double psi::psimrcc::CCManyBody::c_H_c | ( | int | ndets, | |
| double ** | H, | |||
| double *& | c | |||
| ) | [protected] |
This function computes
| ndets | size of the vector | |
| H | the matrix stored as a double** | |
| c | the vector stored as a double* |
1.5.6