Let's do the Bayesian scaling analysis!

This package includes a reference code of the new kernel method for the finite-size scaling analysis of critical phenomena. Please use a new command in the "CC2" folder.

The new method is based on the Gaussian process regression, which is called kernel method. After the advent of kernel methods in the machine learning community, the method of data analysis was drastically changed. Because the kernel method is very flexible for complex real data, the power of the kernel method can also help our scaling analysis.

The original paper [1] mainly considered the scaling law without corrections to scaling. The recent progress resolves the problem of corrections to scaling systematically [2]. In fact, this reference code can deal with a general finite-size scaling law with or without corrections to scaling as follows:

\begin{equation} A(T, L) = L^{c_2} F[ ( T - T_c ) L^{c_1} ], \end{equation}


\begin{equation} A(T, L) = L^{c_2} \left(F[ ( T - T_c ) L^{c_1} ] + G[ ( T - T_c ) L^{c_1} ] L^{-c_3} \right), \end{equation}

where \( A \) is an observable, \(L\) is a system size, \(T_c\) is a critical point, and \(c_3 > 0\) is an irrelevant critical exponent.

Because we assume only the smoothness of the functions \( F \) and \( G \), we do not need to limit the range of data near a critical point so that the scaling function is approximated by a polynomial. Thus, this code can be widely applied to real data in critical phenomena(see the 2nd demo in this page). This code also uses a hybrid Monte Carlo to estimate the confidential intervals of inferred values.

I recommend this code for all users of the finite-size scaling analysis, because it is very flexible, and it automatically and easily can estimates the values of critical exponents and a critical point without the technical knowledge. If this new method is useful to your study, I hope that you cite my papers to spread this new method.

July, 2015

Kenji Harada

  1. Kenji Harada: Bayesian inference in the scaling analysis of critical phenomena, Physical Review E 84 (2011) 056704.
    DOI: 10.1103/PhysRevE.84.056704
  2. Kenji Harada: Kernel method for corrections to scaling, Physical Review E 92 (2015) 012106.
    DOI: 10.1103/PhysRevE.92.012106


April 21th 2015
Fixed a bug in the output of scaling functions with the option "-f 1". Added the option "-w nnn" to control the x-range of outputted scaling functions.
November 9th 2014
Fixed a bug in the output with the option "-f 1".
November 6th 2014
Fixed a bug for the use of the option -t.
October 15th 2014
Added the "CC2" folder. The "CC2" folder includes the code of new command "new_bfss" which deals with a finite-size scaling with or without corrections to scaling.
December 15th 2013
A null line and an unformatted line are skipped.
November 25th 2013
Fixed the bugs in all application codes. These bugs count the last data point in a data file or STDIN doubly.
July 5th 2013
First release.


New CC2 folder

This folder includes a new command of Bayesian finite size scaling.

Learn more »

Old CC folder

This folder includes an old command of Bayesian finite size scaling.

Learn more »

Related site


An implementation with PyTorch (python) of two FSS methods by using Gaussian process (GP) and a neural network (NN).

Learn more »