#include <iostream>
#include "viennacl/scalar.hpp"
#include "viennacl/vector.hpp"
#include "viennacl/linalg/prod.hpp"
#include <fstream>
#include <iomanip>
#include "viennacl/linalg/qr-method.hpp"
#include "viennacl/linalg/qr-method-common.hpp"
#include "viennacl/linalg/matrix_operations.hpp"
#include "viennacl/tools/random.hpp"
Go to the source code of this file.
Macros | |
#define | NDEBUG |
#define | VIENNACL_WITH_UBLAS |
#define | EPS 10.0e-3 |
Typedefs | |
typedef float | ScalarType |
Functions | |
void | read_matrix_size (std::fstream &f, std::size_t &sz) |
template<typename MatrixLayout > | |
void | read_matrix_body (std::fstream &f, viennacl::matrix< ScalarType, MatrixLayout > &A) |
void | matrix_print (viennacl::matrix< ScalarType > &A_orig) |
void | matrix_print (ublas::matrix< ScalarType > &A) |
void | vector_print (std::vector< ScalarType > &v) |
template<typename MatrixType , typename VCLMatrixType > | |
bool | check_for_equality (MatrixType const &ublas_A, VCLMatrixType const &vcl_A) |
template<typename VectorType > | |
bool | check_for_equality (VectorType const &vec_A, VectorType const &vec_B) |
void | fill_vector (std::vector< ScalarType > &v) |
template<typename NumericT > | |
void | house_update_A_left (ublas::matrix< NumericT > &A, std::vector< NumericT > D, unsigned int start) |
template<typename NumericT > | |
void | house_update_A_right (ublas::matrix< NumericT > &A, std::vector< NumericT > D) |
template<typename NumericT > | |
void | house_update_QL (ublas::matrix< NumericT > &Q, std::vector< NumericT > D, std::size_t A_size1) |
template<typename NumericT > | |
void | givens_next (ublas::matrix< NumericT > &Q, std::vector< NumericT > &tmp1, std::vector< NumericT > &tmp2, int l, int m) |
template<typename NumericT > | |
void | copy_vec (ublas::matrix< NumericT > &A, std::vector< NumericT > &V, std::size_t row_start, std::size_t col_start, bool copy_col) |
template<typename NumericT > | |
void | bidiag_pack (ublas::matrix< NumericT > &A, std::vector< NumericT > &D, std::vector< NumericT > &S) |
template<typename MatrixLayout > | |
void | test_qr_method_sym (const std::string &fn) |
int | main () |
Tests the individual building blocks of the eigenvalue routines based on the QR method.
Definition in file qr_method_func.cpp.
#define EPS 10.0e-3 |
Definition at line 49 of file qr_method_func.cpp.
#define NDEBUG |
Definition at line 33 of file qr_method_func.cpp.
#define VIENNACL_WITH_UBLAS |
Definition at line 36 of file qr_method_func.cpp.
typedef float ScalarType |
Definition at line 53 of file qr_method_func.cpp.
void bidiag_pack | ( | ublas::matrix< NumericT > & | A, |
std::vector< NumericT > & | D, | ||
std::vector< NumericT > & | S | ||
) |
Definition at line 297 of file qr_method_func.cpp.
bool check_for_equality | ( | MatrixType const & | ublas_A, |
VCLMatrixType const & | vcl_A | ||
) |
Definition at line 124 of file qr_method_func.cpp.
bool check_for_equality | ( | VectorType const & | vec_A, |
VectorType const & | vec_B | ||
) |
Definition at line 149 of file qr_method_func.cpp.
void copy_vec | ( | ublas::matrix< NumericT > & | A, |
std::vector< NumericT > & | V, | ||
std::size_t | row_start, | ||
std::size_t | col_start, | ||
bool | copy_col | ||
) |
Definition at line 274 of file qr_method_func.cpp.
void fill_vector | ( | std::vector< ScalarType > & | v | ) |
Definition at line 167 of file qr_method_func.cpp.
void givens_next | ( | ublas::matrix< NumericT > & | Q, |
std::vector< NumericT > & | tmp1, | ||
std::vector< NumericT > & | tmp2, | ||
int | l, | ||
int | m | ||
) |
Definition at line 254 of file qr_method_func.cpp.
void house_update_A_left | ( | ublas::matrix< NumericT > & | A, |
std::vector< NumericT > | D, | ||
unsigned int | start | ||
) |
Definition at line 183 of file qr_method_func.cpp.
void house_update_A_right | ( | ublas::matrix< NumericT > & | A, |
std::vector< NumericT > | D | ||
) |
Definition at line 202 of file qr_method_func.cpp.
void house_update_QL | ( | ublas::matrix< NumericT > & | Q, |
std::vector< NumericT > | D, | ||
std::size_t | A_size1 | ||
) |
Definition at line 222 of file qr_method_func.cpp.
int main | ( | ) |
Definition at line 402 of file qr_method_func.cpp.
void matrix_print | ( | viennacl::matrix< ScalarType > & | A_orig | ) |
Definition at line 89 of file qr_method_func.cpp.
void matrix_print | ( | ublas::matrix< ScalarType > & | A | ) |
Definition at line 103 of file qr_method_func.cpp.
void read_matrix_body | ( | std::fstream & | f, |
viennacl::matrix< ScalarType, MatrixLayout > & | A | ||
) |
Definition at line 67 of file qr_method_func.cpp.
void read_matrix_size | ( | std::fstream & | f, |
std::size_t & | sz | ||
) |
Definition at line 57 of file qr_method_func.cpp.
void test_qr_method_sym | ( | const std::string & | fn | ) |
Definition at line 314 of file qr_method_func.cpp.
void vector_print | ( | std::vector< ScalarType > & | v | ) |
Definition at line 115 of file qr_method_func.cpp.