ViennaCL - The Vienna Computing Library
1.5.0
|
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 | |
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::host_based |
Holds all compute kernels with conventional host-based execution (buffers in CPU RAM). | |
namespace | 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) | |
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) | |
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) | |
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) | |
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. |
Implementations of dense direct triangular solvers are found here.