ViennaCL - The Vienna Computing Library  1.5.2
Data Structures | Namespaces | Functions
viennacl/linalg/detail/spai/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.

Data Structures

class  fspai_tag
 A tag for FSPAI. Experimental. Contains values for the algorithm. Must be passed to spai_precond constructor. More...

Namespaces

namespace  viennacl
 

Main namespace in ViennaCL. Holds all the basic types such as vector, matrix, etc. and defines operations upon them.


namespace  viennacl::linalg
 

Provides all linear algebra operations which are not covered by operator overloads.


namespace  viennacl::linalg::detail
 

Namespace holding implementation details for linear algebra routines. Usually not of interest for a library user.


namespace  viennacl::linalg::detail::spai
 

Implementation namespace for sparse approximate inverse preconditioner.


Functions

template<typename MatrixType , typename ScalarType >
void sym_sparse_matrix_to_stl (MatrixType const &A, std::vector< std::map< unsigned int, ScalarType > > &STL_A)
template<typename MatrixType >
void generateJ (MatrixType const &A, std::vector< std::vector< vcl_size_t > > &J)
template<typename ScalarType , typename MatrixType , typename VectorType >
void fill_blocks (std::vector< std::map< unsigned int, ScalarType > > &A, std::vector< MatrixType > &blocks, std::vector< std::vector< vcl_size_t > > const &J, std::vector< VectorType > &Y)
template<typename MatrixType >
void cholesky_decompose (MatrixType &A)
template<typename MatrixType , typename VectorType >
void cholesky_solve (MatrixType const &L, VectorType &b)
template<typename MatrixType , typename VectorType1 >
void computeL (MatrixType const &A, MatrixType &L, MatrixType &L_trans, std::vector< VectorType1 > &Y, std::vector< std::vector< vcl_size_t > > &J)
template<typename MatrixType >
void computeFSPAI (MatrixType const &A, MatrixType const &PatternA, MatrixType &L, MatrixType &L_trans, fspai_tag)

Detailed Description

Implementation of FSPAI. Experimental.