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

class, which only job is to find ground state (QuantumState) and its corresponding energy for given QuantumSystem More...

#include <Eigensolver.hpp>

Classes

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

Public Member Functions

template<>
QuantumState< double > FindGroundState (QuantumSystem< arma::Mat, double > &qSystem)
 Mat<double> overload. More...
 
template<>
QuantumState< arma::cx_double > FindGroundState (QuantumSystem< arma::Mat, arma::cx_double > &qSystem)
 Mat<arma::cx_double> overload. More...
 
template<>
QuantumState< double > FindGroundState (QuantumSystem< arma::SpMat, double > &qSystem)
 SpMat<double> overload. More...
 
template<>
QuantumState< arma::cx_double > FindGroundState (QuantumSystem< arma::SpMat, arma::cx_double > &qSystem)
 SpMat<arma::cx_double> overload. More...
 

Static Public Member Functions

template<template< typename > class T1, typename T2 >
static QuantumState< T2 > FindGroundState (QuantumSystem< T1, T2 > &qSystem)
 Finding ground state (QuantumState) and its corresponding eigen energy. More...
 

Detailed Description

class, which only job is to find ground state (QuantumState) and its corresponding energy for given QuantumSystem

Member Function Documentation

template<>
QuantumState<double> solid::Eigensolver::FindGroundState ( QuantumSystem< arma::Mat, double > &  qSystem)

Mat<double> overload.

template<>
QuantumState<arma::cx_double> solid::Eigensolver::FindGroundState ( QuantumSystem< arma::Mat, arma::cx_double > &  qSystem)

Mat<arma::cx_double> overload.

template<template< typename > class T1, typename T2 >
static QuantumState<T2> solid::Eigensolver::FindGroundState ( QuantumSystem< T1, T2 > &  qSystem)
static

Finding ground state (QuantumState) and its corresponding eigen energy.

Template Parameters
T1matrix type: arma::Mat and arma:SpMat are supported
T2data type: double, std::complex<double> are supported
Parameters
qSystemQuantumSystem to solve
qStateoutput: resulting ground state (QuantumState)
Returns
double returns eigen energy of the ground state

solving time-independent Schrodinger equation (eigenproblem) for its ground state: \( \hat H | \psi \rangle = E | \psi \rangle, \)

template<>
QuantumState<double> solid::Eigensolver::FindGroundState ( QuantumSystem< arma::SpMat, double > &  qSystem)

SpMat<double> overload.

template<>
QuantumState<arma::cx_double> solid::Eigensolver::FindGroundState ( QuantumSystem< arma::SpMat, arma::cx_double > &  qSystem)

SpMat<arma::cx_double> overload.


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