LR::VarVector Class Reference

Vector of variables parametrising the solution to the linear response equations. More...

#include <slr.h>

List of all members.

Public Member Functions

 VarVector (const VarVector &a)
 VarVector ()
 VarVector (int nbast, int nocc, const ergo_real *full_mat)
 Creates a vector from a full matrix.
 ~VarVector ()
ergo_realx () const
 return the X part of the vector.
ergo_realy () const
 returns the Y part.
void symorth (void)
void setSize (int n)
int size () const
void print (const char *comment=NULL)
void setFromFull (int nbast, int nocc, const ergo_real *full_mat)
void setFull (int nbast, int nocc, ergo_real *full_mat) const
const ergo_realoperator[] (int i) const
ergo_realoperator[] (int i)
VarVectoroperator= (ergo_real scalar)
VarVectoroperator= (const VarVector &b)
VarVectoroperator= (const VarVectorProxyOp< false, false > &proxy)
VarVectoroperator= (const VarVectorProxyOp< false, true > &proxy)
void load (const char *tmpdir)
 Load the object to memory.
void save (const char *tmpdir)
 Save the object.
void release (const char *tmpdir)
 Releases the memory, saving if necessary.

Public Attributes

char * fName
 Present in secondary storage (i.e.
int nvar
 nvar := nocc*nvirt.
unsigned onDisk:1
 valid representation on disk
unsigned inMemory:1
 valid representation in memory

Private Attributes

ergo_realv
 vector coefficients

Friends

ergo_real operator * (const VarVector &a, const VarVector &b)
ergo_real operator * (const VarVector &a, const VarVectorProxyOp< false, false > &b)
ergo_real operator * (const VarVector &a, const VarVectorProxyOp< true, false > &b)


Detailed Description

Vector of variables parametrising the solution to the linear response equations.

It provides some handy operations for compact notation.


Constructor & Destructor Documentation

LR::VarVector::VarVector ( const VarVector a  )  [inline]

LR::VarVector::VarVector (  )  [inline]

LR::VarVector::VarVector ( int  nbast,
int  nocc,
const ergo_real full_mat 
) [inline]

Creates a vector from a full matrix.

LR::VarVector::~VarVector (  )  [inline]


Member Function Documentation

void LR::VarVector::load ( const char *  tmpdir  ) 

Load the object to memory.

VarVector& LR::VarVector::operator= ( const VarVectorProxyOp< false, true > &  proxy  )  [inline]

VarVector& LR::VarVector::operator= ( const VarVectorProxyOp< false, false > &  proxy  )  [inline]

VarVector& LR::VarVector::operator= ( const VarVector b  )  [inline]

VarVector& LR::VarVector::operator= ( ergo_real  scalar  )  [inline]

ergo_real& LR::VarVector::operator[] ( int  i  )  [inline]

const ergo_real& LR::VarVector::operator[] ( int  i  )  const [inline]

void LR::VarVector::print ( const char *  comment = NULL  )  [inline]

void LR::VarVector::release ( const char *  tmpdir  ) 

Releases the memory, saving if necessary.

void LR::VarVector::save ( const char *  tmpdir  ) 

Save the object.

Probably does not need be done explicitly.

void LR::VarVector::setFromFull ( int  nbast,
int  nocc,
const ergo_real full_mat 
)

void LR::VarVector::setFull ( int  nbast,
int  nocc,
ergo_real full_mat 
) const

void LR::VarVector::setSize ( int  n  )  [inline]

int LR::VarVector::size (  )  const [inline]

void LR::VarVector::symorth ( void   ) 

ergo_real* LR::VarVector::x (  )  const [inline]

return the X part of the vector.

ergo_real* LR::VarVector::y (  )  const [inline]

returns the Y part.


Friends And Related Function Documentation

ergo_real operator * ( const VarVector a,
const VarVectorProxyOp< true, false > &  b 
) [friend]

ergo_real operator * ( const VarVector a,
const VarVectorProxyOp< false, false > &  b 
) [friend]

ergo_real operator * ( const VarVector a,
const VarVector b 
) [friend]


Member Data Documentation

char* LR::VarVector::fName

Present in secondary storage (i.e.

disk) under given file name.

unsigned LR::VarVector::inMemory

valid representation in memory

int LR::VarVector::nvar

nvar := nocc*nvirt.

Vector length is 2*nvar

unsigned LR::VarVector::onDisk

valid representation on disk

ergo_real* LR::VarVector::v [private]

vector coefficients


The documentation for this class was generated from the following files:
Generated on Wed Nov 21 09:32:13 2012 for ergo by  doxygen 1.4.7