Skip to content

LatticeAnimals.jl - Generate random lattice animals (polyforms) from the percolation model using the Metripolis algorithm

License

Notifications You must be signed in to change notification settings

PhoenixSmaug/LatticeAnimals.jl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LatticeAnimals.jl

This packages generates random lattice animals (or sometimes called polyforms) from the standard percolation model using the Metropolis-Hasting algorithm.

The polyform is specified by its lattice basis matrix and a list of neighbours, where each entry is a linear combination of basis vectors leading to a neighbouring lattice point. So for example the square tesselation of the polyomino squares has the basis matrix $B$ and neighbours $N$:

$$B = \begin{pmatrix}1 & 0 \\0 & 1 \end{pmatrix} \quad \quad \quad N = \left\{\begin{pmatrix}1 \\0 \end{pmatrix}, \begin{pmatrix}0 \\1 \end{pmatrix}, \begin{pmatrix}-1 \\0 \end{pmatrix}, \begin{pmatrix}0 \\-1 \end{pmatrix}\right\}$$

The following functions are exported:

  • Poly(n, p, basis, neighbours): Generate a random polyform - specified in the basis-neighbours notation - of size n and percolation factor p

  • Polyomino(n, p): Generate a random polyomino of size n and percolation factor p

  • Polyhex(n, p): Generate a random polyhex of size n and percolation factor p

  • polyPlot(tiles, basis, path): Draw the polyform as a scatter plot and save to path

  • setDimension(d): Change the number of dimensions (default value: 2), a Julia restart is required afterwards

About

LatticeAnimals.jl - Generate random lattice animals (polyforms) from the percolation model using the Metripolis algorithm

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages