v2DM-DOCI  1.0
doci2DM::Container Class Reference

#include <Container.h>

+ Inheritance diagram for doci2DM::Container:
+ Collaboration diagram for doci2DM::Container:

Public Member Functions

 Container (int n, int m)
 
 Container (const Container &)
 
 Container (Container &&)
 
virtual ~Container ()=default
 
void setMatrixDim (int, int, int)
 
void setVectorDim (int, int, int)
 
Containeroperator= (const Container &)
 
Containeroperator= (Container &&)
 
Containeroperator= (double)
 
Containeroperator+= (const Container &)
 
Containeroperator-= (const Container &)
 
Containerdaxpy (double alpha, const Container &)
 
Containeroperator*= (double)
 
Containeroperator/= (double)
 
Containermprod (const Container &, const Container &)
 
double & operator() (int block, int i, int j)
 
double operator() (int block, int i, int j) const
 
double & operator() (int block, int i)
 
double operator() (int block, int i) const
 
MatrixgetMatrix (int)
 
const MatrixgetMatrix (int) const
 
VectorgetVector (int)
 
const VectorgetVector (int) const
 
BlockMatrixgetMatrices ()
 
const BlockMatrixgetMatrices () const
 
BlockVectorgetVectors ()
 
const BlockVectorgetVectors () const
 
int gnr () const
 
int gnMatrix () const
 
int gnVector () const
 
int gdimMatrix (int) const
 
int gdimVector (int) const
 
int gdegMatrix (int) const
 
int gdegVector (int) const
 
double trace () const
 
double ddot (const Container &) const
 
void invert ()
 
void dscal (double)
 
void fill_Random ()
 
void fill_Random (int)
 
void sqrt (int)
 
void L_map (const Container &, const Container &)
 
void symmetrize ()
 
void sep_pm (Container &, Container &)
 

Private Attributes

std::unique_ptr< BlockMatrixmatrix
 
std::unique_ptr< BlockVectorvector
 

Friends

std::ostream & operator<< (std::ostream &output, const doci2DM::Container &container)
 

Detailed Description

Class to store combination of Blocks and Vectors

Definition at line 39 of file Container.h.

Constructor & Destructor Documentation

Container::Container ( int  n,
int  m 
)
Parameters
nnumber of matrix
mnumber of vectors

Definition at line 34 of file Container.cpp.

Container::Container ( const Container orig)

Definition at line 41 of file Container.cpp.

Container::Container ( Container &&  orig)

Definition at line 47 of file Container.cpp.

virtual doci2DM::Container::~Container ( )
virtualdefault

Member Function Documentation

Container & Container::daxpy ( double  alpha,
const Container orig 
)

Definition at line 116 of file Container.cpp.

+ Here is the caller graph for this function:

double Container::ddot ( const Container A) const

Definition at line 255 of file Container.cpp.

+ Here is the caller graph for this function:

void Container::dscal ( double  a)

Definition at line 266 of file Container.cpp.

+ Here is the caller graph for this function:

void Container::fill_Random ( )

Definition at line 272 of file Container.cpp.

void Container::fill_Random ( int  seed)

Definition at line 278 of file Container.cpp.

int Container::gdegMatrix ( int  i) const

Definition at line 240 of file Container.cpp.

+ Here is the caller graph for this function:

int Container::gdegVector ( int  i) const

Definition at line 245 of file Container.cpp.

+ Here is the caller graph for this function:

int Container::gdimMatrix ( int  i) const

Definition at line 230 of file Container.cpp.

+ Here is the caller graph for this function:

int Container::gdimVector ( int  i) const

Definition at line 235 of file Container.cpp.

+ Here is the caller graph for this function:

BlockMatrix & Container::getMatrices ( )

Definition at line 195 of file Container.cpp.

const BlockMatrix & Container::getMatrices ( ) const

Definition at line 200 of file Container.cpp.

Matrix & Container::getMatrix ( int  i)

Definition at line 174 of file Container.cpp.

+ Here is the caller graph for this function:

