I developed these notes and exercises as part of a tutorial on how to use the Kao Group’s computing cluster. Although some of the details are specific to this specific cluster, much of the material could be useful for anyone getting started in computational physics, so I thought I would share it here. The materials are posted on github.com/adazi/bootCampEx and the best place to start is by reading README.md
I was flipping through the fourth edition Landau and Binder’s excellent book on Monte Carlo for statistical physics and I came across this gem on p. 139:
We end this chapter by summarizing a few procedures which in our experience can be useful for reducing errors and making simulations studies more effective. These thoughts are quite general and widely applicable. While these ‘rules’ provide no ‘money-back’ guarantee that the results will be correct, they do provide a prudent guideline of steps to follow.
(1) In the very beginning, think.
What problem do you really want to solve and what method and strategy is best suited to the study. You may not always choose the best approach to begin with, but a little thought may reduce the number of false starts.
(2) In the beginning think small.
Work with small lattices and short runs. This is useful for obtaining rapid turnaround of results and for checking the correctness of a program. This also allows us to search rather rapidly through a wide range of parameter space to determine ranges with physically interesting behavior.
(3) Test the random number generator.
Find some limiting cases where accurate, or exact values of certain properties can be calculated, and compare your results of your algorithm with different random number sequences and/or different random number generators.
(4) Look at systematic variations with system size and run length.
Use a wide range of sizes and run lengths and then use scaling forms to analyze data.
(5) Calculate error bars.
Search for and estimate both statistical and systematic errors. This enables both you and other researchers to evaluate the correctness of the conclusions which are drawn from the data.
(6) Make a few very long runs.
Do this to ensure that there is not some hidden time scale which is much longer than anticipated.
One problem with scientific publishing is that the most up-to-date information about a topic is spread out across numerous extremely technical journal articles, none of which explains the concept from scratch. In response to a request from a friend (see previous post), I thought I would take a little time to try to answer the question: “what is a spinon?”