#include <chemistry/qc/mbptr12/mp2r12_energy_util.h>

Public Member Functions | |
| MP2R12EnergyUtil_Diag_DifferentSpin (const RefSCDimension &oodim, const RefSCDimension &xydim, const RefSCDimension &f12dim, const unsigned int nocc_act) | |
| oodim is a dimension of ij (active occupied pairs) xydim is a dimension of xy (orbital products used to generate geminal space) f12dim is has rank nf12*nxy. | |
| unsigned int | nrowblks (const RefSCMatrix &A) const |
| Number of oo blocks in row dimension of A. | |
| unsigned int | ncolblks (const RefSCMatrix &A) const |
| Number of oo blocks in column dimension of A. | |
| unsigned int | nblks (const RefSymmSCMatrix &A) const |
| Number of oo blocks in dimension of A. | |
| void | get (unsigned int ij, const RefSCMatrix &A, const RefSCVector &Aij) const |
| gets ij block of A | |
| void | get (unsigned int ij, const RefSCMatrix &A, const RefSCMatrix &Aij) const |
| gets ij block of A | |
| void | get (unsigned int ij, const RefSymmSCMatrix &A, const RefSymmSCMatrix &Aij) const |
| gets ij block of A | |
| void | get (unsigned int ij, const RefDiagSCMatrix &A, const RefDiagSCMatrix &Aij) const |
| gets ij block of A | |
| void | put (unsigned int ij, const RefSCMatrix &A, const RefSCVector &Aij) const |
| puts ij block into A | |
| void | put (unsigned int ij, const RefSCMatrix &A, const RefSCMatrix &Aij) const |
| puts ij block into A | |
| void | put (unsigned int ij, const RefSymmSCMatrix &A, const RefSymmSCMatrix &Aij) const |
| puts ij block into A | |
| void | put (unsigned int ij, const RefDiagSCMatrix &A, const RefDiagSCMatrix &Aij) const |
| puts ij block into A | |
| void | invert (RefSymmSCMatrix &A) const |
| Inverts A in-place. | |
| RefDiagSCMatrix | eigenvalues (const RefSymmSCMatrix &A) const |
| Computes eigenvalues of A. | |
| void | diagonalize (const RefSymmSCMatrix &A, RefDiagSCMatrix &evals, RefSCMatrix &evecs) const |
| Computes eigenvalues and eigenvectors of A. evals and evecs don't have to be allocated. | |
| void | transform (const RefSymmSCMatrix &B, const RefDiagSCMatrix &A, const RefSCMatrix &U) const |
| B = U * A * U.t(). | |
| void | solve_linear_system (const RefSymmSCMatrix &A, RefSCMatrix &X, const RefSCMatrix &B) const |
| Solves A*X = B. | |
| void | solve_linear_system (unsigned int ij, const RefSymmSCMatrix &A, RefSCMatrix &X, const RefSCMatrix &B) const |
| void | times (const RefSymmSCMatrix &A, const RefSCMatrix &x, RefSCMatrix &y) const |
| computes y = A x | |
| void | times (unsigned int ij, const RefSymmSCMatrix &A, const RefSCMatrix &x, RefSCMatrix &y) const |
| computes y = A x | |
| RefSCVector | dot_product (const RefSCMatrix &A, const RefSCMatrix &B) const |
| Computes "dot" product of A and B: tr[i] = sum_j A[j][i] B[j][i]. | |
| void | print (const char *label, const RefSCMatrix &A, std::ostream &os=ExEnv::out0()) const |
| Prints A. | |
| void | print (const char *label, const RefSymmSCMatrix &A, std::ostream &os=ExEnv::out0()) const |
| Prints A. | |
| void | print (const char *label, const RefDiagSCMatrix &A, std::ostream &os=ExEnv::out0()) const |
| Prints A. | |
If Diag is true, then each xy block is the same size as ij, and ijxy and xyxy blocks are "diagonal". f12-f12 matrix then has nf12 by nf12 blocks, each with diagonal structure.
| sc::MP2R12EnergyUtil_Diag_DifferentSpin::MP2R12EnergyUtil_Diag_DifferentSpin | ( | const RefSCDimension & | oodim, | |
| const RefSCDimension & | xydim, | |||
| const RefSCDimension & | f12dim, | |||
| const unsigned int | nocc_act | |||
| ) |
oodim is a dimension of ij (active occupied pairs) xydim is a dimension of xy (orbital products used to generate geminal space) f12dim is has rank nf12*nxy.
nocc_act is the number of active occupied orbitals.