pagnani / PottsGauge

Invariant Potts gauge for pairwise models

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

PottsGauge

Documentation Build Status Coverage
Build Status Build status codecov

Gauge transforms over the pair of Hamiltonian Potts parameters (J,h). Assuming we have a vector x of length N, and x[i] ∈ 1:q (q state Potts variable), a gauge transform is a change (J,h)→(J',h') such that for all Potts configurations x E(x,J,h)-E(x,J',h')=const.

The module defines the gauge-transforms gauge of pair J,h. J,h are arrays of size q×q×N×N, q×N respectively. J should be symmetric: J[a,b,i,j] == J[b,a,j,i]; if this is not the case it throws an error. Allowed gauge are: ZeroSumGauge,LatticeGas,WildType,ExternalGauge.

    Usage:

        gauge(J,h,ZeroSumGauge())
        gauge(J,h,ZeroFieldGauge())
        gauge(J,h,Wildtype(x0))
        gauge(J,h,ExternalGauge(U,V,C))

    where:

        * For `WildType` `x0` is a `Vector{Int}` of size `N` whose values are in the interval `1,…,q`

        * For `ExternalGauge`, `U`,`V` are `q×N×N` arrays, and C is vector of length `N`.

About

Invariant Potts gauge for pairwise models

License:Other


Languages

Language:Julia 100.0%