Alternative method to determine energy levels from correlation matrices. A so-called Hankel matrix is generated from an input real numeric vector and a generalised eigenvalue problem is solved then.
gevp.hankel(cf, t0 = 1, deltat = 1, n, N, submatrix.size = 1,
element.order = c(1, 2, 3, 4), Delta = 1)
Numeric vector (this will generally be the time slices of a correlation function).
Integer. Initial time value of the GEVP, must be in between 0 and
Time/2-2
. Default is 1.
Integer. Time shift to be used to build the Hankel matrix
Integer. Size of the Hankel matrices to generate
Integer. Maximal time index in correlation function to be used in Hankel matrix
Integer. Submatrix size to be used in build of Hankel matrices. Submatrix.size > 1 is experimental.
Integer vector. specifies how to fit the n
linearly ordered single
correlators into the correlator
matrix for submatrix.size > 1. element.order=c(1,2,3,4)
leads to a matrix
matrix(cf[element.order], nrow=2)
.
Matrix elements can occur multiple times, such as c(1,2,2,3)
for the symmetric case,
for example.
integer. Delta is the time shift used in the Hankel matrix.
A complex vector of length n + n^2
which contains the eigenvalues in the first
n
elements and the eigenvectors in the remaining n^2
elements.
A vector of NAs of n + n^2
is returend in case the QR decomposition fails.
Other hankel:
bootstrap.hankel_summed()
,
bootstrap.hankel()
,
gevp.hankel_summed()
,
hankel2cf()
,
hankel2effectivemass()
,
plot_hankel_spectrum()