// Also, "gauge fixing" sets field and couplings between
// the commonest states to zero.
-double PottsHamiltonian::get_energy(const std::vector<int> &config) const {
+double PottsHamiltonian::get_energy(const std::vector<unsigned> &config) const {
// Compute energy of the input configuration
double E = 0;
- for (int i=0;i<config.size();i++) {
+ for (unsigned i=0;i<config.size();i++) {
//assert(config[i] <= J[i].size());
E -= J[i][config[i]];
- for (int j=i+1;j<config.size();j++) {
+ for (unsigned j=i+1;j<config.size();j++) {
- if (config[j]!=J[i].size()) E -= J[index(i,j,config.size())][sindex(config[i],config[j],J[i].size(),J[j].size())];
+ if (config[j]!=J[i].size())
+ E -= J[index(i,j,config.size())][sindex(config[i],config[j],J[i].size(),J[j].size())];
}
PottsHamiltonian(std::string &FILENAME);
PottsHamiltonian() : bh(1.0), bJ(1.0) { }
- double get_energy(const std::vector<int> &config) const;
+ double get_energy(const std::vector<unsigned> &config) const;
void set_temp(double x) { bh=x; bJ=x; }
void set_temp(double x, double y) { bh=x; bJ=y; }