ViennaCL - The Vienna Computing Library  1.7.0
Free open-source GPU-accelerated linear algebra and solver library.
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.