| bootstrap.gevp | R Documentation |
perform a bootstrap analysis of a GEVP for a real, symmetric correlator matrix
bootstrap.gevp(cf, t0 = 1, element.order = 1:cf$nrObs, sort.type = "vectors", sort.t0 = TRUE)
cf |
correlation matrix obtained with a call to |
t0 |
initial time value of the GEVP, must be in between 0 and
|
element.order |
specifies how to fit the |
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 |
Say something on "det" sorting method.
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.
Carsten Urbach, curbach@gmx.de
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
gevp, extract.obs, bootstrap.cf
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")
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.