PottsGauge
Documentation | Build Status | Coverage |
---|---|---|
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`.