ug4
sparsematrix_util.h File Reference

Go to the source code of this file.

Classes

struct  ug::DenseMatrixFromSparseMatrix< TSparseMatrix >
 

Namespaces

 ug
 the ug namespace
 

Functions

template<typename ABC_type , typename A_type , typename B_type , typename C_type >
void ug::AddMultiplyOf (ABC_type &M, const A_type &A, const B_type &B, const C_type &C, double epsilonTruncation=0.0)
 Calculates M += A*B*C. More...
 
template<typename TSparseMatrix , typename vector_t >
bool ug::Axpy_transposedCommonSparseMatrix (const TSparseMatrix &A, vector_t &dest, const number &alpha1, const vector_t &v1, const number &beta1, const vector_t &w1)
 
template<typename TSparseMatrix , typename vector_t >
bool ug::AxpyCommonSparseMatrix (const TSparseMatrix &A, vector_t &dest, const number &alpha1, const vector_t &v1, const number &beta1, const vector_t &w1)
 
template<typename TSparseMatrix >
bool ug::CheckDiagonalInvertible (const ParallelMatrix< TSparseMatrix > &m)
 
template<typename TSparseMatrix >
bool ug::CheckDiagonalInvertible (const TSparseMatrix &A)
 
template<typename TSparseMatrix >
bool ug::CheckRowIterators (const TSparseMatrix &A)
 
template<typename TVector >
bool ug::CheckVectorInvertible (const ParallelVector< TVector > &v)
 
template<typename TVector >
bool ug::CheckVectorInvertible (const TVector &v)
 
template<typename AB_type , typename A_type , typename B_type >
void ug::CreateAsMultiplyOf (AB_type &M, const A_type &A, const B_type &B)
 Calculates M = A*B. More...
 
template<typename ABC_type , typename A_type , typename B_type , typename C_type >
void ug::CreateAsMultiplyOf (ABC_type &M, const A_type &A, const B_type &B, const C_type &C, double epsilonTruncation=0.0)
 Calculates M = A*B*C. More...
 
template<typename TSparseMatrix , class TIStream >
void ug::DeserializeMatrix (TIStream &buf, TSparseMatrix &A)
 
template<typename TDenseType , typename TSparseMatrix >
size_t ug::GetDenseDoubleFromSparse (TDenseType &A, const TSparseMatrix &S)
 
template<typename TSparseMatrix >
DenseMatrixFromSparseMatrix< TSparseMatrix >::type & ug::GetDenseFromSparse (typename DenseMatrixFromSparseMatrix< TSparseMatrix >::type &A, const TSparseMatrix &S)
 
template<typename TDoubleType , typename TSparseMatrix >
void ug::GetDoubleFromSparseBlock (TDoubleType &A, const TSparseMatrix &S)
 
template<typename TSparseMatrix >
size_t ug::GetDoubleSize (const TSparseMatrix &S)
 
template<typename TDoubleSparse , typename TSparseMatrix >
size_t ug::GetDoubleSparseFromBlockSparse (TDoubleSparse &A, const TSparseMatrix &S)
 
template<typename TSparseMatrix >
size_t ug::GetMaxConnections (const TSparseMatrix &A)
 returns max number of non-zero connections in rows More...
 
template<typename TSparseMatrix >
void ug::GetNeighborhood (const TSparseMatrix &A, size_t node, size_t depth, std::vector< size_t > &indices)
 
template<typename TSparseMatrix >
void ug::GetNeighborhood (const TSparseMatrix &A, size_t node, size_t depth, std::vector< size_t > &indices, std::vector< bool > &bVisited, bool bResetVisitedFlags=true)
 
template<typename TSparseMatrix >
void ug::GetNeighborhood_worker (const TSparseMatrix &A, size_t node, size_t depth, std::vector< size_t > &indices, std::vector< bool > &bVisited)
 
template<typename TSparseMatrix >
void ug::GetNeighborhoodHierachy (const TSparseMatrix &A, size_t node, size_t depth, std::vector< std::vector< size_t > > &indices)
 
template<typename TSparseMatrix >
void ug::GetNeighborhoodHierachy (const TSparseMatrix &A, size_t node, size_t depth, std::vector< std::vector< size_t > > &indices, std::vector< bool > &bVisited, bool bResetVisitedFlags=true)
 
template<typename TSparseMatrix >
void ug::GetNeighborhoodHierachy_worker (const TSparseMatrix &A, size_t node, size_t depth, size_t maxdepth, std::vector< std::vector< size_t > > &indices, std::vector< bool > &bVisited)
 
template<typename TSparseMatrix >
size_t ug::GetNNZs (const TSparseMatrix &A)
 returns the number of non-zeroes (!= number of connections) More...
 
template<typename TSparseMatrix >
bool ug::IsCloseToBoundary (const TSparseMatrix &A, size_t node, size_t distance)
 gets the neighborhood of a node in the connectivity graph of a SparseMatrix. More...
 
template<typename TSparseMatrix >
bool ug::IsDirichletRow (const TSparseMatrix &A, size_t i, size_t alpha)
 Evaluates 'true', iff corresponding row is Dirichlet. More...
 
template<typename TSparseMatrix >
void ug::MarkNeighbors (const TSparseMatrix &A, size_t node, size_t depth, std::vector< bool > &bVisited)
 
template<typename matrix_type >
void ug::MatAdd (matrix_type &M, number alpha1, const matrix_type &A, number alpha2, const matrix_type &B)
 Calculates M = A + B. More...
 
template<typename matrix_type >
void ug::MatAddNonDirichlet (matrix_type &M, number alpha1, const matrix_type &A, number alpha2, const matrix_type &B)
 Calculates M = A + B. More...
 
template<typename TSparseMatrix >
void ug::ScaleRow (TSparseMatrix &A, size_t i, number fac)
 
template<typename TSparseMatrix >
void ug::ScaleSparseMatrixCommon (TSparseMatrix &A, double d)
 
template<typename TSparseMatrix , class TOStream >
void ug::SerializeMatrix (TOStream &buf, const TSparseMatrix &A)
 
template<typename TSparseMatrix >
void ug::SetCol (TSparseMatrix &A, size_t i, size_t alpha, number val=0.0)
 
template<typename TSparseMatrix >
void ug::SetDirichletRow (TSparseMatrix &A, const std::vector< size_t > vIndex)
 
template<typename TSparseMatrix >
void ug::SetDirichletRow (TSparseMatrix &A, size_t i)
 
template<typename TSparseMatrix >
void ug::SetDirichletRow (TSparseMatrix &A, size_t i, size_t alpha)
 
template<typename TSparseMatrix >
void ug::SetRow (TSparseMatrix &A, size_t i, number val=0.0)
 
template<typename TSparseMatrix >
void ug::SetRow (TSparseMatrix &A, size_t i, size_t alpha, number val=0.0)