Implementation of FSPAI. Experimental. More...
#include <utility>
#include <iostream>
#include <fstream>
#include <string>
#include <algorithm>
#include <vector>
#include <math.h>
#include <map>
#include "boost/numeric/ublas/vector.hpp"
#include "boost/numeric/ublas/matrix.hpp"
#include "boost/numeric/ublas/matrix_proxy.hpp"
#include "boost/numeric/ublas/vector_proxy.hpp"
#include "boost/numeric/ublas/storage.hpp"
#include "boost/numeric/ublas/io.hpp"
#include "boost/numeric/ublas/lu.hpp"
#include "boost/numeric/ublas/triangular.hpp"
#include "boost/numeric/ublas/matrix_expression.hpp"
#include "viennacl/linalg/prod.hpp"
#include "viennacl/matrix.hpp"
#include "viennacl/compressed_matrix.hpp"
#include "viennacl/linalg/sparse_matrix_operations.hpp"
#include "viennacl/linalg/matrix_operations.hpp"
#include "viennacl/scalar.hpp"
#include "viennacl/linalg/cg.hpp"
#include "viennacl/linalg/inner_prod.hpp"
#include "viennacl/linalg/ilu.hpp"
Go to the source code of this file.
Classes | |
class | viennacl::linalg::detail::spai::fspai_tag |
A tag for FSPAI. Experimental. More... | |
Namespaces | |
viennacl | |
Main namespace in ViennaCL. Holds all the basic types such as vector, matrix, etc. and defines operations upon them. | |
viennacl::linalg | |
Provides all linear algebra operations which are not covered by operator overloads. | |
viennacl::linalg::detail | |
Namespace holding implementation details for linear algebra routines. Usually not of interest for a library user. | |
viennacl::linalg::detail::spai | |
Implementation namespace for sparse approximate inverse preconditioner. | |
Functions | |
template<typename MatrixT , typename NumericT > | |
void | viennacl::linalg::detail::spai::sym_sparse_matrix_to_stl (MatrixT const &A, std::vector< std::map< unsigned int, NumericT > > &STL_A) |
template<typename MatrixT > | |
void | viennacl::linalg::detail::spai::generateJ (MatrixT const &A, std::vector< std::vector< vcl_size_t > > &J) |
template<typename NumericT , typename MatrixT , typename VectorT > | |
void | viennacl::linalg::detail::spai::fill_blocks (std::vector< std::map< unsigned int, NumericT > > &A, std::vector< MatrixT > &blocks, std::vector< std::vector< vcl_size_t > > const &J, std::vector< VectorT > &Y) |
template<typename MatrixT > | |
void | viennacl::linalg::detail::spai::cholesky_decompose (MatrixT &A) |
template<typename MatrixT , typename VectorT > | |
void | viennacl::linalg::detail::spai::cholesky_solve (MatrixT const &L, VectorT &b) |
template<typename MatrixT , typename VectorT > | |
void | viennacl::linalg::detail::spai::computeL (MatrixT const &A, MatrixT &L, MatrixT &L_trans, std::vector< VectorT > &Y, std::vector< std::vector< vcl_size_t > > &J) |
template<typename MatrixT > | |
void | viennacl::linalg::detail::spai::computeFSPAI (MatrixT const &A, MatrixT const &PatternA, MatrixT &L, MatrixT &L_trans, fspai_tag) |
Implementation of FSPAI. Experimental.
Definition in file fspai.hpp.