1 #ifndef VIENNACL_LINALG_DETAIL_BISECT_STRUCTS_HPP_
2 #define VIENNACL_LINALG_DETAIL_BISECT_STRUCTS_HPP_
52 template<
typename NumericT>
70 InputData(std::vector<NumericT> diagonal, std::vector<NumericT> superdiagonal,
const unsigned int sz) :
71 std_a(sz), std_b(sz), g_a(sz), g_b(sz)
74 std_b = superdiagonal;
81 std_a(sz), std_b(sz), g_a(sz), g_b(sz)
95 template<
typename NumericT>
114 std_eigenvalues(mat_size), vcl_g_left(mat_size), vcl_g_right(mat_size), vcl_g_left_count(mat_size), vcl_g_right_count(mat_size) {}
124 template<
typename NumericT>
172 std_eigenvalues(mat_size), g_num_one(0), g_num_blocks_mult(0),
173 g_left_one(mat_size), g_right_one(mat_size), g_pos_one(mat_size),
174 g_left_mult(mat_size), g_right_mult(mat_size), g_left_count_mult(mat_size), g_right_count_mult(mat_size),
175 g_blocks_mult(mat_size), g_blocks_mult_sum(mat_size), g_lambda_mult(mat_size), g_pos_mult(mat_size) {}
181 #endif // #ifndef VIENNACL_LINALG_DETAIL_STRUCTS_HPP_
std::vector< NumericT > std_eigenvalues
eigenvalues (host side)
viennacl::vector< NumericT > g_left_mult
left interval limits of intervals containing multiple eigenvalues after the first iteration step ...
viennacl::vector< NumericT > g_left_one
left interval limits of intervals containing one eigenvalue after the first iteration step ...
Implementation of the dense matrix class.
viennacl::scalar< unsigned int > g_num_blocks_mult
number of (thread) blocks of intervals containing multiple eigenvalues after the first steo ...
viennacl::vector< unsigned int > g_blocks_mult
start addresses in g_left_mult etc. of blocks of intervals containing more than one eigenvalue after ...
viennacl::vector< unsigned int > g_left_count_mult
number of eigenvalues less than the left limit of the eigenvalue intervals containing multiple eigenv...
Main namespace in ViennaCL. Holds all the basic types such as vector, matrix, etc. and defines operations upon them.
viennacl::vector< unsigned int > g_right_count_mult
number of eigenvalues less than the right limit of the eigenvalue intervals containing multiple eigen...
ResultDataSmall(const unsigned int mat_size)
Initialize variables and memory for the result for small matrices.
viennacl::vector< NumericT > vcl_g_right
right interval limits at the end of the computation
viennacl::vector< NumericT > g_lambda_mult
eigenvalues that have been generated in the second step from intervals that still contained multiple ...
viennacl::vector< NumericT > vcl_g_left
left interval limits at the end of the computation
viennacl::vector< unsigned int > vcl_g_left_count
number of eigenvalues smaller than the left interval limit
viennacl::vector< unsigned int > g_pos_one
interval indices (position in sorted listed of eigenvalues) of intervals containing one eigenvalue af...
std::vector< NumericT > std_eigenvalues
eigenvalues
viennacl::vector< NumericT > g_right_one
right interval limits of intervals containing one eigenvalue after the first iteration step ...
The vector type with operator-overloads and proxy classes is defined here. Linear algebra operations ...
viennacl::vector< unsigned int > g_pos_mult
eigenvalue index of intervals that have been generated in the second processing step ...
void copy(std::vector< NumericT > &cpu_vec, circulant_matrix< NumericT, AlignmentV > &gpu_mat)
Copies a circulant matrix from the std::vector to the OpenCL device (either GPU or multi-core CPU) ...
ResultDataLarge(unsigned int mat_size)
Initialize variables and memory for result.
viennacl::vector< unsigned int > vcl_g_right_count
number of eigenvalues bigger than the right interval limit
In this class the data of the result for large matrices is stored.
viennacl::vector< unsigned int > g_blocks_mult_sum
accumulated number of intervals in g_left_mult etc. of blocks of intervals containing more than one e...
viennacl::scalar< unsigned int > g_num_one
number of intervals containing one eigenvalue after the first step
In this class the data of the result for small matrices is stored.
viennacl::vector< NumericT > g_right_mult
right interval limits of intervals containing multiple eigenvalues after the first iteration step ...