gevp: solve GEVP for correlator matrix

View source: R/gevp.R

gevpR Documentation

solve GEVP for correlator matrix

Description

solve GEVP for a real, symmetric correlator matrix

Usage

gevp(cf, Time, t0 = 1, element.order = 1:cf$nrObs, for.tsboot = TRUE,
  sort.type = "vectors", sort.t0 = TRUE)

Arguments

cf

correlation matrix preferably obtained with a call to extrac.obs (or at leas with the same structure) or an already averaged one.

cf is supposed to be an array of dim=c(N, n*(Time/2+1)), where N is the number of observations and n is the number of single correlators in the matrix. E.g. for a 2x2 matrix n would be 4.

Time

time extent of the lattice.

t0

initial time value of the GEVP, must be in between 0 and Time/2-2. Default is 1.

element.order

specifies how to fit the n linearly ordered single correlators into the correlator matrix. element.order=c(1,2,3,4) leads to a matrix matrix(cf[element.order], nrow=2).

for.tsboot

for internal use of bootstrap.gevp. Alters the returned values, see details.

sort.type

Sort the eigenvalues either in descending order, or by using the scalar product of the eigenvectors with the eigenvectors at t=t0+1. Possible values are "values", "vectors" or "det".

sort.t0

if true (default), sort with respect to data at t0, otherwise with respect to t-1.

Details

The generalised eigenvalue problem
C(t) v(t,t0) = C(t0)lambda(t,t0) v(t,t0) C(t) v(t,t0) = C(t0)lambda(t,t0) v(t,t0) C(t) v(t,t0) = C(t0)lambda(t,t0) v(t,t0)
is solved by performing a Cholesky decomposition of C(t0)=t(L) LC(t0)=t(L) L and transforming the GEVP into a standard eigenvalue problem for all values of t. The matrices C are symmetrised for all t. So we solve for lambda
solve(t(L)) C(t) solve(L) w = lambda w
with
w = L v or the wanted v = L^{-1} w.

The amplitudes can be computed from
A_i^{(n)}(t) = ∑_{j}C_{ij}(t) v_j^{(n)}(t,t_0)/(√{(v^{(n)}, Cv^{(n)})(\exp(-mt)\pm \exp(-m(t-t)))}) and this is what the code returns up to the factor
1/√{\exp(-mt)\pm \exp(-m(t-t))} The states are sorted by their eigenvalues when "values" is chosen. If "vectors" is chosen, we take \max( ∑_i \langle v(t_0,i), v(t, j)\rangle) with v the eigenvectors. For sort type "det" we compute \max(...)

Value

Returns a list with the sorted eigenvalues, sorted eigenvectors and sorted (reduced) amplitudes for all t > t0.

In case for.tsboot=TRUE the same is returned as one long vector with first all eigenvalues concatenated, then all eigenvectors and then all (reduced) amplitudes concatenated.

Author(s)

Carsten Urbach, curbach@gmx.de

References

Michael, Christopher and Teasdale, I., Nucl.Phys.B215 (1983) 433, DOI: 10.1016/0550-3213(83)90674-0
Blossier, B. et al., JHEP 0904 (2009) 094, DOI: 10.1088/1126-6708/2009/04/094, arXiv:0902.1265

See Also

boostrap.gevp, extract.obs


hadron documentation built on Sept. 9, 2022, 5:06 p.m.