MPQC
3.0.0-alpha
|
Class MP2R12EnergyUtil_base is the abstract interface to utility functions used by MP2R12Energy derivatives. More...
#include <chemistry/qc/mbptr12/mp2r12_energy_util.h>
Public Member Functions | |
MP2R12EnergyUtil_base (const RefSCDimension &oodim, const RefSCDimension &xydim, const RefSCDimension &f12dim, const unsigned int nocc_act) | |
void | check_dims (const RefSCMatrix &A) const |
Checks if matrix A has proper dimensions. Throw, if not. | |
void | check_dims (const RefSymmSCMatrix &A) const |
Checks if matrix A has proper dimensions. Throw, if not. | |
virtual void | print (const char *label, const RefSCMatrix &A, std::ostream &os=ExEnv::out0()) const =0 |
Prints A. | |
virtual void | print (const char *label, const RefSymmSCMatrix &A, std::ostream &os=ExEnv::out0()) const =0 |
Prints A. | |
virtual void | print (const char *label, const RefDiagSCMatrix &A, std::ostream &os=ExEnv::out0()) const =0 |
Prints A. | |
virtual void | invert (RefSymmSCMatrix &A) const =0 |
Inverts A in-place. | |
virtual RefDiagSCMatrix | eigenvalues (const RefSymmSCMatrix &A) const =0 |
Computes eigenvalues of A. | |
virtual void | diagonalize (const RefSymmSCMatrix &A, RefDiagSCMatrix &evals, RefSCMatrix &evecs) const =0 |
Computes eigenvalues and eigenvectors of A. evals and evecs don't have to be allocated. | |
virtual void | transform (const RefSymmSCMatrix &B, const RefDiagSCMatrix &A, const RefSCMatrix &U) const =0 |
B = U * A * U.t() | |
virtual void | solve_linear_system (const RefSymmSCMatrix &A, RefSCMatrix &X, const RefSCMatrix &B) const =0 |
Solves A*X = B. | |
virtual void | solve_linear_system (unsigned int ij, const RefSymmSCMatrix &A, RefSCMatrix &X, const RefSCMatrix &B) const =0 |
virtual void | times (const RefSymmSCMatrix &A, const RefSCMatrix &x, RefSCMatrix &y) const =0 |
computes y = A x | |
virtual void | times (unsigned int ij, const RefSymmSCMatrix &A, const RefSCMatrix &x, RefSCMatrix &y) const =0 |
computes y = A x | |
virtual RefSCVector | dot_product (const RefSCMatrix &A, const RefSCMatrix &B) const =0 |
Computes "dot" product of A and B: tr[i] = sum_j A[j][i] B[j][i]. | |
Public Member Functions inherited from sc::RefCount | |
size_t | identifier () const |
Return the unique identifier for this object that can be compared for different objects of different types. More... | |
int | lock_ptr () const |
Lock this object. | |
int | unlock_ptr () const |
Unlock this object. | |
void | use_locks (bool inVal) |
start and stop using locks on this object | |
refcount_t | nreference () const |
Return the reference count. | |
refcount_t | reference () |
Increment the reference count and return the new count. | |
refcount_t | dereference () |
Decrement the reference count and return the new count. | |
int | managed () const |
void | unmanage () |
Turn off the reference counting mechanism for this object. More... | |
Protected Attributes | |
unsigned int | nocc_act_ |
number of active occupied orbitals | |
RefSCDimension | oodim_ |
number of ij pairs | |
RefSCDimension | xydim_ |
number of xy pairs | |
RefSCDimension | f12dim_ |
number of geminals per pair times number of xy pairs | |
RefSCDimension | gdim_ |
number of geminals | |
unsigned int | nf12_ |
number of geminals | |
Additional Inherited Members | |
Protected Member Functions inherited from sc::RefCount | |
RefCount (const RefCount &) | |
RefCount & | operator= (const RefCount &) |
Class MP2R12EnergyUtil_base is the abstract interface to utility functions used by MP2R12Energy derivatives.