CheMPS2
CheMPS2::DMRGSCFwtilde Class Reference

#include <DMRGSCFwtilde.h>

Public Member Functions

 DMRGSCFwtilde (DMRGSCFindices *iHandler_in)
 Constructor. More...
 
virtual ~DMRGSCFwtilde ()
 Destructor.
 
void clear ()
 Clear.
 
void set (const int irrep_pq, const int irrep_rs, const int p, const int q, const int r, const int s, const double val)
 Set an element of w_tilde_pqrs. More...
 
double get (const int irrep_pq, const int irrep_rs, const int p, const int q, const int r, const int s) const
 Get an element of w_tilde_pqrs. More...
 
double * getBlock (const int irrep_pq, const int irrep_rs, const int p, const int r)
 Get the (pr) subblock of w_tilde_pqrs, which is stored as w_tilde[ I_pq ][ I_rs ][ p + ( Nocc[I_pq] + Ndmrg[I_pq] ) * r ][ q + Ntotal[I_pq] * s ]. More...
 

Detailed Description

DMRGSCF w_tilde class.

Author
Sebastian Wouters sebas.nosp@m.tian.nosp@m.woute.nosp@m.rs@g.nosp@m.mail..nosp@m.com
Date
January 26, 2015

Container class for the tensor $\tilde{w}_{pqrs}$. The definition and context can be found in CASSCF.h. For convenience, I repeat the definition of $\tilde{w}_{pqrs}$ here (remember that $I_p = I_q$ and $I_r = I_s$):

\begin{eqnarray*} (p,r) & \in & (occ,occ) : \tilde{w}_{pqrs} \\ & = & 4 \delta_{pr}^{occ} \left[ h_{qs} + Q^{occ}_{qs} + Q^{act}_{qs} \right] \\ & + & 4 \left[ 4 (qp | sr) - ( qs | pr ) - ( qr | sp ) \right] \\ (p,r) & \in & (act,act) : \tilde{w}_{pqrs} = 2 \Gamma^{1,act}_{rp} \left[ h_{qs} + Q^{occ}_{qs} \right] \\ & + & 2 \sum\limits_{\alpha\beta \in act} \left[ \Gamma^{2A,act}_{r \alpha p \beta} (qs | \alpha \beta ) + \left( \Gamma^{2A,act}_{r \alpha \beta p} + \Gamma^{2A,act}_{r p \beta \alpha} \right) (q \alpha | s \beta ) \right] \\ (p,r) & \in & (act,occ) : \tilde{w}_{pqrs} \\ & = & 2 \sum\limits_{\alpha \in act} \Gamma^{1,act}_{\alpha p} \left[ 4 (q \alpha | s r) - (qs | \alpha r) - (qr | s \alpha) \right] \\ (p,r) & \in & (occ,act) : \tilde{w}_{pqrs} \\ & = & 2 \sum\limits_{\beta \in act} \Gamma^{1,act}_{r \beta} \left[ 4 (q p | s \beta) - (qs | p \beta) - (q \beta | sp) \right] \end{eqnarray*}

Definition at line 43 of file DMRGSCFwtilde.h.

Constructor & Destructor Documentation

CheMPS2::DMRGSCFwtilde::DMRGSCFwtilde ( DMRGSCFindices iHandler_in)

Constructor.

Parameters
iHandler_inThe DMRGSCFindices which contain information on the occupied, active, and virtual spaces

Definition at line 22 of file DMRGSCFwtilde.cpp.

+ Here is the call graph for this function:

Member Function Documentation

double CheMPS2::DMRGSCFwtilde::get ( const int  irrep_pq,
const int  irrep_rs,
const int  p,
const int  q,
const int  r,
const int  s 
) const

Get an element of w_tilde_pqrs.

Parameters
irrep_pqThe irrep number of the first two indices pq
irrep_rsThe irrep number of the last two indices rs
pThe first index (within the symmetry block)
qThe second index (within the symmetry block)
rThe third index (within the symmetry block)
sThe fourth index (within the symmetry block)
Returns
The requested element

Definition at line 86 of file DMRGSCFwtilde.cpp.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

double * CheMPS2::DMRGSCFwtilde::getBlock ( const int  irrep_pq,
const int  irrep_rs,
const int  p,
const int  r 
)

Get the (pr) subblock of w_tilde_pqrs, which is stored as w_tilde[ I_pq ][ I_rs ][ p + ( Nocc[I_pq] + Ndmrg[I_pq] ) * r ][ q + Ntotal[I_pq] * s ].

Parameters
irrep_pqThe irrep number of the first two indices pq
irrep_rsThe irrep number of the last two indices rs
pThe first index (within the symmetry block)
rThe third index (within the symmetry block)
Returns
Pointer to the requested subblock

Definition at line 92 of file DMRGSCFwtilde.cpp.

+ Here is the caller graph for this function:

void CheMPS2::DMRGSCFwtilde::set ( const int  irrep_pq,
const int  irrep_rs,
const int  p,
const int  q,
const int  r,
const int  s,
const double  val 
)

Set an element of w_tilde_pqrs.

Parameters
irrep_pqThe irrep number of the first two indices pq
irrep_rsThe irrep number of the last two indices rs
pThe first index (within the symmetry block)
qThe second index (within the symmetry block)
rThe third index (within the symmetry block)
sThe fourth index (within the symmetry block)
valThe value to which the element of the tensor should be set

Definition at line 80 of file DMRGSCFwtilde.cpp.

+ Here is the call graph for this function:


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