Data Structures |
class | vector_array_wrapper |
| Helper class for accessing a strided subvector of a larger vector. More...
|
struct | majority_struct_for_orientation |
| Returns the row_major or column_major class of a dense matrix based on the majority-tag (layout-tag) provided. More...
|
class | matrix_array_wrapper |
| Helper array for accessing a strided submatrix embedded in a larger matrix. More...
|
Functions |
template<typename T , typename VectorType > |
T * | extract_raw_pointer (VectorType &vec) |
template<typename T , typename VectorType > |
T const * | extract_raw_pointer (VectorType const &vec) |
bool | is_row_major (viennacl::row_major_tag) |
bool | is_row_major (viennacl::column_major_tag) |
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 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 A , typename B , typename C , typename NumericT > |
void | prod (A &a, B &b, C &c, vcl_size_t C_size1, vcl_size_t C_size2, vcl_size_t A_size2, NumericT alpha, NumericT beta) |
template<typename ScalarType > |
void | level_scheduling_substitute (vector< ScalarType > &vec, viennacl::backend::mem_handle const &row_index_array, viennacl::backend::mem_handle const &row_buffer, viennacl::backend::mem_handle const &col_buffer, viennacl::backend::mem_handle const &element_buffer, vcl_size_t num_rows) |
template<typename ScalarType , unsigned int MAT_ALIGNMENT> |
void | row_info (compressed_matrix< ScalarType, MAT_ALIGNMENT > const &mat, vector_base< ScalarType > &vec, viennacl::linalg::detail::row_info_types info_selector) |
template<typename NumericT , typename ConstScalarTypeArray , typename ScalarTypeArray , typename SizeTypeArray > |
void | csr_inplace_solve (SizeTypeArray const &row_buffer, SizeTypeArray const &col_buffer, ConstScalarTypeArray const &element_buffer, ScalarTypeArray &vec_buffer, vcl_size_t num_cols, viennacl::linalg::unit_lower_tag) |
template<typename NumericT , typename ConstScalarTypeArray , typename ScalarTypeArray , typename SizeTypeArray > |
void | csr_inplace_solve (SizeTypeArray const &row_buffer, SizeTypeArray const &col_buffer, ConstScalarTypeArray const &element_buffer, ScalarTypeArray &vec_buffer, vcl_size_t num_cols, viennacl::linalg::lower_tag) |
template<typename NumericT , typename ConstScalarTypeArray , typename ScalarTypeArray , typename SizeTypeArray > |
void | csr_inplace_solve (SizeTypeArray const &row_buffer, SizeTypeArray const &col_buffer, ConstScalarTypeArray const &element_buffer, ScalarTypeArray &vec_buffer, vcl_size_t num_cols, viennacl::linalg::unit_upper_tag) |
template<typename NumericT , typename ConstScalarTypeArray , typename ScalarTypeArray , typename SizeTypeArray > |
void | csr_inplace_solve (SizeTypeArray const &row_buffer, SizeTypeArray const &col_buffer, ConstScalarTypeArray const &element_buffer, ScalarTypeArray &vec_buffer, vcl_size_t num_cols, viennacl::linalg::upper_tag) |
template<typename NumericT , typename ConstScalarTypeArray , typename ScalarTypeArray , typename SizeTypeArray > |
void | csr_trans_inplace_solve (SizeTypeArray const &row_buffer, SizeTypeArray const &col_buffer, ConstScalarTypeArray const &element_buffer, ScalarTypeArray &vec_buffer, vcl_size_t num_cols, viennacl::linalg::unit_lower_tag) |
template<typename NumericT , typename ConstScalarTypeArray , typename ScalarTypeArray , typename SizeTypeArray > |
void | csr_trans_inplace_solve (SizeTypeArray const &row_buffer, SizeTypeArray const &col_buffer, ConstScalarTypeArray const &element_buffer, ScalarTypeArray &vec_buffer, vcl_size_t num_cols, viennacl::linalg::lower_tag) |
template<typename NumericT , typename ConstScalarTypeArray , typename ScalarTypeArray , typename SizeTypeArray > |
void | csr_trans_inplace_solve (SizeTypeArray const &row_buffer, SizeTypeArray const &col_buffer, ConstScalarTypeArray const &element_buffer, ScalarTypeArray &vec_buffer, vcl_size_t num_cols, viennacl::linalg::unit_upper_tag) |
template<typename NumericT , typename ConstScalarTypeArray , typename ScalarTypeArray , typename SizeTypeArray > |
void | csr_trans_inplace_solve (SizeTypeArray const &row_buffer, SizeTypeArray const &col_buffer, ConstScalarTypeArray const &element_buffer, ScalarTypeArray &vec_buffer, vcl_size_t num_cols, viennacl::linalg::upper_tag) |
template<typename ScalarType , unsigned int MAT_ALIGNMENT> |
void | block_inplace_solve (const matrix_expression< const compressed_matrix< ScalarType, MAT_ALIGNMENT >, const compressed_matrix< ScalarType, MAT_ALIGNMENT >, op_trans > &L, viennacl::backend::mem_handle const &, vcl_size_t, vector_base< ScalarType > const &, vector_base< ScalarType > &vec, viennacl::linalg::unit_lower_tag) |
template<typename ScalarType , unsigned int MAT_ALIGNMENT> |
void | block_inplace_solve (const matrix_expression< const compressed_matrix< ScalarType, MAT_ALIGNMENT >, const compressed_matrix< ScalarType, MAT_ALIGNMENT >, op_trans > &L, viennacl::backend::mem_handle const &, vcl_size_t, vector_base< ScalarType > const &L_diagonal, vector_base< ScalarType > &vec, viennacl::linalg::lower_tag) |
template<typename ScalarType , unsigned int MAT_ALIGNMENT> |
void | block_inplace_solve (const matrix_expression< const compressed_matrix< ScalarType, MAT_ALIGNMENT >, const compressed_matrix< ScalarType, MAT_ALIGNMENT >, op_trans > &U, viennacl::backend::mem_handle const &, vcl_size_t, vector_base< ScalarType > const &, vector_base< ScalarType > &vec, viennacl::linalg::unit_upper_tag) |
template<typename ScalarType , unsigned int MAT_ALIGNMENT> |
void | block_inplace_solve (const matrix_expression< const compressed_matrix< ScalarType, MAT_ALIGNMENT >, const compressed_matrix< ScalarType, MAT_ALIGNMENT >, op_trans > &U, viennacl::backend::mem_handle const &, vcl_size_t, vector_base< ScalarType > const &U_diagonal, vector_base< ScalarType > &vec, viennacl::linalg::upper_tag) |
template<typename ScalarType , unsigned int MAT_ALIGNMENT> |
void | row_info (coordinate_matrix< ScalarType, MAT_ALIGNMENT > const &mat, vector_base< ScalarType > &vec, viennacl::linalg::detail::row_info_types info_selector) |
template<class T > |
T | conjIfComplex (T x) |
template<typename ScalarType > |
bool | isHermitian (ScalarType **const A, vcl_size_t n) |
template<typename ScalarType > |
vcl_size_t | getHermitianBandwidth (ScalarType **const A, vcl_size_t n) |
template<typename ScalarType > |
void | eliminateHermitian (ScalarType **A, vcl_size_t row, vcl_size_t from, vcl_size_t to, vcl_size_t width, ScalarType *ss) |
template<typename ScalarType > |
void | tridiagonalizeHermitianBandedMatrix (ScalarType **A, vcl_size_t n, vcl_size_t bandwidth) |
template<typename ScalarType > |
void | reduceHermitianToBandedMatrix (ScalarType **A, vcl_size_t n, vcl_size_t block_size, vcl_size_t num_threads) |
template<typename NumericT > |
NumericT | flip_sign (NumericT val) |
unsigned long | flip_sign (unsigned long val) |
unsigned int | flip_sign (unsigned int val) |
unsigned short | flip_sign (unsigned short val) |
unsigned char | flip_sign (unsigned char val) |
Helper functions for the host-based linear algebra backend.