MPQC
3.0.0-alpha
|
Decomposition by density fitting with respect to some kernel. More...
#include <chemistry/qc/lcao/df.h>
Public Types | |
enum | SolveMethod { SolveMethod_InverseCholesky = 0, SolveMethod_Cholesky = 1, SolveMethod_RefinedCholesky = 2, SolveMethod_InverseBunchKaufman = 3, SolveMethod_BunchKaufman = 4, SolveMethod_RefinedBunchKaufman = 5 } |
typedef TwoBodyMOIntsRuntimeUnion23 | MOIntsRuntime |
Public Member Functions | |
DensityFitting (const Ref< MOIntsRuntime > &rtime, const std::string &kernel_key, SolveMethod solver, const Ref< OrbitalSpace > &space1, const Ref< OrbitalSpace > &space2, const Ref< GaussianBasisSet > &fitting_basis, bool ri=false) | |
Determines density fitting of product (space1 space2) in terms of fitting basis. More... | |
DensityFitting (StateIn &) | |
void | save_data_state (StateOut &) |
Save the base classes (with save_data_state) and the members in the same order that the StateIn CTOR initializes them. More... | |
const Ref< MOIntsRuntime > & | runtime () const |
const Ref< Integral > & | integral () const |
const Ref< OrbitalSpace > & | space1 () const |
const Ref< OrbitalSpace > & | space2 () const |
const Ref< GaussianBasisSet > & | fbasis () const |
const std::string & | kernel_key () const |
SolveMethod | solver () const |
const Ref< DistArray4 > & | C () const |
returns the fitting coeffcients | |
RefSCDimension | product_dimension () const |
produces RefSCDimension that corresponds to the product space | |
virtual void | compute () |
Public Member Functions inherited from sc::SavableState | |
SavableState & | operator= (const SavableState &) |
void | save_state (StateOut &) |
Save the state of the object as specified by the StateOut object. More... | |
void | save_object_state (StateOut &) |
This can be used for saving state when the exact type of the object is known for both the save and the restore. More... | |
virtual void | save_vbase_state (StateOut &) |
Save the virtual bases for the object. More... | |
Public Member Functions inherited from sc::DescribedClass | |
DescribedClass (const DescribedClass &) | |
DescribedClass & | operator= (const DescribedClass &) |
ClassDesc * | class_desc () const MPQC__NOEXCEPT |
This returns the unique pointer to the ClassDesc corresponding to the given type_info object. More... | |
const char * | class_name () const |
Return the name of the object's exact type. | |
int | class_version () const |
Return the version of the class. | |
virtual void | print (std::ostream &=ExEnv::out0()) const |
Print the object. | |
Ref< DescribedClass > | ref () |
Return this object wrapped up in a Ref smart pointer. More... | |
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... | |
Static Public Member Functions | |
static int | definite_kernel (TwoBodyOper::type kernel_type, const Ref< IntParams > &kernel_params) |
Test whether a density-fitting kernel has definite sign. More... | |
static int | definite_kernel (TwoBodyOper::type kernel_type, const std::string &kernel_params_key) |
Static Public Member Functions inherited from sc::SavableState | |
static void | save_state (SavableState *s, StateOut &) |
static SavableState * | restore_state (StateIn &si) |
Restores objects saved with save_state. More... | |
static SavableState * | key_restore_state (StateIn &si, const char *keyword) |
Like restore_state, but keyword is used to override values while restoring. | |
static SavableState * | dir_restore_state (StateIn &si, const char *objectname, const char *keyword=0) |
Protected Member Functions | |
const RefSymmSCMatrix & | kernel () const |
returns the kernel matrix in the fitting basis, i.e. . | |
const Ref< DistArray4 > & | conjugateC () const |
returns the conjugate expansion matrix defined as . More... | |
Protected Member Functions inherited from sc::SavableState | |
SavableState (const SavableState &) | |
SavableState (StateIn &) | |
Each derived class StateIn CTOR handles the restore corresponding to calling save_object_state, save_vbase_state, and save_data_state listed above. More... | |
Protected Member Functions inherited from sc::RefCount | |
RefCount (const RefCount &) | |
RefCount & | operator= (const RefCount &) |
Protected Attributes | |
Ref< DistArray4 > | C_ |
RefSymmSCMatrix | kernel_ |
Ref< DistArray4 > | cC_ |
Decomposition by density fitting with respect to some kernel.
The definition is as follows:
where belong to a fitting basis and are determined by solving the linear system
The kernel is any (positive-definite) operator.
runtime | is the MOIntsRuntime object used to compute MO/AO integrals |
kernel_key | denotes the kernel operator to be used for fitting. Currently only "1/r_{12}" is supported. |
space1 | is space r in |rs) product space |
space2 | is space s in |rs) product space |
fitting_basis | is the basis set in which to perform the fitting |
sc::DensityFitting::DensityFitting | ( | const Ref< MOIntsRuntime > & | rtime, |
const std::string & | kernel_key, | ||
SolveMethod | solver, | ||
const Ref< OrbitalSpace > & | space1, | ||
const Ref< OrbitalSpace > & | space2, | ||
const Ref< GaussianBasisSet > & | fitting_basis, | ||
bool | ri = false |
||
) |
Determines density fitting of product (space1 space2) in terms of fitting basis.
rtime | |
kernel_key | |
solver | |
space1 | |
space2 | |
fitting_basis | |
ri | false -> compute DF coeficients, true -> compute DF coefficients multiplied by the inverse square root of the fitting matrix (or of the matrix scaled by -1, for negative-definite kernels); only supported if using inverse-based Cholesky solver. |
|
inlineprotected |
returns the conjugate expansion matrix defined as .
is conjugate to in the sense that their product returns reconstructed integrals:
|
static |
Test whether a density-fitting kernel has definite sign.
kernel_params
argument kernel_type | kernel type; only some operators are accepted as density fitting kernel |
kernel_params | kernel parameters; must be in ParamsRegistry |
|
virtual |
Save the base classes (with save_data_state) and the members in the same order that the StateIn CTOR initializes them.
This must be implemented by the derived class if the class has data.
Reimplemented from sc::SavableState.
Reimplemented in sc::PermutedDensityFitting, and sc::TransformedDensityFitting.