24 #include <cusp/detail/config.h>
27 #include <cusp/linear_operator.h>
29 #include <cusp/coo_matrix.h>
30 #include <cusp/csr_matrix.h>
31 #include <cusp/hyb_matrix.h>
36 #include <cusp/detail/spectral_radius.h>
51 template <
typename IndexType,
typename ValueType,
typename MemorySpace>
54 template <
typename IndexType,
typename ValueType>
58 typedef typename cusp::csr_matrix<IndexType,ValueType,cusp::host_memory>
setup_type;
59 typedef typename cusp::csr_matrix<IndexType,ValueType,cusp::host_memory>
solve_type;
62 template <
typename IndexType,
typename ValueType>
68 typedef typename cusp::csr_matrix<IndexType,ValueType,cusp::device_memory>
setup_type;
69 typedef typename cusp::csr_matrix<IndexType,ValueType,cusp::device_memory>
solve_type;
73 template<
typename MatrixType>
82 cusp::array1d<ValueType,MemorySpace>
B;
88 template<
typename SA_Level_Type>
98 template <
typename IndexType,
typename ValueType,
typename MemorySpace,
99 typename SmootherType,
114 template <
typename MatrixType>
117 template <
typename MatrixType,
typename ArrayType>
120 template <
typename MemorySpace2,
typename SmootherType2,
typename SolverType2>
125 template <
typename MatrixType,
typename ArrayType>
126 void init(
const MatrixType&
A,
const ArrayType&
B);
137 #include <cusp/precond/block_smoothed_aggregation.inl>
cusp::csr_matrix< IndexType, ValueType, cusp::device_memory > solve_type
amg_container< IndexType, ValueType, MemorySpace >::solve_type SolveMatrixType
MatrixType::value_type ValueType
cusp::block_multilevel< SolveMatrixType, SmootherType, SolverType > Parent
block_smoothed_aggregation(const MatrixType &A, const IndexType numRHS, const ValueType theta=0)
cusp::array1d< ValueType, MemorySpace > B
MatrixType::index_type IndexType
amg_container< IndexType, ValueType, MemorySpace >::solve_type::index_type IndexType
cusp::csr_matrix< IndexType, ValueType, cusp::device_memory > setup_type
cusp::csr_matrix< IndexType, ValueType, cusp::host_memory > setup_type
void init(const MatrixType &A, const ArrayType &B)
void extend_hierarchy(void)
amg_container< IndexType, ValueType, MemorySpace >::solve_type::value_type ValueType
amg_container< IndexType, ValueType, MemorySpace >::setup_type SetupMatrixType
std::vector< sa_level< SetupMatrixType > > sa_levels
cusp::csr_matrix< IndexType, ValueType, cusp::host_memory > solve_type
sa_level(const SA_Level_Type &sa_level)
MatrixType::memory_space MemorySpace
cusp::array1d< IndexType, MemorySpace > aggregates