Cluster expansions with icet

Mattias Ångqvist and Magnus Rahm

Link to tutorial

Link to user guide

Learning objectives

In this tutorial you will learn

  • what cluster expansions (CEs) are and what they can be used for
  • how to generate training sets for CE construction using icet,
  • to apply machine learning algorithms for constructing CEs,
  • to sample a CE in various thermodynamic ensembles using Monte Carlo (MC) simulations, and
  • to efficiently analyze data from MC simulations.


This tutorial provides an introduction to icet and cluster expansions. The tutorial comprises four parts, each provided in the form of a jupyter notebook along with supporting data.

  • Stage 1: structure generation, enumeration, and mapping.
  • Stage 2: cluster expansion construction for the AgPd alloy
  • Stage 3: sampling of in the canonical and SGC ensemble for an Ising model
  • Stage 4: analyzing MC data using data containers from simulations of the Ising model

During this tutorial developers of icet can also discuss questions concerning own projects with the icet developers.


You need a laptop with a working Python3 environment with ASE 3.18.0 or newer and icet 1.0 or newer. To install icet run

pip3 install --user icet jupyter


Further information