const Matrix & Container::getMatrix ( int  i) const

Definition at line 179 of file Container.cpp.

Vector & Container::getVector ( int  i)

Definition at line 184 of file Container.cpp.

+ Here is the caller graph for this function:

const Vector & Container::getVector ( int  i) const

Definition at line 189 of file Container.cpp.

BlockVector & Container::getVectors ( )

Definition at line 205 of file Container.cpp.

const BlockVector & Container::getVectors ( ) const

Definition at line 210 of file Container.cpp.

int Container::gnMatrix ( ) const

Definition at line 220 of file Container.cpp.

+ Here is the caller graph for this function:

int Container::gnr ( ) const

Definition at line 215 of file Container.cpp.

int Container::gnVector ( ) const

Definition at line 225 of file Container.cpp.

+ Here is the caller graph for this function:

void Container::invert ( )

Definition at line 260 of file Container.cpp.

void Container::L_map ( const Container A,
const Container B 
)

Definition at line 291 of file Container.cpp.

+ Here is the caller graph for this function:

Container & Container::mprod ( const Container A,
const Container B 
)

General matrix matrix product of A and B. Stores result in *this.

Parameters
Amatrix A
Bmatrix B
Returns
A*B (in *this)

Definition at line 146 of file Container.cpp.

double & Container::operator() ( int  block,
int  i,
int  j 
)

Definition at line 154 of file Container.cpp.

double Container::operator() ( int  block,
int  i,
int  j 
) const

Definition at line 159 of file Container.cpp.

double & Container::operator() ( int  block,
int  i 
)

Definition at line 164 of file Container.cpp.

double Container::operator() ( int  block,
int  i 
) const

Definition at line 169 of file Container.cpp.

Container & Container::operator*= ( double  a)

Definition at line 124 of file Container.cpp.

Container & Container::operator+= ( const Container orig)

Definition at line 99 of file Container.cpp.

Container & Container::operator-= ( const Container orig)

Definition at line 108 of file Container.cpp.

Container & Container::operator/= ( double  a)

Definition at line 132 of file Container.cpp.

Container & Container::operator= ( const Container orig)

Definition at line 75 of file Container.cpp.

Container & Container::operator= ( Container &&  orig)

Definition at line 83 of file Container.cpp.

Container & Container::operator= ( double  a)

Definition at line 91 of file Container.cpp.

void Container::sep_pm ( Container pos,
Container neg 
)

Definition at line 302 of file Container.cpp.

void Container::setMatrixDim ( int  block,
int  dim,
int  degen 
)

Set dimension and degeneracy for a Matrix

Parameters
blockwhich matrix
dimthe dimensions
degenthe degeneracy of the matrix

Definition at line 59 of file Container.cpp.

+ Here is the caller graph for this function:

void Container::setVectorDim ( int  block,
int  dim,
int  degen 
)

Set dimension and degeneracy for a Vector

Parameters
blockwhich vector
dimthe dimensions
degenthe degeneracy of the vector

Definition at line 70 of file Container.cpp.

+ Here is the caller graph for this function:

void Container::sqrt ( int  option)

Definition at line 285 of file Container.cpp.

void Container::symmetrize ( )

Definition at line 297 of file Container.cpp.

double Container::trace ( ) const

Definition at line 250 of file Container.cpp.

+ Here is the caller graph for this function:

Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  output,
const doci2DM::Container container 
)
friend

Output stream operator overloaded, the usage is simple, if you want to print to a file, make an ifstream object and type:

object << blockmatrix << endl;

For output onto the screen type:

cout << blockmatrix << endl;

Parameters
outputThe stream to which you are writing (e.g. cout)
containerthe Container you want to print

Definition at line 310 of file Container.cpp.

Member Data Documentation

std::unique_ptr<BlockMatrix> doci2DM::Container::matrix
private

Definition at line 150 of file Container.h.

std::unique_ptr<BlockVector> doci2DM::Container::vector
private

Definition at line 151 of file Container.h.


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