All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
fspai.hpp File Reference

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)

## Detailed Description

Implementation of FSPAI. Experimental.

Definition in file fspai.hpp.