v2DM-DOCI  1.0
doci2DM::EIG Class Reference

#include <EIG.h>

+ Inheritance diagram for doci2DM::EIG:
+ Collaboration diagram for doci2DM::EIG:

Public Member Functions

 EIG (BlockMatrix &)
 
 EIG (Container &)
 
 EIG (SUP &)
 
virtual ~EIG ()=default
 
double min () const
 
double max () const
 
double lsfunc (double) const
 
void setDim (int, int, int)
 
BlockStructureoperator+= (const BlockStructure< BlockType > &)
 
BlockStructureoperator-= (const BlockStructure< BlockType > &)
 
BlockStructuredaxpy (double alpha, const BlockStructure< BlockType > &)
 
BlockStructureoperator*= (double)
 
BlockStructureoperator/= (double)
 
BlockType & operator[] (int block)
 
const BlockType & operator[] (int block) const
 
double & operator() (int block, int i, int j)
 
double operator() (int block, int i, int j) const
 
double & operator() (int block, int index)
 
double operator() (int block, int index) const
 
template<>
double & operator() (int block, int i, int j)
 
template<>
double operator() (int block, int i, int j) const
 
template<>
double & operator() (int block, int index)
 
template<>
double operator() (int block, int index) const
 
int gnr () const
 
int gdim (int) const
 
int gdeg (int) const
 
double trace () const
 
double ddot (const BlockStructure< BlockType > &) const
 
void dscal (double alpha)
 
void fill_Random ()
 
void fill_Random (int)
 
virtual void invert ()
 
virtual void sqrt (int)
 
virtual void L_map (const BlockStructure< BlockType > &, const BlockStructure< BlockType > &)
 
virtual BlockStructure< BlockType > & mprod (const BlockStructure< BlockType > &, const BlockStructure< BlockType > &)
 
void symmetrize ()
 
void sort ()
 
template<>
void sort ()
 
virtual void sep_pm (BlockStructure< BlockType > &, BlockStructure< BlockType > &)
 

Detailed Description

Definition at line 34 of file EIG.h.

Constructor & Destructor Documentation

EIG::EIG ( BlockMatrix mat)

Definition at line 30 of file EIG.cpp.

+ Here is the call graph for this function:

EIG::EIG ( Container cont)

Definition at line 40 of file EIG.cpp.

+ Here is the call graph for this function:

EIG::EIG ( SUP sup)

Definition at line 56 of file EIG.cpp.

+ Here is the call graph for this function:

virtual doci2DM::EIG::~EIG ( )
virtualdefault

Member Function Documentation

template<class BlockType >
BlockStructure< BlockType > & BlockStructure::daxpy ( double  alpha,
const BlockStructure< BlockType > &  blockmat_pl 
)
inherited

add the matrix matrix_pl times the constant alpha to this

Parameters
alphathe constant to multiply the matrix_pl with
blockmat_plthe BlockStructure to be multiplied by alpha and added to this

Definition at line 172 of file BlockStructure.cpp.

template<class BlockType >
double BlockStructure::ddot ( const BlockStructure< BlockType > &  blocks_in) const
inherited
Returns
inproduct of (*this) blocks with blocks_in, defined as Tr (A B)
Parameters
blocks_ininput matrix

Definition at line 293 of file BlockStructure.cpp.

template<class BlockType >
void BlockStructure::dscal ( double  alpha)
inherited

Scale the blocks (*this) with parameter alpha

Parameters
alphascalefactor

Definition at line 320 of file BlockStructure.cpp.

template<class BlockType >
void BlockStructure::fill_Random ( )
inherited

Fill the matrix with random numbers.

Definition at line 331 of file BlockStructure.cpp.

template<class BlockType >
void BlockStructure::fill_Random ( int  seed)
inherited

Fill the matrix with random numbers.

Parameters
seedthe seed to use

Definition at line 342 of file BlockStructure.cpp.

template<class BlockType >
int BlockStructure::gdeg ( int  i) const
inherited
Returns
the degeneracy of the block with index i

Definition at line 268 of file BlockStructure.cpp.

+ Here is the caller graph for this function:

template<class BlockType >
int BlockStructure::gdim ( int  i) const
inherited
Returns
the dimension of the Matrix on the block with index i

Definition at line 259 of file BlockStructure.cpp.

+ Here is the caller graph for this function:

template<class BlockType >
int BlockStructure::gnr ( ) const
inherited
Returns
the blocks.size() of blocks

Definition at line 250 of file BlockStructure.cpp.

+ Here is the caller graph for this function:

template<class BlockType >
void BlockStructure::invert ( )
virtualinherited

Invert positive semidefinite symmetric blocks which is stored in (*this), original matrix (*this) is destroyed

Reimplemented in doci2DM::PHM.

Definition at line 308 of file BlockStructure.cpp.

template<class BlockType >
void BlockStructure::L_map ( const BlockStructure< BlockType > &  map,
const BlockStructure< BlockType > &  object 
)
virtualinherited

Multiply symmetric blocks object left en right with symmetric blocks map to form another symmetric blocks and put it in (*this): this = map*object*map

Parameters
mapBlockStructure that will be multiplied to the left en to the right of matrix object
objectcentral BlockStructure

Definition at line 367 of file BlockStructure.cpp.

double EIG::lsfunc ( double  a) const

Definition at line 117 of file EIG.cpp.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

double EIG::max ( ) const

