Template Function LanczosEigenvector

Function Documentation

template<typename T, typename HilbertField>
void LanczosEigenvector(T &H, vector<HilbertField> &gs, vector<double> &alpha, vector<double> &beta, bool verb = false)

Implementation of the Lanczos method for the lowest eigenvector.

Calculates the eigenvector associated with the lowest eigenvalue previously calculated using LanczosEigenvalue. Assumes the multiply-add matrix routine is usually provided by a struct method

Parameters:
  • H – pointer (cast to void) to the struct object to which the multiply-add routine belongs

  • gs – Initial state (provided on input. Modified by the routine).

  • alpha – Diagonal of the tridiagonal matrix (computed by LanczosEigenvalue).

  • beta – Second Diagonal of the tridiagonal matrix (computed by LanczosEigenvalue).