Finite-size scaling
This page summarizes the idea behind a scaling collapse and how it maps onto the package.
The scaling hypothesis
At a continuous phase transition, the correlation length diverges as
where
Choosing the scaling function
The presets of ScalingFunction cover the common observables. Each preset has two or three parameters p1, p2, p3, which you can name with p_names:
| observable | behaviour at | preset | parameters |
|---|---|---|---|
| dimensionless: Binder cumulant, | independent of | :x | |
| order parameter (magnetization, cluster density) | :xy | ||
| susceptibility, correlation time | :xny |
All presets rescale x as :xy multiplies y by :xny by
Measuring the collapse
To compare the rescaled curves, a quality function interpolates them and measures their spread; lower values mean a better collapse. The default, MultipleSplines, interpolates every system size separately and computes the variance between the curves on a grid of points (weighted by the error bars, if given). The curves are only compared where all system sizes overlap. The keyword dx restricts this further to a window of rescaled x values: the scaling form holds best close to
Things that limit the accuracy
Corrections to scaling. The scaling form is the leading term for large
and small . Small system sizes and wide windowsdxbias the parameters. Compare fits with the smallest sizes removed and with a narrower window; see the percolation example.Correlated parameters.
and (and and the y exponent) are usually correlated. The default profile error analysis takes this into account, see Error analysis. Correlated data. Curves computed from the same Monte Carlo samples (e.g. histogram reweighting) are correlated. None of the error methods takes this into account.