diff options
Diffstat (limited to 'aps_mm_2018.html')
-rw-r--r-- | aps_mm_2018.html | 194 |
1 files changed, 194 insertions, 0 deletions
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 & 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> |