ViennaCL - The Vienna Computing Library  1.7.0
Free open-source GPU-accelerated linear algebra and solver library.
viennacl::linalg::lanczos_tag Class Reference

A tag for the lanczos algorithm. More...

#include <lanczos.hpp>

Public Types

enum  { partial_reorthogonalization = 0, full_reorthogonalization, no_reorthogonalization }
 

Public Member Functions

 lanczos_tag (double factor=0.75, vcl_size_t numeig=10, int met=0, vcl_size_t krylov=100)
 The constructor. More...
 
void num_eigenvalues (vcl_size_t numeig)
 Sets the number of eigenvalues. More...
 
vcl_size_t num_eigenvalues () const
 Returns the number of eigenvalues. More...
 
void factor (double fct)
 Sets the exponent of epsilon. Values between 0.6 and 0.9 usually give best results. More...
 
double factor () const
 Returns the exponent. More...
 
void krylov_size (vcl_size_t max)
 Sets the size of the kylov space. Must be larger than number of eigenvalues to compute. More...
 
vcl_size_t krylov_size () const
 Returns the size of the kylov space. More...
 
void method (int met)
 Sets the reorthogonalization method. More...
 
int method () const
 Returns the reorthogonalization method. More...
 

Detailed Description

A tag for the lanczos algorithm.

Examples:
lanczos.cpp.

Definition at line 45 of file lanczos.hpp.

Member Enumeration Documentation

anonymous enum
Enumerator
partial_reorthogonalization 
full_reorthogonalization 
no_reorthogonalization 

Definition at line 49 of file lanczos.hpp.

Constructor & Destructor Documentation

viennacl::linalg::lanczos_tag::lanczos_tag ( double  factor = 0.75,
vcl_size_t  numeig = 10,
int  met = 0,
vcl_size_t  krylov = 100 
)
inline

The constructor.

Parameters
factorExponent of epsilon - tolerance for batches of Reorthogonalization
numeigNumber of eigenvalues to be returned
metMethod for Lanczos-Algorithm: 0 for partial Reorthogonalization, 1 for full Reorthogonalization and 2 for Lanczos without Reorthogonalization
krylovMaximum krylov-space size

Definition at line 64 of file lanczos.hpp.

Member Function Documentation

void viennacl::linalg::lanczos_tag::factor ( double  fct)
inline

Sets the exponent of epsilon. Values between 0.6 and 0.9 usually give best results.

Definition at line 76 of file lanczos.hpp.

double viennacl::linalg::lanczos_tag::factor ( ) const
inline

Returns the exponent.

Definition at line 79 of file lanczos.hpp.

void viennacl::linalg::lanczos_tag::krylov_size ( vcl_size_t  max)
inline

Sets the size of the kylov space. Must be larger than number of eigenvalues to compute.

Definition at line 82 of file lanczos.hpp.

vcl_size_t viennacl::linalg::lanczos_tag::krylov_size ( ) const
inline

Returns the size of the kylov space.

Definition at line 85 of file lanczos.hpp.

void viennacl::linalg::lanczos_tag::method ( int  met)
inline

Sets the reorthogonalization method.

Definition at line 88 of file lanczos.hpp.

int viennacl::linalg::lanczos_tag::method ( ) const
inline

Returns the reorthogonalization method.

Definition at line 91 of file lanczos.hpp.

void viennacl::linalg::lanczos_tag::num_eigenvalues ( vcl_size_t  numeig)
inline

Sets the number of eigenvalues.

Examples:
lanczos.cpp.

Definition at line 70 of file lanczos.hpp.

vcl_size_t viennacl::linalg::lanczos_tag::num_eigenvalues ( ) const
inline

Returns the number of eigenvalues.

Definition at line 73 of file lanczos.hpp.


The documentation for this class was generated from the following file: