v2DM-DOCI
1.0
|
#include <Container.h>
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) |
Container & | operator= (const Container &) |
Container & | operator= (Container &&) |
Container & | operator= (double) |
Container & | operator+= (const Container &) |
Container & | operator-= (const Container &) |
Container & | daxpy (double alpha, const Container &) |
Container & | operator*= (double) |
Container & | operator/= (double) |
Container & | mprod (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 |
Matrix & | getMatrix (int) |
const Matrix & | getMatrix (int) const |
Vector & | getVector (int) |
const Vector & | getVector (int) const |
BlockMatrix & | getMatrices () |
const BlockMatrix & | getMatrices () const |
BlockVector & | getVectors () |
const BlockVector & | getVectors () 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< BlockMatrix > | matrix |
std::unique_ptr< BlockVector > | vector |
Friends | |
std::ostream & | operator<< (std::ostream &output, const doci2DM::Container &container) |
Class to store combination of Blocks and Vectors
Definition at line 39 of file Container.h.
Container::Container | ( | int | n, |
int | m | ||
) |
n | number of matrix |
m | number 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.
|
virtualdefault |
double Container::ddot | ( | const Container & | A | ) | const |
void Container::dscal | ( | double | a | ) |
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 |
int Container::gdegVector | ( | int | i | ) | const |
int Container::gdimMatrix | ( | int | i | ) | const |
int Container::gdimVector | ( | int | i | ) | const |
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 | ) |
const Matrix & Container::getMatrix | ( | int | i | ) | const |
Definition at line 179 of file Container.cpp.
Vector & Container::getVector | ( | int | i | ) |
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 |
int Container::gnr | ( | ) | const |
Definition at line 215 of file Container.cpp.
int Container::gnVector | ( | ) | const |
void Container::invert | ( | ) |
Definition at line 260 of file Container.cpp.
General matrix matrix product of A and B. Stores result in *this.
A | matrix A |
B | matrix B |
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.
Definition at line 99 of file Container.cpp.
Definition at line 108 of file Container.cpp.
Container & Container::operator/= | ( | double | a | ) |
Definition at line 132 of file Container.cpp.
Definition at line 75 of file Container.cpp.
Definition at line 83 of file Container.cpp.
Container & Container::operator= | ( | double | a | ) |
Definition at line 91 of file Container.cpp.
Definition at line 302 of file Container.cpp.
void Container::setMatrixDim | ( | int | block, |
int | dim, | ||
int | degen | ||
) |
Set dimension and degeneracy for a Matrix
block | which matrix |
dim | the dimensions |
degen | the degeneracy of the matrix |
Definition at line 59 of file Container.cpp.
void Container::setVectorDim | ( | int | block, |
int | dim, | ||
int | degen | ||
) |
Set dimension and degeneracy for a Vector
block | which vector |
dim | the dimensions |
degen | the degeneracy of the vector |
Definition at line 70 of file Container.cpp.
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 |
|
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;
output | The stream to which you are writing (e.g. cout) |
container | the Container you want to print |
Definition at line 310 of file Container.cpp.
|
private |
Definition at line 150 of file Container.h.
|
private |
Definition at line 151 of file Container.h.