|
TBTK
|
#include <DiagonalizationSolver.h>
Public Member Functions | |
| DiagonalizationSolver () | |
| ~DiagonalizationSolver () | |
| void | setModel (Model *model) |
| void | setSCCallback (bool(*scCallback)(DiagonalizationSolver *diagonalizationSolver)) |
| void | setMaxIterations (int maxIterations) |
| void | run () |
| const double * | getEigenValues () |
| double * | getEigenValuesRW () |
| const std::complex< double > * | getEigenVectors () |
| std::complex< double > * | getEigenVectorsRW () |
| const double | getEigenValue (int state) |
| const std::complex< double > | getAmplitude (int state, const Index &index) |
| Model * | getModel () |
Solves a given model by Diagonalizing the Hamiltonian. The eigenvalues and eigenvectors can then either be directly extracted and used to calculate custom physical quantities, or the PropertyExtractor can be used to extract common properties. Scales as
with the dimension of the Hilbert space.
| TBTK::DiagonalizationSolver::DiagonalizationSolver | ( | ) |
Constructor
| TBTK::DiagonalizationSolver::~DiagonalizationSolver | ( | ) |
Destructor.
|
inline |
Get amplitude for given eigenvector
and physical index
:
.
| state | Eigenstate number . |
| index | Physical index . |
|
inline |
Get eigenvalue.
|
inline |
Get eigenvalues.
|
inline |
Get eigenvalues. Same as getEigenValues(), but with write access. Use with causion.
|
inline |
Get eigenvectors.
|
inline |
Get eigenvectors. Same as getEigenVectors(), but with write access. Use with causion.
|
inline |
Get model.
| void TBTK::DiagonalizationSolver::run | ( | ) |
Run calculations. Diagonalizes ones if no self-consistency callback have been set, or otherwise multiple times until slef-consistencey or maximum number of iterations has been reached.
|
inline |
Set maximum number of iterations for the self-consistency loop.
|
inline |
Set model to work on.
|
inline |
Set self-consistency callback. If set to NULL or never called, the self-consistency loop will not be run.
1.8.11