-E(σ)/k_{B}T, which implies that the probability for the occurrence of a configuration is higher at lower energies. Hence, to find these low-energy configurations, one need to search the space of all possible combinations of the arrangement of atoms on the lattice.

E = ΦJ where **J** is a vector of model parameters, **E** is a vector of energies and **Φ** is a matrix(formed by basic functions). Practical implementation of CE first solves the inverse problem to determine the parameters *J _{i}*. Since the requirement is that CE model should be as accurate as DFT, the set of clusters(or "figures") and the corresponding

abinitio would help remove error/ambiguity that arises when using fitted or empirical values.

L_{0} minimization and algorithms for convex *L*_{1} minimization are available to construct sparse CE model. Also, various repetitive tasks have been automated. LACOS is written in Python with C modules to take care of compute-intense part of the modelling. Various components of the package and the flow between them is shown in the above figure, and is described briefly below.

*PyClex*

An abbreviation of Python Cluster Expansion, *PyClex* performs cluster expansion on the database generated by *DFTrunner*. The code can be used for multisite, multicomponent solid solutions. The "best" set of clusters {α} is obtained using model selection techniques. Specifically, the linear equation **E=ΦJ** is solved for under-determined condition M<N where M×N is the size of the matrix **Φ**; the matrix **Φ** is constructed such that it has low coherence. Various algorithms implemented in PyClex for model selection broadly falls in three categories:

- -
*Heuristic technique*: Genetic Algorithm (GA), modified GA for sparse model selection - -
*Approximate L*using "greedy" algorithms: Orthogonal Matching Pursuit (OMP), CoSaMP, Iterative hard thresholding (IHT) and its variants._{0}- minimization - -
*L*for sparse model selection: LASSO, Split-Bregman method, convex optimization (using cvxpy), ISTA/FISTA_{1}- minimization - -
*Mixed norm L*for_{2}/ L_{q}- minimization*block*sparse feature selection: iterative reweighted lease square (IRLS) algorithm - to be used for multicomponent materials.

*CPyMonC*

This is a Monte Carlo code to perform finite temperature simulation (the name is derived from C-Python Monte Carlo). The "best" {α} and J_{α} from PyClex are inputs to this code. Monte Carlo simulation gives access to finite-T configurations of the material system, thus allowing various thermodynamic quantities to be calculated. The C functions of the code that handles the core Monte Carlo loop is parallelized using OpenMP.

The LACOS package is currently aimed at bulk system and is expected to evolve in future to include surfaces, thus expanding cluster expansion to model catalysts, electrochemistry of materials, near-surface alloys *etc*. Integration of the package with in-house developed modeling platform CINEMAS will also be undertaken in coming years.

www.ikst.res.in/mahesh) is the developer of the LACOS package.

- Mahesh Chandran,
*Multiscale abinitio simulation of Ni-based alloys: Real-space distribution of atoms in γ+γ' phase,*

Journal : Computational Materials Science**108**, 192 (2015). Access Journal Site - M. A. Davenport,M. F. Duarte, Y. C. Eldar, G. Kutyniok, in
*Compressed Sensing: Theory and Applications,*Cambridge University Press, Cambridge (2012). To book site