ViennaCL - The Vienna Computing Library  1.5.1
Namespaces | Functions
direct_solve.hpp File Reference

Implementations of dense direct triangular solvers are found here. More...

#include "viennacl/vector.hpp"
#include "viennacl/matrix.hpp"
#include "viennacl/linalg/host_based/common.hpp"

Go to the source code of this file.

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::host_based
 Holds all compute kernels with conventional host-based execution (buffers in CPU RAM).
 
 viennacl::linalg::host_based::detail
 Helper functions for the host-based linear algebra backend.
 

Functions

template<typename MatrixType1 , typename MatrixType2 >
void upper_inplace_solve_matrix (MatrixType1 &A, MatrixType2 &B, vcl_size_t A_size, vcl_size_t B_size, bool unit_diagonal)
 
template<typename MatrixType1 , typename MatrixType2 >
void inplace_solve_matrix (MatrixType1 &A, MatrixType2 &B, vcl_size_t A_size, vcl_size_t B_size, viennacl::linalg::unit_upper_tag)
 
template<typename MatrixType1 , typename MatrixType2 >
void inplace_solve_matrix (MatrixType1 &A, MatrixType2 &B, vcl_size_t A_size, vcl_size_t B_size, viennacl::linalg::upper_tag)
 
template<typename MatrixType1 , typename MatrixType2 >
void lower_inplace_solve_matrix (MatrixType1 &A, MatrixType2 &B, vcl_size_t A_size, vcl_size_t B_size, bool unit_diagonal)
 
template<typename MatrixType1 , typename MatrixType2 >
void inplace_solve_matrix (MatrixType1 &A, MatrixType2 &B, vcl_size_t A_size, vcl_size_t B_size, viennacl::linalg::unit_lower_tag)
 
template<typename MatrixType1 , typename MatrixType2 >
void inplace_solve_matrix (MatrixType1 &A, MatrixType2 &B, vcl_size_t A_size, vcl_size_t B_size, viennacl::linalg::lower_tag)
 
template<typename NumericT , typename F1 , typename F2 , typename SOLVERTAG >
void inplace_solve (const matrix_base< NumericT, F1 > &A, matrix_base< NumericT, F2 > &B, SOLVERTAG)
 Direct inplace solver for triangular systems with multiple right hand sides, i.e. A \ B (MATLAB notation) More...
 
template<typename NumericT , typename F1 , typename F2 , typename SOLVERTAG >
void inplace_solve (const matrix_base< NumericT, F1 > &A, matrix_expression< const matrix_base< NumericT, F2 >, const matrix_base< NumericT, F2 >, op_trans > proxy_B, SOLVERTAG)
 Direct inplace solver for triangular systems with multiple transposed right hand sides, i.e. A \ B^T (MATLAB notation) More...
 
template<typename NumericT , typename F1 , typename F2 , typename SOLVERTAG >
void inplace_solve (const matrix_expression< const matrix_base< NumericT, F1 >, const matrix_base< NumericT, F1 >, op_trans > &proxy_A, matrix_base< NumericT, F2 > &B, SOLVERTAG)
 Direct inplace solver for transposed triangular systems with multiple right hand sides, i.e. A^T \ B (MATLAB notation) More...
 
template<typename NumericT , typename F1 , typename F2 , typename SOLVERTAG >
void inplace_solve (const matrix_expression< const matrix_base< NumericT, F1 >, const matrix_base< NumericT, F1 >, op_trans > &proxy_A, matrix_expression< const matrix_base< NumericT, F2 >, const matrix_base< NumericT, F2 >, op_trans > proxy_B, SOLVERTAG)
 Direct inplace solver for transposed triangular systems with multiple transposed right hand sides, i.e. A^T \ B^T (MATLAB notation) More...
 
template<typename MatrixType , typename VectorType >
void upper_inplace_solve_vector (MatrixType &A, VectorType &b, vcl_size_t A_size, bool unit_diagonal)
 
template<typename MatrixType , typename VectorType >
void inplace_solve_vector (MatrixType &A, VectorType &b, vcl_size_t A_size, viennacl::linalg::unit_upper_tag)
 
template<typename MatrixType , typename VectorType >
void inplace_solve_vector (MatrixType &A, VectorType &b, vcl_size_t A_size, viennacl::linalg::upper_tag)
 
template<typename MatrixType , typename VectorType >
void lower_inplace_solve_vector (MatrixType &A, VectorType &b, vcl_size_t A_size, bool unit_diagonal)
 
template<typename MatrixType , typename VectorType >
void inplace_solve_vector (MatrixType &A, VectorType &b, vcl_size_t A_size, viennacl::linalg::unit_lower_tag)
 
template<typename MatrixType , typename VectorType >
void inplace_solve_vector (MatrixType &A, VectorType &b, vcl_size_t A_size, viennacl::linalg::lower_tag)
 
template<typename NumericT , typename F , typename SOLVERTAG >
void inplace_solve (const matrix_base< NumericT, F > &mat, vector_base< NumericT > &vec, SOLVERTAG)
 
template<typename NumericT , typename F , typename SOLVERTAG >
void inplace_solve (const matrix_expression< const matrix_base< NumericT, F >, const matrix_base< NumericT, F >, op_trans > &proxy, vector_base< NumericT > &vec, SOLVERTAG)
 Direct inplace solver for dense upper triangular systems that stem from transposed lower triangular systems. More...
 

Detailed Description

Implementations of dense direct triangular solvers are found here.