View source: R/new_matrixfit.R
new_matrixfit | R Documentation |
Modernised and extended implementation of matrixfit
new_matrixfit(cf, t1, t2, parlist, sym.vec = rep(1, cf$nrObs), neg.vec = rep("cosh", cf$nrObs), useCov = FALSE, model = "single", boot.fit = TRUE, fit.method = "optim", autoproceed = FALSE, par.guess, every, higher_states = list(val = numeric(0), boot = matrix(nrow = 0, ncol = 0), ampl = numeric(0)), ...)
cf |
Object of class |
t1 |
Integer, start time slice of fit range (inclusive). |
t2 |
Integer, end time slie of fit range (inclusive). |
parlist |
Numeric vector, list of parameters for the model function. |
sym.vec |
Integer, numeric or vectors thereof specifying the symmetry
properties of the correlation functions stored in |
neg.vec |
Integer or integer vector of global signs, see matrixfit for details. |
useCov |
Boolean, specifies whether a correlated chi^2 fit should be performed. |
model |
String, specifies the type of model to be assumed for the correlator. See below for details. |
boot.fit |
Boolean, specifies if the fit should be bootstrapped. |
fit.method |
String, specifies which minimizer should be used. See matrixfit for details. |
autoproceed |
Boolean, if TRUE, specifies that if inversion of the covariance matrix fails, the function should proceed anyway assuming no correlation (diagonal covariance matrix). |
par.guess |
Numeric vector, initial values for the paramters, should be
of the same length as |
every |
Integer, specifies a stride length by which the fit range should
be sparsened, using just |
higher_states |
List with elements |
... |
Further parameters. |
There are different fit models available. The models generally depend on one or multiple energies E and amplitudes p_i which for a general matrix are row- and column-amplitudes. The relative sign factor c \in \{-1, 0, +1\} depends on the chosen symmetry of the correlator. It is a plus for a “cosh” symmetry and a minus for a “sinh” symmetry. If the back propagating part is to be neglected (just “exp” model), it will be zero.
When the back propagating part is not taken into account, then the
single
, shifted
and weighted
model become the same except for changes
in the amplitude.
single
: The default model for a single state correlator is
\frac{1}{2} p_i p_j (\exp(-p_1 t) \pm c \exp(-p_2 (T-t))) \,.
shifted
: If the correlator has been shifted (using
takeTimeDiff.cf, then the following model is applicable:
p_i p_j (\exp(-p_1 (t+1/2)) \mp c \exp(-p_1 (T-(t+1/2)))) \,.
weighted
: Works similarly to the shifted
model but includes the
effect of the weight factor from removeTemporal.cf.
pc
: In case only a single principal correlator from a GEVP is to be
fitted this model can be used. It implements
\exp(-p_1(t-t_0))(p_2 + (1-p_2)\exp(-p_3 (t-t_0))
with t_0 the reference timesclice of the GEVP. See bootstrap.gevp for details.
two_amplitudes
: Should there be a single state but different amplitudes
in the forward and backwards part, the following method is applicable.
\frac{1}{2} (p_2 \exp(-p_1 t) \pm c p_3 \exp(p_1 t))
This only works with a single correlator at the moment.
single_constant
: Uses the single
model and simply adds + p_3 to
the model such that a constant offset can be fitted. In total the model is
\mathrm{single}(p_1, p_2) + p_3 \,.
n_particles
: A sum of single
models with independent energies and
amplitudes:
∑_{i = 1}^n \mathrm{single}(p_{2n-1}, p_{2n}) \,.
Use
the higher_states
parameter to restrict the thermal states with priors to
stabilize the fit.
See bootstrap.nlsfit.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.