struct AdderSelector
template meta program for choosing how to add the correction. More...
struct AdderSelector< AdditiveSchwarzMode, X, S >
struct AdderSelector< MultiplicativeSchwarzMode, X, S >
struct AdderSelector< SymmetricMultiplicativeSchwarzMode, X, S >
struct AdditiveAdder
struct AdditiveAdder< S, BlockVector< FieldVector< T, n >, A > >
struct AdditiveSchwarzMode
Tag that the tells the schwarz method to be additive. More...
struct algmeta_bdsolve
struct algmeta_bdsolve< 0, norelax >
struct algmeta_bdsolve< 0, withrelax >
struct algmeta_btsolve
struct algmeta_btsolve< 0, nodiag, norelax >
struct algmeta_btsolve< 0, nodiag, withrelax >
struct algmeta_btsolve< 0, withdiag, norelax >
struct algmeta_btsolve< 0, withdiag, withrelax >
struct algmeta_itsteps
struct algmeta_itsteps< 0, M >
struct algmeta_itsteps< I, MultiTypeBlockMatrix< T1, MultiTypeMatrixArgs... > >
class AssembledLinearOperator
A linear operator exporting itself in matrix form. More...
class base_array
This container extends base_array_unmanaged by memory management with the usual copy semantics providing the full range of copy constructor, destructor and assignment operators. More...
class base_array_unmanaged
A simple array container for objects of type B. More...
class base_array_window
Extend base_array_unmanaged by functions to manipulate. More...
struct BaseGetSuperLUType
class BCRSMatrix
A sparse block matrix with compressed row storage. More...
class BCRSMatrixError
Error specific to BCRSMatrix . More...
class BDMatrix
A block-diagonal matrix. More...
class BiCGSTABSolver
Bi-conjugate Gradient Stabilized (BiCG-STAB) More...
struct BL
compile-time parameter for block recursion depth More...
class block_vector_unmanaged
An unmanaged vector of blocks. More...
class BlockPreconditioner
Block parallel preconditioner. More...
class BlockVector
A vector of blocks with memory management. More...
class BlockVectorWindow
class BTDMatrix
A block-tridiagonal matrix. More...
class CGSolver
conjugate gradient method More...
struct CheckIfDiagonalPresent
Check whether the a matrix has diagonal values on blocklevel recursion levels. More...
struct CheckIfDiagonalPresent< Matrix, 0, l >
struct CheckIfDiagonalPresent< MultiTypeBlockMatrix< T1, Args... >, blocklevel, l >
struct ColCompMatrix
Utility class for converting an ISTL Matrix into a column-compressed matrix. More...
class ColCompMatrix< BCRSMatrix< FieldMatrix< B, n, m >, TA > >
Converter for BCRSMatrix to column-compressed Matrix . specialization for BCRSMatrix . More...
struct ColCompMatrixInitializer
Inititializer for the ColCompMatrix as needed by OverlappingSchwarz. More...
class ColCompMatrixInitializer< BCRSMatrix< FieldMatrix< T, n, m >, A > >
struct CommMatrixRow
Utility class for comunicating the matrix entries. More...
struct CommMatrixRowSize
Utility class to communicate and set the row sizes of a redistributed matrix. More...
struct CommMatrixSparsityPattern
Utility class to communicate and build the sparsity pattern of a redistributed matrix. More...
struct CommPolicy< Amg::GlobalAggregatesMap< T, TI > >
struct CommPolicy< CommMatrixRow< M, I > >
struct CommPolicy< CommMatrixSparsityPattern< M, I > >
class compressed_base_array_unmanaged
A simple array container with non-consecutive index set. More...
class compressed_block_vector_unmanaged
class CompressedBlockVectorWindow
struct CompressionStatistics
Statistics about compression achieved in implicit mode. More...
struct DenseMatrixAssigner< DenseMatrix, ScaledIdentityMatrix< field, N > >
class DynamicMatrixSubdomainSolver
Exact subdomain solver using Dune::DynamicMatrix<T>::solve. More...
class DynamicMatrixSubdomainSolver< BCRSMatrix< FieldMatrix< K, n, n >, Al >, X, Y >
class FieldMatrix
struct FieldTraits< BlockVector< B, A > >
struct FieldTraits< MultiTypeBlockVector< Arg0, Args... > >
class GeneralizedPCGSolver
Generalized preconditioned conjugate gradient solver. More...
struct GetSuperLUType
struct GetSuperLUType< double >
struct GetSuperLUType< float >
struct GetSuperLUType< std::complex< double > >
struct GetSuperLUType< std::complex< float > >
class GradientSolver
gradient method More...
class ILU0SubdomainSolver
Exact subdomain solver using ILU(p) with appropriate p. More...
class ILUNSubdomainSolver
class ILUSubdomainSolver
base class encapsulating common algorithms of ILU0SubdomainSolver and ILUNSubdomainSolver . More...
class ImplicitMatrixBuilder
A wrapper for uniform access to the BCRSMatrix during and after the build stage in implicit build mode. More...
class ImplicitModeOverflowExhausted
The overflow error used during implicit BCRSMatrix construction was exhausted. More...
class IndexInfoFromGrid
Information about the index distribution. More...
class InverseOperator
Abstract base class for all solvers. More...
class InverseOperator2Preconditioner
Turns an InverseOperator into a Preconditioner . More...
struct InverseOperatorResult
Statistics about the application of an inverse operator. More...
struct IsDirectSolver
struct IsDirectSolver< LDL< BCRSMatrix< FieldMatrix< T, n, m >, A > > >
struct IsDirectSolver< SPQR< BCRSMatrix< FieldMatrix< T, n, m >, A > > >
struct IsDirectSolver< SuperLU< BCRSMatrix< FieldMatrix< T, n, m >, A > > >
struct IsDirectSolver< UMFPack< BCRSMatrix< FieldMatrix< T, n, m >, A > > >
struct IsMatrix
Test whether a type is an ISTL Matrix . More...
struct IsMatrix< BCRSMatrix< T, A > >
struct IsMatrix< DenseMatrix< T > >
class ISTLError
derive error class from the base class in common More...
struct IteratorDirectionSelector
Helper template meta program for application of overlapping schwarz. More...
struct IteratorDirectionSelector< T1, T2, false >
class LDL
Use the LDL package to directly solve linear systems – empty default class. More...
class LDL< BCRSMatrix< FieldMatrix< T, n, m >, A > >
The LDL direct sparse solver for matrices of type BCRSMatrix . More...
class LinearOperator
A linear operator. More...
class LinearOperatorSum
A linear operator representing the sum of two linear operators. More...
class LoopSolver
Preconditioned loop solver. More...
struct MatMultMatResult
Helper TMP to get the result type of a sparse matrix matrix multiplication ( ) More...
struct MatMultMatResult< BCRSMatrix< FieldMatrix< T, n, k >, A >, BCRSMatrix< FieldMatrix< T, k, m >, A1 > >
struct MatMultMatResult< FieldMatrix< T, n, k >, FieldMatrix< T, k, m > >
class Matrix
A generic dynamic dense matrix. More...
class MatrixAdapter
Adapter to turn a matrix into a linear operator. More...
class MatrixBlockError
struct MatrixCopyRowSizeGatherScatter
struct MatrixDimension
struct MatrixDimension< BCRSMatrix< B, TA > >
struct MatrixDimension< BCRSMatrix< FieldMatrix< B, n, m >, TA > >
struct MatrixDimension< DiagonalMatrix< K, n > >
struct MatrixDimension< Dune::DynamicMatrix< T > >
struct MatrixDimension< FieldMatrix< K, n, m > >
struct MatrixDimension< Matrix< FieldMatrix< K, n, m >, TA > >
struct MatrixDimension< ScaledIdentityMatrix< K, n > >
class MatrixIndexSet
Stores the nonzero entries in a sparse matrix. More...
class MatrixMarketFormatError
struct MatrixRowGatherScatter
class MatrixRowSet
Provides access to an iterator over all matrix rows. More...
struct MatrixRowSizeGatherScatter
class MatrixRowSubset
Provides access to an iterator over an arbitrary subset of matrix rows. More...
struct MatrixSparsityPatternGatherScatter
class MINRESSolver
Minimal Residual Method (MINRES) More...
struct mm_multipliers
struct mm_multipliers< BCRSMatrix< FieldMatrix< B, i, j >, A > >
struct MultiplicativeAdder
struct MultiplicativeAdder< S, BlockVector< FieldVector< T, n >, A > >
struct MultiplicativeSchwarzMode
Tag that tells the Schwarz method to be multiplicative. More...
class MultiTypeBlockMatrix
A Matrix class to support different block types. More...
class MultiTypeBlockMatrix_Solver
solver for MultiTypeBlockVector & MultiTypeBlockMatrix types More...
class MultiTypeBlockMatrix_Solver< I, crow, 0 >
class MultiTypeBlockMatrix_Solver_Col
part of solvers for MultiTypeBlockVector & MultiTypeBlockMatrix types More...
class MultiTypeBlockMatrix_Solver_Col< I, crow, ccol, 0 >
class MultiTypeBlockVector
A Vector class to support different block types. More...
class NonoverlappingBlockPreconditioner
Nonoverlapping parallel preconditioner. More...
class NonoverlappingSchwarzOperator
A nonoverlapping operator with communication object. More...
class NonoverlappingSchwarzScalarProduct
Nonoverlapping Scalar Product with communication object. More...
class OverlappingAssignerHelper
class OverlappingAssignerHelper< DynamicMatrixSubdomainSolver< BCRSMatrix< FieldMatrix< K, n, n >, Al >, X, Y >, false >
class OverlappingAssignerHelper< ILU0SubdomainSolver< M, X, Y >, false >
class OverlappingAssignerHelper< ILUNSubdomainSolver< M, X, Y >, false >
struct OverlappingAssignerHelper< S< BCRSMatrix< FieldMatrix< T, n, m >, A > >, true >
class OverlappingAssignerILUBase
class OverlappingSchwarzInitializer
Initializer for SuperLU Matrices representing the subdomains. More...
class OverlappingSchwarzOperator
An overlapping schwarz operator. More...
class OverlappingSchwarzScalarProduct
Scalar product for overlapping schwarz methods. More...
struct OwnerOverlapCopyAttributeSet
Attribute set for overlapping schwarz. More...
class OwnerOverlapCopyCommunication
A class setting up standard communication for a two-valued attribute set with owner/overlap/copy semantics. More...
class ParSSOR
A parallel SSOR preconditioner. More...
struct PointerCompare
class PowerIteration_Algorithms
A class template for performing some iterative eigenvalue algorithms based on power iteration. More...
class Preconditioner
Base class for matrix free definition of preconditioners. More...
struct PropertyMapTypeSelector< Amg::VertexVisitedTag, Amg::PropertiesGraph< G, Amg::VertexProperties, EP, VM, EM > >
struct QuerySpaceChooser
struct QuerySpaceChooser< float >
struct RedistributeInformation
class RedistributeInformation< OwnerOverlapCopyCommunication< T, T1 > >
struct RedistributeInterface
class RestartedGMResSolver
implements the Generalized Minimal Residual (GMRes) method More...
class Richardson
Richardson preconditioner. More...
class ScalarProduct
Base class for scalar product and norm computation. More...
struct ScalarProductChooser
Choose the approriate scalar product for a solver category. More...
struct ScalarProductChooser< X, C, SolverCategory::nonoverlapping >
struct ScalarProductChooser< X, C, SolverCategory::overlapping >
struct ScalarProductChooser< X, C, SolverCategory::sequential >
class ScaledIdentityMatrix
A multiple of the identity matrix of static size. More...
class ScalingLinearOperator
A linear operator scaling vectors by a scalar value. The scalar value can be changed as it is given in a form decomposed into an immutable and a mutable part. More...
class SeqGS
Sequential Gauss Seidel preconditioner. More...
class SeqILU0
Sequential ILU0 preconditioner. More...
class SeqILUn
Sequential ILU(n) preconditioner. More...
class SeqJac
The sequential jacobian preconditioner. More...
class SeqOverlappingSchwarz
Sequential overlapping Schwarz preconditioner. More...
struct SeqOverlappingSchwarzApplier
Helper template meta program for application of overlapping schwarz. More...
struct SeqOverlappingSchwarzApplier< SeqOverlappingSchwarz< M, X, SymmetricMultiplicativeSchwarzMode, TD, TA > >
struct SeqOverlappingSchwarzAssemblerHelper
struct SeqOverlappingSchwarzAssemblerHelper< DynamicMatrixSubdomainSolver< BCRSMatrix< FieldMatrix< K, n, n >, Al >, X, Y >, false >
struct SeqOverlappingSchwarzAssemblerHelper< ILU0SubdomainSolver< M, X, Y >, false >
struct SeqOverlappingSchwarzAssemblerHelper< ILUNSubdomainSolver< M, X, Y >, false >
struct SeqOverlappingSchwarzAssemblerHelper< S< BCRSMatrix< FieldMatrix< T, m, n >, A > >, true >
struct SeqOverlappingSchwarzAssemblerILUBase
struct SeqOverlappingSchwarzDomainSize
struct SeqOverlappingSchwarzDomainSize< BCRSMatrix< FieldMatrix< T, n, m >, A > >
class SeqScalarProduct
Default implementation for the scalar case. More...
class SeqSOR
Sequential SOR preconditioner. More...
class SeqSSOR
Sequential SSOR preconditioner. More...
class SolverAbort
Thrown when a solver aborts due to some problem. More...
struct SolverCategory
Categories for the solvers. More...
class SolverHelper
Helper class for notifying a DUNE-ISTL linear solver about a change of the iteration matrix object in a unified way, i.e. independent from the solver's type (direct/iterative). More...
class SPQR
Use the SPQR package to directly solve linear systems – empty default class. More...
class SPQR< BCRSMatrix< FieldMatrix< T, n, m >, A > >
The SPQR direct sparse solver for matrices of type BCRSMatrix . More...
struct StoresColumnCompressed
struct StoresColumnCompressed< LDL< BCRSMatrix< FieldMatrix< T, n, m >, A > > >
struct StoresColumnCompressed< SPQR< BCRSMatrix< FieldMatrix< T, n, m >, A > > >
struct StoresColumnCompressed< SuperLU< BCRSMatrix< FieldMatrix< T, n, m >, A > > >
struct StoresColumnCompressed< UMFPack< BCRSMatrix< FieldMatrix< T, n, m >, A > > >
class SuperLU
class SuperLU< BCRSMatrix< FieldMatrix< T, n, m >, A > >
SuperLu Solver. More...
struct SuperLUDenseMatChooser
struct SuperLUDenseMatChooser< float >
struct SuperLUMatrix
Utility class for converting an ISTL Matrix into a SuperLU Matrix . More...
class SuperLUMatrix< BCRSMatrix< FieldMatrix< B, n, m >, TA > >
Converter for BCRSMatrix to SuperLU Matrix . More...
struct SuperLUQueryChooser
struct SuperLUSolveChooser
struct SuperLUSolveChooser< float >
struct SuperMatrixCreateSparseChooser
struct SuperMatrixCreateSparseChooser< float >
struct SuperMatrixInitializer
class SuperMatrixInitializer< BCRSMatrix< FieldMatrix< T, n, m >, A > >
struct SuperMatrixPrinter
struct SuperMatrixPrinter< float >
struct SymmetricMultiplicativeSchwarzMode
Tag that tells the Schwarz method to be multiplicative and symmetric. More...
struct TransposedMatMultMatResult
Helper TMP to get the result type of a sparse matrix matrix multiplication ( ) More...
struct TransposedMatMultMatResult< BCRSMatrix< FieldMatrix< T, k, n >, A >, BCRSMatrix< FieldMatrix< T, k, m >, A1 > >
struct TransposedMatMultMatResult< FieldMatrix< T, k, n >, FieldMatrix< T, k, m > >
class UMFPack
Use the UMFPack package to directly solve linear systems – empty default class. More...
class UMFPack< BCRSMatrix< FieldMatrix< T, n, m >, A > >
The UMFPack direct sparse solver for matrices of type BCRSMatrix . More...
struct UMFPackMethodChooser
struct UMFPackMethodChooser< double >
struct UMFPackMethodChooser< std::complex< double > >
class VariableBlockVector
A Vector of blocks with different blocksizes. More...
template<class K , class A >
std::ostream & operator<< (std::ostream &s , const BlockVector < K, A > &v)
Send BlockVector to an output stream.
template<class F , class MRS >
void copyToColCompMatrix (F &initializer , const MRS &mrs )
template<class F , class M , class S >
void copyToColCompMatrix (F &initializer , const MatrixRowSubset < M, S > &mrs )
template<class M , class X , class Y >
void bltsolve (const M &A, X &v, const Y &d )
block lower triangular solve
template<class M , class X , class Y , class K >
void bltsolve (const M &A, X &v, const Y &d , const K &w )
relaxed block lower triangular solve
template<class M , class X , class Y >
void ubltsolve (const M &A, X &v, const Y &d )
unit block lower triangular solve
template<class M , class X , class Y , class K >
void ubltsolve (const M &A, X &v, const Y &d , const K &w )
relaxed unit block lower triangular solve
template<class M , class X , class Y >
void butsolve (const M &A, X &v, const Y &d )
block upper triangular solve
template<class M , class X , class Y , class K >
void butsolve (const M &A, X &v, const Y &d , const K &w )
relaxed block upper triangular solve
template<class M , class X , class Y >
void ubutsolve (const M &A, X &v, const Y &d )
unit block upper triangular solve
template<class M , class X , class Y , class K >
void ubutsolve (const M &A, X &v, const Y &d , const K &w )
relaxed unit block upper triangular solve
template<class M , class X , class Y , int l>
void bltsolve (const M &A, X &v, const Y &d , BL < l >)
block lower triangular solve
template<class M , class X , class Y , class K , int l>
void bltsolve (const M &A, X &v, const Y &d , const K &w , BL < l >)
relaxed block lower triangular solve
template<class M , class X , class Y , int l>
void ubltsolve (const M &A, X &v, const Y &d , BL < l >)
unit block lower triangular solve
template<class M , class X , class Y , class K , int l>
void ubltsolve (const M &A, X &v, const Y &d , const K &w , BL < l >)
relaxed unit block lower triangular solve
template<class M , class X , class Y , int l>
void butsolve (const M &A, X &v, const Y &d , BL < l > bl )
block upper triangular solve
template<class M , class X , class Y , class K , int l>
void butsolve (const M &A, X &v, const Y &d , const K &w , BL < l > bl )
relaxed block upper triangular solve
template<class M , class X , class Y , int l>
void ubutsolve (const M &A, X &v, const Y &d , BL < l > bl )
unit block upper triangular solve
template<class M , class X , class Y , class K , int l>
void ubutsolve (const M &A, X &v, const Y &d , const K &w , BL < l > bl )
relaxed unit block upper triangular solve
template<class M , class X , class Y >
void bdsolve (const M &A, X &v, const Y &d )
block diagonal solve, no relaxation
template<class M , class X , class Y , class K >
void bdsolve (const M &A, X &v, const Y &d , const K &w )
block diagonal solve, with relaxation
template<class M , class X , class Y , int l>
void bdsolve (const M &A, X &v, const Y &d , BL < l >)
block diagonal solve, no relaxation
template<class M , class X , class Y , class K , int l>
void bdsolve (const M &A, X &v, const Y &d , const K &w , BL < l >)
block diagonal solve, with relaxation
template<class M , class X , class Y , class K >
void dbgs (const M &A, X &x, const Y &b, const K &w )
GS step.
template<class M , class X , class Y , class K , int l>
void dbgs (const M &A, X &x, const Y &b, const K &w , BL < l >)
GS step.
template<class M , class X , class Y , class K >
void bsorf (const M &A, X &x, const Y &b, const K &w )
SOR step.
template<class M , class X , class Y , class K , int l>
void bsorf (const M &A, X &x, const Y &b, const K &w , BL < l >)
SOR step.
template<class M , class X , class Y , class K >
void bsorb (const M &A, X &x, const Y &b, const K &w )
SSOR step.
template<class M , class X , class Y , class K , int l>
void bsorb (const M &A, X &x, const Y &b, const K &w , BL < l >)
Backward SOR step.
template<class M , class X , class Y , class K >
void dbjac (const M &A, X &x, const Y &b, const K &w )
Jacobi step.
template<class M , class X , class Y , class K , int l>
void dbjac (const M &A, X &x, const Y &b, const K &w , BL < l >)
Jacobi step.
template<class M >
void bilu0_decomposition (M &A)
compute ILU decomposition of A. A is overwritten by its decomposition
template<class M , class X , class Y >
void bilu_backsolve (const M &A, X &v, const Y &d )
LU backsolve with stored inverse.
template<class M >
M::field_type & firstmatrixelement (M &A)
template<class K , int n, int m>
K & firstmatrixelement (FieldMatrix < K, n, m > &A)
template<class K >
K & firstmatrixelement (FieldMatrix < K, 1, 1 > &A)
template<class M >
void bilu_decomposition (const M &A, int n, M &ILU)
template<class V >
void recursive_printvector (std::ostream &s , const V &v, std::string rowtext , int &counter , int columns , int width , int precision )
Recursively print all the blocks.
template<class K , int n>
void recursive_printvector (std::ostream &s , const FieldVector < K, n > &v, std::string rowtext , int &counter , int columns , int width , int precision )
Recursively print all the blocks – specialization for FieldVector.
template<class V >
void printvector (std::ostream &s , const V &v, std::string title , std::string rowtext , int columns =1, int width =10, int precision =2)
Print an ISTL vector.
void fill_row (std::ostream &s , int m, int width , int precision )
Print a row of zeros for a non-existing block.
template<class M >
void print_row (std::ostream &s , const M &A, typename M::size_type I , typename M::size_type J , typename M::size_type therow , int width , int precision )
Print one row of a matrix.
template<class K , int n, int m>
void print_row (std::ostream &s , const FieldMatrix < K, n, m > &A, typename FieldMatrix < K, n, m >::size_type I , typename FieldMatrix < K, n, m >::size_type J , typename FieldMatrix < K, n, m >::size_type therow , int width , int precision )
Print one row of a matrix, specialization for FieldMatrix .
template<class K >
void print_row (std::ostream &s , const FieldMatrix < K, 1, 1 > &A, typename FieldMatrix < K, 1, 1 >::size_type I , typename FieldMatrix < K, 1, 1 >::size_type J , typename FieldMatrix < K, 1, 1 >::size_type therow , int width , int precision )
Print one row of a matrix, specialization for FieldMatrix<K,1,1>
template<class M >
void printmatrix (std::ostream &s , const M &A, std::string title , std::string rowtext , int width =10, int precision =2)
Print a generic block matrix.
template<class B , int n, int m, class A >
void printSparseMatrix (std::ostream &s , const BCRSMatrix < FieldMatrix < B, n, m >, A > &mat , std::string title , std::string rowtext , int width =3, int precision =2)
Prints a BCRSMatrix with fixed sized blocks.
template<class FieldType , int dim>
void writeMatrixToMatlabHelper (const ScaledIdentityMatrix < FieldType , dim > &matrix, int rowOffset , int colOffset , std::ostream &s )
Helper method for the writeMatrixToMatlab routine.
template<class FieldType , int dim>
void writeMatrixToMatlabHelper (const DiagonalMatrix < FieldType , dim > &matrix, int rowOffset , int colOffset , std::ostream &s )
Helper method for the writeMatrixToMatlab routine.
template<class FieldType , int rows, int cols>
void writeMatrixToMatlabHelper (const FieldMatrix < FieldType , rows, cols > &matrix, int rowOffset , int colOffset , std::ostream &s )
Helper method for the writeMatrixToMatlab routine.
template<class FieldType >
void writeMatrixToMatlabHelper (const DynamicMatrix < FieldType > &matrix, int rowOffset , int colOffset , std::ostream &s )
Helper method for the writeMatrixToMatlab routine.
template<class MatrixType >
void writeMatrixToMatlabHelper (const MatrixType &matrix, int externalRowOffset , int externalColOffset , std::ostream &s )
Helper method for the writeMatrixToMatlab routine.
template<class MatrixType >
void writeMatrixToMatlab (const MatrixType &matrix, const std::string &filename , int outputPrecision =18)
Writes sparse matrix in a Matlab-readable format.
void mm_read_header (std::size_t &rows, std::size_t &cols, MatrixMarketImpl::MMHeader &header , std::istream &istr , bool isVector )
template<typename T , typename A , int entries>
void mm_read_vector_entries (Dune::BlockVector < Dune::FieldVector < T, entries >, A > &vector, std::size_t size, std::istream &istr )
template<typename T , typename A , int entries>
void readMatrixMarket (Dune::BlockVector < Dune::FieldVector < T, entries >, A > &vector, std::istream &istr )
Reads a BlockVector from a matrix market file.
template<typename T , typename A , int brows, int bcols>
void readMatrixMarket (Dune::BCRSMatrix < Dune::FieldMatrix < T, brows , bcols >, A > &matrix, std::istream &istr )
Reads a sparse matrix from a matrix market file.
template<typename B , int i, int j>
void mm_print_entry (const FieldMatrix < B, i, j > &entry, typename FieldMatrix < B, i, j >::size_type rowidx , typename FieldMatrix < B, i, j >::size_type colidx , std::ostream &ostr )
template<typename V >
void mm_print_vector_entry (const V &entry, std::ostream &ostr , const std::integral_constant< int , 1 > &)
template<typename V >
void mm_print_vector_entry (const V &vector, std::ostream &ostr , const std::integral_constant< int , 0 > &)
template<typename T , typename A , int i>
std::size_t countEntries (const BlockVector < FieldVector < T, i >, A > &vector)
template<typename V >
void writeMatrixMarket (const V &vector, std::ostream &ostr , const std::integral_constant< int , 0 > &)
template<typename M >
void writeMatrixMarket (const M &matrix, std::ostream &ostr , const std::integral_constant< int , 1 > &)
template<typename M >
void writeMatrixMarket (const M &matrix, std::ostream &ostr )
writes a ISTL matrix or vector to a stream in matrix market format.
template<typename M >
void storeMatrixMarket (const M &matrix, std::string filename )
Stores a parallel matrix/vector in matrix market format in a file.
template<typename M , typename G , typename L >
void storeMatrixMarket (const M &matrix, std::string filename , const OwnerOverlapCopyCommunication < G , L > &comm, bool storeIndices =true )
Stores a parallel matrix/vector in matrix market format in a file.
template<typename M , typename G , typename L >
void loadMatrixMarket (M &matrix, const std::string &filename , OwnerOverlapCopyCommunication < G , L > &comm, bool readIndices =true )
Load a parallel matrix/vector stored in matrix market format.
template<typename M >
void loadMatrixMarket (M &matrix, const std::string &filename )
Load a matrix/vector stored in matrix market format.
template<class T , class A , class A1 , class A2 , int n, int m, int k>
void matMultTransposeMat (BCRSMatrix < FieldMatrix < T, n, k >, A > &res , const BCRSMatrix < FieldMatrix < T, n, m >, A1 > &mat , const BCRSMatrix < FieldMatrix < T, k, m >, A2 > &matt , bool tryHard =false )
Calculate product of a sparse matrix with a transposed sparse matrices ( ).
template<class T , class A , class A1 , class A2 , int n, int m, int k>
void matMultMat (BCRSMatrix < FieldMatrix < T, n, m >, A > &res , const BCRSMatrix < FieldMatrix < T, n, k >, A1 > &mat , const BCRSMatrix < FieldMatrix < T, k, m >, A2 > &matt , bool tryHard =false )
Calculate product of two sparse matrices ( ).
template<class T , class A , class A1 , class A2 , int n, int m, int k>
void transposeMatMultMat (BCRSMatrix < FieldMatrix < T, n, m >, A > &res , const BCRSMatrix < FieldMatrix < T, k, n >, A1 > &mat , const BCRSMatrix < FieldMatrix < T, k, m >, A2 > &matt , bool tryHard =false )
Calculate product of a transposed sparse matrix with another sparse matrices ( ).
template<typename M , typename C >
void redistributeSparsityPattern (M &origMatrix , M &newMatrix , C &origComm , C &newComm , RedistributeInformation < C > &ri)
template<typename M , typename C >
void redistributeMatrixEntries (M &origMatrix , M &newMatrix , C &origComm , C &newComm , RedistributeInformation < C > &ri)
template<typename M , typename C >
void redistributeMatrix (M &origMatrix , M &newMatrix , C &origComm , C &newComm , RedistributeInformation < C > &ri)
Redistribute a matrix according to given domain decompositions.
template<typename M >
void redistributeMatrixEntries (M &origMatrix , M &newMatrix , Dune::Amg::SequentialInformation &origComm , Dune::Amg::SequentialInformation &newComm , RedistributeInformation < Dune::Amg::SequentialInformation > &ri)
template<typename M >
void redistributeMatrix (M &origMatrix , M &newMatrix , Dune::Amg::SequentialInformation &origComm , Dune::Amg::SequentialInformation &newComm , RedistributeInformation < Dune::Amg::SequentialInformation > &ri)
template<class M >
int countNonZeros (const M &matrix)
Get the number of nonzero fields in the matrix.
template<class M , class C >
void printGlobalSparseMatrix (const M &mat , C &ooc , std::ostream &os )
template<typename T1 , typename... Args>
std::ostream & operator<< (std::ostream &s , const MultiTypeBlockMatrix < T1 , Args... > &m)
<< operator for a MultiTypeBlockMatrix
template<typename... Args>
std::ostream & operator<< (std::ostream &s , const MultiTypeBlockVector < Args... > &v)
Send MultiTypeBlockVector to an outstream.
template<typename G , typename EP , typename VM , typename EM >
PropertyMapTypeSelector < Amg::VertexVisitedTag , Amg::PropertiesGraph < G , Amg::VertexProperties , EP , VM , EM > >::Type get (const Amg::VertexVisitedTag &tag , Amg::PropertiesGraph < G , Amg::VertexProperties , EP , VM , EM > &graph)
template<class G , class T1 , class T2 >
void fillIndexSetHoles (const G &graph, Dune::OwnerOverlapCopyCommunication < T1 , T2 > &oocomm )
Fills the holes in an index set.
template<class G , class T1 , class T2 >
bool buildCommunication (const G &graph, std::vector< int > &realparts , Dune::OwnerOverlapCopyCommunication < T1 , T2 > &oocomm , Dune::OwnerOverlapCopyCommunication < T1 , T2 > *&outcomm , RedistributeInterface &redistInf , bool verbose=false )
template<class S , class T >
void print_carray (S &os , T *array, std::size_t l )
bool isValidGraph (std::size_t noVtx , std::size_t gnoVtx , idxtype noEdges, idxtype *xadj , idxtype *adjncy , bool checkSymmetry )
template<class M , class T1 , class T2 >
bool commGraphRepartition (const M &mat , Dune::OwnerOverlapCopyCommunication < T1 , T2 > &oocomm , idxtype nparts , Dune::OwnerOverlapCopyCommunication < T1 , T2 > *&outcomm , RedistributeInterface &redistInf , bool verbose=false )
template<class G , class T1 , class T2 >
bool graphRepartition (const G &graph, Dune::OwnerOverlapCopyCommunication < T1 , T2 > &oocomm , idxtype nparts , Dune::OwnerOverlapCopyCommunication < T1 , T2 > *&outcomm , RedistributeInterface &redistInf , bool verbose=false )
execute a graph repartition for a giving graph and indexset.