Definition at line 106 of file EIG.cpp.

+ Here is the call graph for this function:

double EIG::min ( ) const

Definition at line 95 of file EIG.cpp.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

template<class BlockType >
BlockStructure< BlockType > & BlockStructure::mprod ( const BlockStructure< BlockType > &  A,
const BlockStructure< BlockType > &  B 
)
virtualinherited

BlockStructure product of two general blockmatrices A en B, put result in this

Parameters
Aleft matrix
Bright matrix

Definition at line 380 of file BlockStructure.cpp.

template<class BlockType>
double& doci2DM::BlockStructure< BlockType >::operator() ( int  block,
int  i,
int  j 
)
inherited
template<class BlockType>
double doci2DM::BlockStructure< BlockType >::operator() ( int  block,
int  i,
int  j 
) const
inherited
template<class BlockType>
double& doci2DM::BlockStructure< BlockType >::operator() ( int  block,
int  index 
)
inherited
template<class BlockType>
double doci2DM::BlockStructure< BlockType >::operator() ( int  block,
int  index 
) const
inherited
template<>
double & doci2DM::BlockStructure< Matrix >::operator() ( int  block,
int  i,
int  j 
)
inherited

write access to your blocks, change the number in block "block", on row i and column j

Parameters
blockThe index of the block you want to access
irow number
jcolumn number
Returns
the entry on place block,i,j

Definition at line 214 of file BlockStructure.cpp.

template<>
double doci2DM::BlockStructure< Matrix >::operator() ( int  block,
int  i,
int  j 
) const
inherited

read access to your blocks, read the number in block "block" on row i and column j

Parameters
blockThe index of the block you want to access
irow number
jcolumn number
Returns
the entry on place block,i,j

Definition at line 227 of file BlockStructure.cpp.

template<>
double & doci2DM::BlockStructure< Vector >::operator() ( int  block,
int  index 
)
inherited

Definition at line 233 of file BlockStructure.cpp.

template<>
double doci2DM::BlockStructure< Vector >::operator() ( int  block,
int  index 
) const
inherited

Definition at line 239 of file BlockStructure.cpp.

template<class BlockType >
BlockStructure< BlockType > & BlockStructure::operator*= ( double  c)
inherited

Definition at line 196 of file BlockStructure.cpp.

template<class BlockType >
BlockStructure< BlockType > & BlockStructure::operator+= ( const BlockStructure< BlockType > &  blockmat_pl)
inherited

overload the += operator for matrices

Parameters
blockmat_plThe matrix you want to add to this

Definition at line 143 of file BlockStructure.cpp.

template<class BlockType >
BlockStructure< BlockType > & BlockStructure::operator-= ( const BlockStructure< BlockType > &  blockmat_pl)
inherited

overload the -= operator for matrices

Parameters
blockmat_plThe matrix you want to deduct from this

Definition at line 157 of file BlockStructure.cpp.

template<class BlockType >
BlockStructure< BlockType > & BlockStructure::operator/= ( double  c)
inherited

/= operator overloaded: divide by a constant

Parameters
cthe number to divide your matrix through

Definition at line 186 of file BlockStructure.cpp.

template<class BlockType >
BlockType & BlockStructure::operator[] ( int  block)
inherited

[] overloaded, will return a reference to the block block in the blocks.

Parameters
blockindex of the block to be returned
Returns
A reference to the Matrix object located on blocks[block].

Definition at line 91 of file BlockStructure.cpp.

template<class BlockType >
const BlockType & BlockStructure::operator[] ( int  block) const
inherited

[] overloaded, const version, will return a const reference to the block block in the blocks.

Parameters
blockindex of the block to be returned
Returns
A reference to the Matrix object located on blocks[block].

Definition at line 102 of file BlockStructure.cpp.

template<class BlockType >
void BlockStructure::sep_pm ( BlockStructure< BlockType > &  pos,
BlockStructure< BlockType > &  neg 
)
virtualinherited

Definition at line 410 of file BlockStructure.cpp.

template<class BlockType >
void BlockStructure::setDim ( int  block,
int  dim,
int  degeneracy 
)
inherited

function that allocates the memory of the blocks block with dimension dim sets and the degeneracy of the matrix

Parameters
blockthe index of the block that will be allocated
dimthe dimension of the particular block to be allocated
degeneracythe degeneracy of block "block"

Definition at line 76 of file BlockStructure.cpp.

+ Here is the caller graph for this function:

template<class BlockType>
void doci2DM::BlockStructure< BlockType >::sort ( )
inherited
template<>
void doci2DM::BlockStructure< Vector >::sort ( )
inherited

Definition at line 402 of file BlockStructure.cpp.

template<class BlockType >
void BlockStructure::sqrt ( int  option)
virtualinherited

Take the square root out of the positive semidefinite blocks, destroys original blocks, square root will be put in (*this)

Parameters
option= 1, positive square root, = -1, negative square root.

Reimplemented in doci2DM::PHM.

Definition at line 353 of file BlockStructure.cpp.

template<class BlockType >
void BlockStructure::symmetrize ( )
inherited

Copy upper triangle into lower triangle.

Definition at line 393 of file BlockStructure.cpp.

template<class BlockType >
double BlockStructure::trace ( ) const
inherited
Returns
the trace of the matrix, each block matrix is weighed with its degeneracy.

Definition at line 277 of file BlockStructure.cpp.

+ Here is the caller graph for this function:


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