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>
51template <
typename IndexType,
typename ValueType,
typename MemorySpace>
54template <
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;
62template <
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;
73template<
typename MatrixType>
82 cusp::array1d<ValueType,MemorySpace>
B;
88 template<
typename SA_Level_Type>
98template <
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>
MatrixType::index_type IndexType
MatrixType::value_type ValueType
block_smoothed_aggregation(const block_smoothed_aggregation< IndexType, ValueType, MemorySpace2, SmootherType2, SolverType2 > &M)
block_smoothed_aggregation(const MatrixType &A, const ArrayType &B, const IndexType numRHS, const ValueType theta=0)
void init(const MatrixType &A, const ArrayType &B)
amg_container< IndexType, ValueType, MemorySpace >::setup_type SetupMatrixType
amg_container< IndexType, ValueType, MemorySpace >::solve_type SolveMatrixType
block_smoothed_aggregation(const MatrixType &A, const IndexType numRHS, const ValueType theta=0)
cusp::block_multilevel< SolveMatrixType, SmootherType, SolverType > Parent
std::vector< sa_level< SetupMatrixType > > sa_levels
void extend_hierarchy(void)
cusp::csr_matrix< IndexType, ValueType, cusp::device_memory > solve_type
cusp::csr_matrix< IndexType, ValueType, cusp::device_memory > setup_type
cusp::csr_matrix< IndexType, ValueType, cusp::host_memory > setup_type
cusp::csr_matrix< IndexType, ValueType, cusp::host_memory > solve_type
cusp::array1d< ValueType, MemorySpace > B
MatrixType::index_type IndexType
MatrixType::value_type ValueType
MatrixType::memory_space MemorySpace
sa_level(const SA_Level_Type &sa_level)
cusp::array1d< IndexType, MemorySpace > aggregates