MPQC  3.0.0-alpha
Public Member Functions | Protected Attributes
sc::SpinFreeRDM< R > Class Template Reference

SpinFreeRDM<R> is a spin-free reduced density matrix of rank R. More...

#include <chemistry/qc/wfn/rdm.h>

Inheritance diagram for sc::SpinFreeRDM< R >:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 SpinFreeRDM (const Ref< KeyVal > &kv)
 A KeyVal constructor is used to generate a SpinFreeRDM<R> object from the input.
 SpinFreeRDM (StateIn &si)
 SpinFreeRDM (const Ref< Wavefunction > &wfn)
void save_data_state (StateOut &so)
 Save the base classes (with save_data_state) and the members in the same order that the StateIn CTOR initializes them.
virtual void obsolete ()
 Marks all results as being out of date.
Ref< Wavefunctionwfn () const
 the corresponding Wavefunction
virtual void compute ()
 Recompute at least the results that have compute true and are not already computed.
virtual Ref< OrbitalSpaceorbs () const =0
 the orbital space of spincase s in which the density is reported
virtual size_t ndim () const
 bra/ket dimension
virtual const double * obtain_block (spincase spin, size_t bra) const
 returns the ket block for the given bra index
virtual void release_block (spincase spin, size_t bra, double *) const
 releases the ket block
virtual RefSymmSCMatrix scmat () const
 full density matrix, can be used for RDM of any rank
virtual const Ref< DistArray4 > & da4 () const
 should only be used for R=2
virtual Ref< SpinFreeRDM
< static_cast< Rank >R-1) > > 
rdm_m_1 () const
 RDM of rank decreased by 1.

Protected Attributes

RefSymmSCMatrix scmat_
Ref< DistArray4da4_

Detailed Description

template<Rank R>
class sc::SpinFreeRDM< R >

SpinFreeRDM<R> is a spin-free reduced density matrix of rank R.

Template Parameters:
RRank of the density

Constructor & Destructor Documentation

template<Rank R>
sc::SpinFreeRDM< R >::SpinFreeRDM ( const Ref< KeyVal > &  kv) [inline]

A KeyVal constructor is used to generate a SpinFreeRDM<R> object from the input.

The full list of keywords that are accepted is below.

KeywordTypeDefault

Description

wfnWavefunctionnone

the Wavefunction object


Member Function Documentation

template<Rank R>
virtual void sc::SpinFreeRDM< R >::compute ( ) [inline, virtual]

Recompute at least the results that have compute true and are not already computed.

This should only be called by Result's members.

Implements sc::Compute.

Reimplemented in sc::ExternSpinFreeRDMTwo, and sc::ExternSpinFreeRDMOne.

template<Rank R>
virtual const Ref<DistArray4>& sc::SpinFreeRDM< R >::da4 ( ) const [virtual]

should only be used for R=2

Returns:
DistArray4 object that contains RDM2

Reimplemented in sc::ExternSpinFreeRDMTwo.

template<Rank R>
virtual void sc::SpinFreeRDM< R >::obsolete ( ) [inline, virtual]

Marks all results as being out of date.

Any subsequent access to results will cause Compute::compute() to be called.

Reimplemented from sc::Compute.

Reimplemented in sc::ExternSpinFreeRDMTwo, and sc::ExternSpinFreeRDMOne.

template<Rank R>
void sc::SpinFreeRDM< R >::save_data_state ( StateOut ) [inline, 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.


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

Generated at Sat Jul 7 2012 11:52:57 for MPQC 3.0.0-alpha using the documentation package Doxygen 1.8.0.