Implementations of dense direct solvers are found here. More...
#include "viennacl/vector.hpp"
#include "viennacl/matrix.hpp"
#include "viennacl/tools/matrix_kernel_class_deducer.hpp"
#include "viennacl/tools/matrix_solve_kernel_class_deducer.hpp"
#include "viennacl/ocl/kernel.hpp"
#include "viennacl/ocl/device.hpp"
#include "viennacl/ocl/handle.hpp"
Go to the source code of this file.
Namespaces | |
namespace | viennacl |
namespace | viennacl::linalg |
Functions | |
template<typename SCALARTYPE , typename F1 , typename F2 , unsigned int A1, unsigned int A2, typename SOLVERTAG > | |
void | inplace_solve (const matrix< SCALARTYPE, F1, A1 > &mat, matrix< SCALARTYPE, F2, A2 > &B, SOLVERTAG) |
Direct inplace solver for dense upper triangular systems. | |
template<typename SCALARTYPE , typename F1 , typename F2 , unsigned int A1, unsigned int A2, typename SOLVERTAG > | |
void | inplace_solve (const matrix< SCALARTYPE, F1, A1 > &mat, const matrix_expression< const matrix< SCALARTYPE, F2, A2 >, const matrix< SCALARTYPE, F2, A2 >, op_trans > &B, SOLVERTAG) |
Direct inplace solver for dense upper triangular systems. | |
template<typename SCALARTYPE , typename F1 , typename F2 , unsigned int A1, unsigned int A2, typename SOLVERTAG > | |
void | inplace_solve (const matrix_expression< const matrix< SCALARTYPE, F1, A1 >, const matrix< SCALARTYPE, F1, A1 >, op_trans > &proxy, matrix< SCALARTYPE, F2, A2 > &B, SOLVERTAG) |
Direct inplace solver for dense upper triangular systems that stem from transposed lower triangular systems. | |
template<typename SCALARTYPE , typename F1 , typename F2 , unsigned int A1, unsigned int A2, typename SOLVERTAG > | |
void | inplace_solve (const matrix_expression< const matrix< SCALARTYPE, F1, A1 >, const matrix< SCALARTYPE, F1, A1 >, op_trans > &proxy, const matrix_expression< const matrix< SCALARTYPE, F2, A2 >, const matrix< SCALARTYPE, F2, A2 >, op_trans > &B, SOLVERTAG) |
Direct inplace solver for dense upper triangular systems that stem from transposed lower triangular systems. | |
template<typename SCALARTYPE , typename F , unsigned int ALIGNMENT, unsigned int VEC_ALIGNMENT, typename SOLVERTAG > | |
void | inplace_solve (const matrix< SCALARTYPE, F, ALIGNMENT > &mat, vector< SCALARTYPE, VEC_ALIGNMENT > &vec, SOLVERTAG) |
template<typename SCALARTYPE , typename F , unsigned int ALIGNMENT, unsigned int VEC_ALIGNMENT, typename SOLVERTAG > | |
void | inplace_solve (const matrix_expression< const matrix< SCALARTYPE, F, ALIGNMENT >, const matrix< SCALARTYPE, F, ALIGNMENT >, op_trans > &proxy, vector< SCALARTYPE, VEC_ALIGNMENT > &vec, SOLVERTAG) |
Direct inplace solver for dense upper triangular systems that stem from transposed lower triangular systems. | |
template<typename SCALARTYPE , typename F1 , typename F2 , unsigned int ALIGNMENT_A, unsigned int ALIGNMENT_B, typename TAG > | |
matrix< SCALARTYPE, F2, ALIGNMENT_B > | solve (const matrix< SCALARTYPE, F1, ALIGNMENT_A > &A, const matrix< SCALARTYPE, F2, ALIGNMENT_B > &B, TAG const &tag) |
Convenience functions for C = solve(A, B, some_tag()); Creates a temporary result matrix and forwards the request to inplace_solve(). | |
template<typename SCALARTYPE , typename F1 , typename F2 , unsigned int ALIGNMENT_A, unsigned int ALIGNMENT_B, typename TAG > | |
matrix< SCALARTYPE, F2, ALIGNMENT_B > | solve (const matrix< SCALARTYPE, F1, ALIGNMENT_A > &A, const matrix_expression< const matrix< SCALARTYPE, F2, ALIGNMENT_B >, const matrix< SCALARTYPE, F2, ALIGNMENT_B >, op_trans > &proxy, TAG const &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 SCALARTYPE , typename F , unsigned int ALIGNMENT, unsigned int VEC_ALIGNMENT, typename TAG > | |
vector< SCALARTYPE, VEC_ALIGNMENT > | solve (const matrix< SCALARTYPE, F, ALIGNMENT > &mat, const vector< SCALARTYPE, VEC_ALIGNMENT > &vec, TAG 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 SCALARTYPE , typename F1 , typename F2 , unsigned int ALIGNMENT_A, unsigned int ALIGNMENT_B, typename TAG > | |
matrix< SCALARTYPE, F2, ALIGNMENT_B > | solve (const matrix_expression< const matrix< SCALARTYPE, F1, ALIGNMENT_A >, const matrix< SCALARTYPE, F1, ALIGNMENT_A >, op_trans > &proxy, const matrix< SCALARTYPE, F2, ALIGNMENT_B > &B, TAG const &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 SCALARTYPE , typename F1 , typename F2 , unsigned int ALIGNMENT_A, unsigned int ALIGNMENT_B, typename TAG > | |
matrix< SCALARTYPE, F2, ALIGNMENT_B > | solve (const matrix_expression< const matrix< SCALARTYPE, F1, ALIGNMENT_A >, const matrix< SCALARTYPE, F1, ALIGNMENT_A >, op_trans > &proxy_A, const matrix_expression< const matrix< SCALARTYPE, F2, ALIGNMENT_B >, const matrix< SCALARTYPE, F2, ALIGNMENT_B >, op_trans > &proxy_B, TAG const &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 SCALARTYPE , typename F , unsigned int ALIGNMENT, unsigned int VEC_ALIGNMENT, typename TAG > | |
vector< SCALARTYPE, VEC_ALIGNMENT > | solve (const matrix_expression< const matrix< SCALARTYPE, F, ALIGNMENT >, const matrix< SCALARTYPE, F, ALIGNMENT >, op_trans > &proxy, const vector< SCALARTYPE, VEC_ALIGNMENT > &vec, TAG const &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 SCALARTYPE , typename F , unsigned int ALIGNMENT> | |
void | lu_factorize (matrix< SCALARTYPE, F, ALIGNMENT > &mat) |
LU factorization of a dense matrix. | |
template<typename SCALARTYPE , typename F1 , typename F2 , unsigned int ALIGNMENT_A, unsigned int ALIGNMENT_B> | |
void | lu_substitute (matrix< SCALARTYPE, F1, ALIGNMENT_A > const &A, matrix< SCALARTYPE, F2, ALIGNMENT_B > &B) |
LU substitution for the system LU = rhs. | |
template<typename SCALARTYPE , typename F , unsigned int ALIGNMENT, unsigned int VEC_ALIGNMENT> | |
void | lu_substitute (matrix< SCALARTYPE, F, ALIGNMENT > const &mat, vector< SCALARTYPE, VEC_ALIGNMENT > &vec) |
LU substitution for the system LU = rhs. |
Implementations of dense direct solvers are found here.