From 05725b9fa4843d19561b026567979709cc6b62a2 Mon Sep 17 00:00:00 2001
From: Jaron Kent-Dobias <jaron@kent-dobias.com>
Date: Wed, 21 Feb 2018 11:40:28 -0500
Subject: initial commit

---
 aps_mm_2018.html | 194 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 194 insertions(+)
 create mode 100644 aps_mm_2018.html

(limited to 'aps_mm_2018.html')

diff --git a/aps_mm_2018.html b/aps_mm_2018.html
new file mode 100644
index 0000000..afa519b
--- /dev/null
+++ b/aps_mm_2018.html
@@ -0,0 +1,194 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <title>Title</title>
+    <meta charset="utf-8">
+    <style>
+      @import url(https://fonts.googleapis.com/css?family=Yanone+Kaffeesatz);
+      @import url(https://fonts.googleapis.com/css?family=Droid+Serif:400,700,400italic);
+      @import url(https://fonts.googleapis.com/css?family=Ubuntu+Mono:400,700,400italic);
+
+      body { font-family: 'Droid Serif'; }
+      h1, h2, h3 {
+        font-family: 'Yanone Kaffeesatz';
+        font-weight: normal;
+      }
+      .remark-code, .remark-inline-code { font-family: 'Ubuntu Mono'; }
+    </style>
+    <link rel="stylesheet" type="text/css" href="main.css">
+  </head>
+  <body>
+    <textarea id="source">
+
+class: center, middle
+
+# An efficient cluster algorithm for spin systems in a symmetry-breaking field
+
+## Jaron Kent-Dobias &amp; James Sethna
+
+### Cornell University
+
+## 9 March 2018
+
+---
+
+# Spin systems
+
+Described by Hamiltonians
+
+$$\mathcal H=-\sum_{\langle ij\rangle}Z(s_i,s_j)-\sum_iH(s_i)$$
+
+for \\(Z\\) invariant under rotations \\(R\\): \\(Z(R(s),R(t))=Z(s,t)\\).
+
+<table style="border-collapse: collapse; table-layout: fixed; width: 80%; margin: auto;">
+  <thead style="border-bottom: 2px solid #000;">
+    <tr>
+      <td class="first"></td><td>\(s\)<td>\(R\)</td><td>\(Z(s_i,s_j)\)</td><td>\(H(s)\)</td>
+    </tr>
+  </thead>
+  <tbody>
+    <tr>
+      <td class="first">Ising model</td><td>\(\{-1,1\}\)</td><td>\(s\mapsto-s\)</td><td>\(s_is_j\)</td><td>\(Hs\)</td>
+    </tr>
+    <tr>
+      <td class="first">Order-\(n\) model</td><td>\(S^n\)</td><td>\(\mathop{\mathrm{SO}}(n)\) (rotation)</td><td>\(s_i\cdot s_j\)</td><td>\(H\cdot s\)</td>
+    </tr>
+    <tr>
+      <td class="first">Potts model</td><td>\(\mathbb Z/q\mathbb Z\)</td><td>addition mod \(q\)</td><td>\(\delta(s_i,s_j)\)</td><td>\(\sum_iH_i\delta(i,s)\)</td>
+    </tr>
+    <tr>
+      <td class="first">Clock model</td><td>\(\mathbb Z/q\mathbb Z\)</td><td>addition mod \(q\)</td><td>\(\cos(2\pi\frac{s_i-s_j}q)\)</td><td>\(\sum_iH_i\cos(2\pi\frac{s-i}q)\)</td>
+    </tr>
+  </tbody>
+</table>
+
+Relatively simple with extremely rich behavior, phase transition galore!
+
+---
+
+# Local Monte Carlo: Not Great
+
+  Standard approach to modelling arbitrary stat mech system: metropolis.
+  
+  1. Pick random spin.
+  2. Pick random rotation \\(R\\).
+  3. Compute change in energy \\(\Delta\mathcal H\\) resulting from taking \\(s\\) to \\(R(s)\\).
+  4. Take \\(s\\) to \\(R(s)\\) with probability \\(\max\\{1,e^{-\beta\Delta\mathcal H}\\}\\).
+
+
+Problem: Scales very poorly near phase transitions.
+
+Correlation time `\(\tau\sim L^z\)` at critical point, `\(\tau\sim t^{-z/\nu}\)`
+  approaching it.
+
+  `\(z\)` takes large integer values for Ising, order-`\(n\)`, Potts model critical
+
+
+---
+
+class: split-40
+
+# Wolff: wow, what a solution
+
+.column[
+
+ 1. Pick random spin, add to cluster.
+ 2. Pick random rotation `\(R\)`.
+ 3. For every neighboring spin, add to cluster with probability
+      `\(\min\{0,1-e^{-\beta(Z(R(s),t)-Z(R(s),R(t)))}\}\)`.
+ 4. Repeat 3 for every spin added to cluster.
+ 5. Transform entire cluster with rotation `\(R\)`.
+
+Relies on symmetry of `\(Z\)`
+
+Fast near the critical point: early studies thought `\(z\)` was zero, actually
+  0.1–0.4.
+
+  ]
+
+  .column[
+<video width="320" height="320"><source src="figs/test.webm" type="video/webm"></video>
+]
+
+---
+
+# We want to apply an external field, though
+
+  The external field `\(H\)` is not invariant under global rotations!
+
+  Let's make it that way: introduce an extra spin `\(s_0\)`, let `\(R_s\)` be the rotation that takes `\(s\)` to the
+  identity
+  `\[
+    \tilde Z(s_i,s_j)=
+    \begin{cases}
+      Z(s_i,s_j) & \text{if $i,j\neq0$}\\
+      H(R_{s_0}s_i) & \text{if $j=0$}\\
+      H(R_{s_0}s_j) & \text{if $i=0$}
+    \end{cases}
+  \]`
+  Exact correspondence between expectation values of operators in old and new
+  models: if `\(A(s)\)` is an observable on old model, `\(\tilde
+  A(s_0,s)=A(R_{s_0}s)\)` has the property
+  `\[
+    \langle\tilde
+    A\rangle=\mathop{\mathrm{Tr}}\nolimits_s\mathop{\mathrm{Tr}}\nolimits_{s_0}\tilde
+    A(s_0,s)=\mathop{\mathrm{Tr}}\nolimits_sA(s)=\langle A\rangle
+  \]`
+
+---
+
+  ![scooped](figs/wolff-scoop_title.png)
+
+---
+
+  ![scoop details](figs/wolff-scoop_explanation.png)
+
+    </textarea>
+    <script src="https://remarkjs.com/downloads/remark-latest.min.js">
+    </script>
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/MathJax.js?config=TeX-AMS_HTML&delayStartupUntil=configured" type="text/javascript"></script>
+    <script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
+    <script src="vissense/lib/vissense.js"></script>
+    <script>
+      $(document).ready(function(){
+      var videos = $('video'), // All videos element
+          allVidoesVisenseObj = [];
+      var monitorVideo = function(video){ //Handler for each video element
+          var visibility = VisSense(video, { fullyvisible: 0.75 }),
+              visibility_monitor = visibility.monitor({
+                  fullyvisible: function(e) {
+                      video.play();
+                  },
+                  hidden: function(e) {
+                      video.pause();
+                  }
+              }).start();
+          return {
+              visMonitor : visibility_monitor,
+              monitorStop : function(){
+                  this.visMonitor.stop();
+              },
+              monitorStart : function(){
+                  this.visMonitor.start();
+              }
+          };
+      };
+      videos.each(function( index ) {
+          var monitorVids = monitorVideo(this);
+          allVidoesVisenseObj.push(monitorVids);
+      });
+    });
+    </script>
+    <script type="text/javascript">
+      var slideshow = remark.create({ ratio: "16:9" });
+
+      MathJax.Hub.Config({
+        tex2jax: {
+          skipTags: ['script', 'noscript', 'style', 'textarea', 'pre']
+        }
+      });
+
+      MathJax.Hub.Configured();
+    </script>
+  </body>
+</html>
-- 
cgit v1.2.3-70-g09d2