bootstrap.gevp: perform a bootstrap analysis of a GEVP

View source: R/gevp.R

bootstrap.gevpR Documentation

perform a bootstrap analysis of a GEVP

Description

perform a bootstrap analysis of a GEVP for a real, symmetric correlator matrix

Usage

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

Arguments

cf

correlation matrix obtained with a call to extrac.obs.

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). Double indexing is allowed.

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" and "det". The last one represents a time consuming, but in principle better version of sorting by vectors.

sort.t0

for sort.type "vectors" use t0 as reference or t-1.

Details

Say something on "det" sorting method.

Value

Returns an object of class gevp with member objects:

cf:
The input data, if needed bootstrapped with bootstrap.cf.

res.gevp:
The object returned from the call to gevp. For the format see gevp.

gevp.tsboot:
The bootstrap samples of the GEVP. For the format see gevp.

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

gevp, extract.obs, bootstrap.cf

Examples


data(correlatormatrix)
## bootstrap the correlator matrix
correlatormatrix <- bootstrap.cf(correlatormatrix, boot.R=99, boot.l=1, seed=132435)
## solve the GEVP
t0 <- 4
correlatormatrix.gevp <- bootstrap.gevp(cf=correlatormatrix, t0=t0, element.order=c(1,2,3,4))
## extract the ground state and plot
pc1 <- gevp2cf(gevp=correlatormatrix.gevp, id=1)
plot(pc1, log="y")
## determine the corresponding effective masses
pc1.effectivemass <- bootstrap.effectivemass(cf=pc1)
pc1.effectivemass <- fit.effectivemass(cf=pc1.effectivemass, t1=5, t2=20)
## summary and plot
summary(pc1.effectivemass)
plot(pc1.effectivemass)

## we can also use matrixfit with a special model for a principal
## correlators
pc1.matrixfit <- matrixfit(pc1, t1=2, t2=24, fit.method="lm", model="pc", useCov=FALSE,
                           parlist=array(c(1,1), dim=c(2,1)), sym.vec=c("cosh"), neg.vec=c(1))
summary(pc1.matrixfit)
plot(pc1.matrixfit)

## the same can be achieved using bootstrap.nlsfit
model <- function(par, x, t0, ...) {
  return(exp(-par[1]*(x-t0))*(par[3]+(1-par[3])*exp(-par[2]*(x-t0))))
}
ii <- c(2:4, 6:25)
fitres <- parametric.nlsfit(fn=model, par.guess=c(0.5, 1, .9),
                            y=pc1$cf0[ii], dy=pc1$tsboot.se[ii],
                            x=ii-1, boot.R=pc1$boot.R, t0=t0)
summary(fitres)
plot(fitres, log="y")


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