ViennaCL - The Vienna Computing Library  1.7.0
Free open-source GPU-accelerated linear algebra and solver library.
qr_method_func.cpp File Reference
#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 ()
 

Detailed Description

Tests the individual building blocks of the eigenvalue routines based on the QR method.

Test:
Tests the individual building blocks of the eigenvalue routines based on the QR method.

Definition in file qr_method_func.cpp.

Macro Definition Documentation

#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 Documentation

typedef float ScalarType

Definition at line 53 of file qr_method_func.cpp.

Function Documentation

template<typename NumericT >
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.

template<typename MatrixType , typename VCLMatrixType >
bool check_for_equality ( MatrixType const &  ublas_A,
VCLMatrixType const &  vcl_A 
)

Definition at line 124 of file qr_method_func.cpp.

template<typename VectorType >
bool check_for_equality ( VectorType const &  vec_A,
VectorType const &  vec_B 
)

Definition at line 149 of file qr_method_func.cpp.

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 
)

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.

template<typename NumericT >
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.

template<typename NumericT >
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.

template<typename NumericT >
void house_update_A_right ( ublas::matrix< NumericT > &  A,
std::vector< NumericT D 
)

Definition at line 202 of file qr_method_func.cpp.

template<typename NumericT >
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.

template<typename MatrixLayout >
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.

template<typename MatrixLayout >
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)
Examples:
qr_method.cpp.

Definition at line 115 of file qr_method_func.cpp.