Feel++
0.91.4
|
#include <backendgmm.hpp>
Public Types | |
typedef super::value_type | value_type |
typedef BackendGmmDefaults | defaults_type |
typedef super::sparse_matrix_type | sparse_matrix_type |
typedef super::sparse_matrix_ptrtype | sparse_matrix_ptrtype |
typedef MatrixGmm< value_type, gmm::row_major > | gmm_sparse_matrix_type |
typedef boost::shared_ptr < gmm_sparse_matrix_type > | gmm_sparse_matrix_ptrtype |
typedef sparse_matrix_type::graph_type | graph_type |
typedef sparse_matrix_type::graph_ptrtype | graph_ptrtype |
typedef super::vector_type | vector_type |
typedef super::vector_ptrtype | vector_ptrtype |
typedef VectorUblas< value_type > | gmm_vector_type |
typedef boost::shared_ptr < vector_type > | gmm_vector_ptrtype |
typedef super::solve_return_type | solve_return_type |
typedef super::nl_solve_return_type | nl_solve_return_type |
Public Member Functions | |
BackendGmm (po::variables_map const &vm, std::string const &prefix="") | |
sparse_matrix_ptrtype | newMatrix (const size_type m, const size_type n, const size_type m_l, const size_type n_l, const size_type nnz=30, const size_type noz=10, size_type matrix_properties=NON_HERMITIAN) |
sparse_matrix_ptrtype | newMatrix (const size_type m, const size_type n, const size_type m_l, const size_type n_l, graph_ptrtype const &graph, size_type matrix_properties=NON_HERMITIAN) |
sparse_matrix_ptrtype | newMatrix (DataMap const &d1, DataMap const &d2, size_type matrix_properties=NON_HERMITIAN, bool init=true) |
sparse_matrix_ptrtype | newZeroMatrix (const size_type m, const size_type n, const size_type m_l, const size_type n_l) |
sparse_matrix_ptrtype | newZeroMatrix (DataMap const &d1, DataMap const &d2) |
vector_ptrtype | newVector (DataMap const &d) |
vector_ptrtype | newVector (const size_type n, const size_type n_local) |
void | set_noisy (int noisy) |
void | set_maxiter (int maxiter) |
void | set_fillin (int fillin) |
void | set_threshold (double threshold) |
void | set_tol (double tol) |
void | set_symmetric (bool isSymmetric) |
void | set_direct (bool isDirect) |
void | set_solver_type (std::string const &solver) |
void | set_preconditioner_type (std::string const &prec) |
void | set_restart (int restart) |
void | prod (sparse_matrix_type const &A, vector_type const &x, vector_type &b) const |
solve_return_type | solve (sparse_matrix_type const &A, vector_type &x, const vector_type &b) |
solve_return_type | solve (sparse_matrix_ptrtype const &A, vector_ptrtype &x, const vector_ptrtype &b) |
solve_return_type | solve (sparse_matrix_ptrtype const &A, sparse_matrix_ptrtype const &P, vector_ptrtype &x, const vector_ptrtype &b) |
value_type | dot (const gmm_vector_type &f, const gmm_vector_type &x) const |
bool | converged () |
size_type | get_iteration () |
boost::shared_ptr < MatrixTriplet< T > > | toTriplet (sparse_matrix_type const &m) |
Static Public Member Functions | |
template<typename DomainSpace , typename DualImageSpace > | |
static sparse_matrix_ptrtype | newMatrix (boost::shared_ptr< DomainSpace > const &space1, boost::shared_ptr< DualImageSpace > const &space2, size_type matrix_properties=NON_HERMITIAN) |
template<typename SpaceT > | |
static vector_ptrtype | newVector (boost::shared_ptr< SpaceT > const &space) |
template<typename SpaceT > | |
static vector_ptrtype | newVector (SpaceT const &space) |
this class provides an interface to the GMM linear algebra library
sparse_matrix_ptrtype Feel::BackendGmm< T >::newMatrix | ( | const size_type | m, |
const size_type | n, | ||
const size_type | m_l, | ||
const size_type | n_l, | ||
const size_type | nnz = 30 , |
||
const size_type | noz = 10 , |
||
size_type | prop = NON_HERMITIAN |
||
) | [inline, virtual] |
instantiate a new sparse vector
Implements Feel::Backend< T >.
sparse_matrix_ptrtype Feel::BackendGmm< T >::newMatrix | ( | const size_type | m, |
const size_type | n, | ||
const size_type | m_l, | ||
const size_type | n_l, | ||
graph_ptrtype const & | graph, | ||
size_type | matrix_properties = NON_HERMITIAN |
||
) | [inline, virtual] |
instantiate a new sparse vector
Implements Feel::Backend< T >.
sparse_matrix_ptrtype Feel::BackendGmm< T >::newMatrix | ( | DataMap const & | dm1, |
DataMap const & | dm2, | ||
size_type | prop = NON_HERMITIAN , |
||
bool | init = true |
||
) | [inline, virtual] |
instantiate a new sparse vector
Implements Feel::Backend< T >.
References Feel::DataMap::nGlobalElements().
vector_ptrtype Feel::BackendGmm< T >::newVector | ( | DataMap const & | dm | ) | [inline, virtual] |
instantiate a new vector
Implements Feel::Backend< T >.
References Feel::DataMap::nGlobalElements().
vector_ptrtype Feel::BackendGmm< T >::newVector | ( | const size_type | n, |
const size_type | n_local | ||
) | [inline, virtual] |
instantiate a new vector
Implements Feel::Backend< T >.
sparse_matrix_ptrtype Feel::BackendGmm< T >::newZeroMatrix | ( | const size_type | m, |
const size_type | n, | ||
const size_type | m_l, | ||
const size_type | n_l | ||
) | [inline, virtual] |
instantiate a new sparse vector
Implements Feel::Backend< T >.
void Feel::BackendGmm< T >::prod | ( | sparse_matrix_type const & | A, |
vector_type const & | x, | ||
vector_type & | y | ||
) | const [inline, virtual] |
Implements Feel::Backend< T >.
References Feel::MatrixGmm< T, LayoutType >::mat(), and Feel::VectorUblas< T, Storage >::vec().
solve_return_type Feel::BackendGmm< T >::solve | ( | sparse_matrix_ptrtype const & | A, |
sparse_matrix_ptrtype const & | P, | ||
vector_ptrtype & | x, | ||
const vector_ptrtype & | b | ||
) | [inline, virtual] |
solve for where
is an approximation of the inverse of
.
A | matrix to inverse |
rhs | right hand side vector |
solution | solution of the system |
P | preconditioner |
maxit | maximum number of iterations |
tolerance | tolerance on the residual |
transpose | if true solve the transpose problem |
Implements Feel::Backend< T >.