Annealing applet


The Annealing applet uses simulated annealing to conduct a non-linear search for minimal energy configurations for a spin glass. It uses an instance of the SpinGlassAnneal class to manage and visualize a collection of SpinGlass class instances.

To conduct the search, a collection of 100 particle spin glasses (all sharing the same J vector) with randomly initialized states are created. (The number is selected by the user.) The state of each glass is visualized as a particle located in two dimensional polar coordinate space.

The maximal energy of all particles at creation is represented as a location in the center of the display. As the energy of a spin glass drops, its particle tends to move from the center towards an outer black ring, which represents the theoretical minimal energy given the J vector. A cubic energy well draws the particle to a radial distance corresponding to the energy of its glass.

In addition, particles are repelled from each other in theta space proportionally to the distance between their 100 dimensional state vectors. This means that particles which share a similar configuration tend to clump together.

A "good enough" energy tolerance is represented by a green circle. Once a glass reaches this state, its particle changes from red to blue, and the glass state vector remains unchanged. The particle will continue to move until all particles settle down in an equilibrium configuration, or a large iteration cutoff is reached.

With a sufficient number of particles, the significant minima of the spin-glass state space space (for a given vector J) can be seen in the clumping of the final configuration of particles.


Select the number of spin glass elements to visualize in the system, then press the "Run Search" button.


It appears that energy minima in the spin-glass state space tend to be symmetrical.