ViennaCL - The Vienna Computing Library
1.5.2
|
Implementations of dense direct solvers are found here. More...
#include "viennacl/forwards.h"
#include "viennacl/meta/enable_if.hpp"
#include "viennacl/vector.hpp"
#include "viennacl/matrix.hpp"
#include "viennacl/linalg/host_based/direct_solve.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. | |
Functions | |
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 dense triangular systems. Matlab notation: A \ B. | |
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 dense triangular systems with transposed right hand side. | |
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 dense triangular systems that stem from transposed triangular systems. | |
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 dense transposed triangular systems with transposed right hand side. Matlab notation: A' \ B'. | |
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. | |
template<typename NumericT , typename F1 , typename F2 , typename SOLVERTAG > | |
matrix< NumericT, F2 > | solve (const matrix_base< NumericT, F1 > &A, const matrix_base< NumericT, F2 > &B, SOLVERTAG tag) |
Convenience functions for C = solve(A, B, some_tag()); Creates a temporary result matrix and forwards the request to inplace_solve() | |
template<typename NumericT , typename F1 , typename F2 , typename SOLVERTAG > | |
matrix< NumericT, F2 > | solve (const matrix_base< NumericT, F1 > &A, const matrix_expression< const matrix_base< NumericT, F2 >, const matrix_base< NumericT, F2 >, op_trans > &proxy, SOLVERTAG tag) |
Convenience functions for C = solve(A, B^T, some_tag()); Creates a temporary result matrix and forwards the request to inplace_solve() | |
template<typename NumericT , typename F1 , typename SOLVERTAG > | |
vector< NumericT > | solve (const matrix_base< NumericT, F1 > &mat, const vector_base< NumericT > &vec, SOLVERTAG const &tag) |
Convenience functions for result = solve(mat, vec, some_tag()); Creates a temporary result vector and forwards the request to inplace_solve() | |
template<typename NumericT , typename F1 , typename F2 , typename SOLVERTAG > | |
matrix< NumericT, F2 > | solve (const matrix_expression< const matrix_base< NumericT, F1 >, const matrix_base< NumericT, F1 >, op_trans > &proxy, const matrix_base< NumericT, F2 > &B, SOLVERTAG tag) |
Convenience functions for result = solve(trans(mat), B, some_tag()); Creates a temporary result matrix and forwards the request to inplace_solve() | |
template<typename NumericT , typename F1 , typename F2 , typename SOLVERTAG > | |
matrix< NumericT, F2 > | solve (const matrix_expression< const matrix_base< NumericT, F1 >, const matrix_base< NumericT, F1 >, op_trans > &proxy_A, const matrix_expression< const matrix_base< NumericT, F2 >, const matrix_base< NumericT, F2 >, op_trans > &proxy_B, SOLVERTAG tag) |
Convenience functions for result = solve(trans(mat), vec, some_tag()); Creates a temporary result vector and forwards the request to inplace_solve() | |
template<typename NumericT , typename F1 , typename SOLVERTAG > | |
vector< NumericT > | solve (const matrix_expression< const matrix_base< NumericT, F1 >, const matrix_base< NumericT, F1 >, op_trans > &proxy, const vector_base< NumericT > &vec, SOLVERTAG const &tag) |
Convenience functions for result = solve(trans(mat), vec, some_tag()); Creates a temporary result vector and forwards the request to inplace_solve() |
Implementations of dense direct solvers are found here.