SOLIDstate
A C++ library for solid state physics
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Pages
Static Public Attributes | List of all members
solid::Eigensolver::SparseSolverOptions Class Reference

class for handling options for sparse matrix diagonalization procedures More...

#include <Eigensolver.hpp>

Static Public Attributes

static int numberOfEigenvalues = 10
 specifies the number of eigenvalues and eigenvectors More...
 
static double tolerance = 0.
 specifies the tolerance for convergence More...
 
static std::string eigenvalueTarget = "sa"
 eigenvalue target value More...
 
static std::string eigenvalueComplexTarget = "sr"
 eigenvalue (complex) target value More...
 

Detailed Description

class for handling options for sparse matrix diagonalization procedures

Member Data Documentation

std::string solid::Eigensolver::SparseSolverOptions::eigenvalueComplexTarget = "sr"
static

eigenvalue (complex) target value

Armadillo target options for eigs_sym()

  • "lm" = obtain eigenvalues with largest magnitude (default operation)
  • "sm" = obtain eigenvalues with smallest magnitude (see caveat below)
  • "lr" = obtain eigenvalues with largest real part
  • "sr" = obtain eigenvalues with smallest real part
  • "li" = obtain eigenvalues with largest imaginary part
  • "si" = obtain eigenvalues with smallest imaginary part
std::string solid::Eigensolver::SparseSolverOptions::eigenvalueTarget = "sa"
static

eigenvalue target value

Armadillo target options for eigs_sym()

  • "lm" = obtain eigenvalues with largest magnitude
  • "sm" = obtain eigenvalues with smallest magnitude (default operation)
  • "la" = obtain eigenvalues with largest algebraic value
  • "sa" = obtain eigenvalues with smallest algebraic value
Note
the number of obtained eigenvalues/eigenvectors may be lower than requested, depending on the given data
it's more difficult to compute the smallest eigenvalues than the largest eigenvalues; if the decomposition fails, try increasing numberOfEigenvalues (number of eigenvalues) and/or the tolerance
int solid::Eigensolver::SparseSolverOptions::numberOfEigenvalues = 10
static

specifies the number of eigenvalues and eigenvectors

double solid::Eigensolver::SparseSolverOptions::tolerance = 0.
static

specifies the tolerance for convergence


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