From 2928df0a4b4be30cde2b11bdcf2698875d5b9536 Mon Sep 17 00:00:00 2001 From: Jaron Kent-Dobias Date: Tue, 20 Mar 2018 19:06:50 -0400 Subject: new system --- lib/cluster.h | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'lib/cluster.h') diff --git a/lib/cluster.h b/lib/cluster.h index 095ed61..2de17e5 100644 --- a/lib/cluster.h +++ b/lib/cluster.h @@ -21,6 +21,7 @@ #include "measurement.h" #include "orthogonal.h" #include "dihedral.h" +#include "dihinf.h" typedef struct { graph_t *g; @@ -36,6 +37,18 @@ typedef struct { q_t q; } ising_state_t; +typedef struct { + graph_t *g; + h_t *spins; + double T; + double (*J)(h_t); + double (*H)(double *, h_t); + double *H_info; + dihinf_t *R; + double E; + h_t M; +} dgm_state_t; + typedef struct { graph_t *g; double *spins; @@ -53,5 +66,7 @@ v_t flip_cluster(ising_state_t *s, v_t v0, q_t s1, gsl_rng *r); v_t flip_cluster_vector(vector_state_t *s, v_t v0, double *rot, gsl_rng *r); +v_t flip_cluster_dgm(dgm_state_t *s, v_t v0, h_t rot, gsl_rng *r); + graph_t *graph_add_ext(const graph_t *g); -- cgit v1.2.3-70-g09d2