|
v2DM-DOCI
1.0
|
#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) |
| 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.
Here is the caller graph for this function:| 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.
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 |
|
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.