From 1fbcb4dd4e52daeb53becba33827f8e48c5606b2 Mon Sep 17 00:00:00 2001 From: Jaron Kent-Dobias Date: Wed, 28 Feb 2018 20:33:41 -0500 Subject: fixed major mistake in process, also got n-component version fully working --- lib/wolff.h | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'lib/wolff.h') diff --git a/lib/wolff.h b/lib/wolff.h index ce7040a..29286ba 100644 --- a/lib/wolff.h +++ b/lib/wolff.h @@ -20,6 +20,8 @@ #include "graph.h" #include "tree.h" #include "measurement.h" +#include "orthogonal.h" +#include "dihedral.h" typedef struct { graph_t *g; @@ -29,12 +31,27 @@ typedef struct { double *H; double *J_probs; double *H_probs; + dihedral_t *R; double E; v_t *M; q_t q; } ising_state_t; +typedef struct { + graph_t *g; + double *spins; + double T; + double (*J)(double); + double (*H)(double *); + double *R; + double E; + double *M; + q_t n; +} vector_state_t; + 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); + graph_t *graph_add_ext(const graph_t *g); -- cgit v1.2.3-70-g09d2