From c960d23a9e147c2043df852460427b95bf752583 Mon Sep 17 00:00:00 2001 From: Jaron Kent-Dobias Date: Thu, 1 Mar 2018 01:43:33 -0500 Subject: more cosmetic changes --- lib/cluster.h | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 lib/cluster.h (limited to 'lib/cluster.h') diff --git a/lib/cluster.h b/lib/cluster.h new file mode 100644 index 0000000..095ed61 --- /dev/null +++ b/lib/cluster.h @@ -0,0 +1,57 @@ + +#pragma once + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "types.h" +#include "rand.h" +#include "stack.h" +#include "convex.h" +#include "graph.h" +#include "tree.h" +#include "measurement.h" +#include "orthogonal.h" +#include "dihedral.h" + +typedef struct { + graph_t *g; + q_t *spins; + double T; + double *J; + 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)(q_t, double *, double *); + double *H_info; + 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