sc::MP2R12EnergyUtil_Diag_DifferentSpin Class Reference

Class MP2R12EnergyUtil provides some misc functions to operate on (blocked) ijxy and xyxy matrices. More...

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

Inheritance diagram for sc::MP2R12EnergyUtil_Diag_DifferentSpin:

Inheritance graph
[legend]

List of all members.

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.


Detailed Description

Class MP2R12EnergyUtil provides some misc functions to operate on (blocked) ijxy and xyxy matrices.

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.


Constructor & Destructor Documentation

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.


The documentation for this class was generated from the following file:

Generated at Sun Feb 22 10:12:44 2009 for MPQC 3.0.0-alpha using the documentation package Doxygen 1.5.6.
These pages are hosted on SourceForge.net