Hatano-Nelson

Hatano-Nelson matrices extend the (Nobel prize winning) work of Anderson on the localization of eigenvalues of random tridiagonal matrices. The matrices have a main diagonal with each entry sampled from the uniform distribution over a ball from the real line or complex plane; each entry of the superdiagonal is set to \(e^g\) (if periodic, also the bottom-left corner), each entry of the subdiagonal is set to \(e^{-g}\) (if periodic, also the top-right corner).

C++ API

void HatanoNelson(Matrix<F> &A, Int n, F center, Base<F> radius, F g, bool periodic = true)
void HatanoNelson(ElementalMatrix<F> &A, Int n, F center, Base<F> radius, F g, bool periodic = true)

C API

ElError ElHatanoNelson_s(ElMatrix_s A, ElInt n, float center, float radius, float g, bool periodic)
ElError ElHatanoNelson_d(ElMatrix_d A, ElInt n, double center, double radius, double g, bool periodic)
ElError ElHatanoNelson_c(ElMatrix_c A, ElInt n, complex_float center, float radius, complex_float g, bool periodic)
ElError ElHatanoNelson_z(ElMatrix_z A, ElInt n, complex_double center, double radius, complex_double g, bool periodic)
ElError ElHatanoNelsonDist_s(ElDistMatrix_s A, ElInt n, float center, float radius, float g, bool periodic)
ElError ElHatanoNelsonDist_d(ElDistMatrix_d A, ElInt n, double center, double radius, double g, bool periodic)
ElError ElHatanoNelsonDist_c(ElDistMatrix_c A, ElInt n, complex_float center, float radius, complex_float g, bool periodic)
ElError ElHatanoNelsonDist_z(ElDistMatrix_z A, ElInt n, complex_double center, double radius, complex_double g, bool periodic)

Python API

HatanoNelson(A, n, center, radius, g, periodic=True)