diff options
author | Jaron Kent-Dobias <jaron@kent-dobias.com> | 2018-02-21 11:40:28 -0500 |
---|---|---|
committer | Jaron Kent-Dobias <jaron@kent-dobias.com> | 2018-02-21 11:40:28 -0500 |
commit | 05725b9fa4843d19561b026567979709cc6b62a2 (patch) | |
tree | 9befb0daadbb24647fad52635d36657fcb98b17c | |
download | aps_mm_2018-05725b9fa4843d19561b026567979709cc6b62a2.tar.gz aps_mm_2018-05725b9fa4843d19561b026567979709cc6b62a2.tar.bz2 aps_mm_2018-05725b9fa4843d19561b026567979709cc6b62a2.zip |
initial commit
-rw-r--r-- | .gitignore | 7 | ||||
-rw-r--r-- | .gitmodules | 3 | ||||
-rw-r--r-- | aps_mm_2018.html | 194 | ||||
-rw-r--r-- | aps_mm_2018.tex | 166 | ||||
-rw-r--r-- | figs/test.webm | bin | 0 -> 231287 bytes | |||
-rw-r--r-- | figs/wolff-scoop_explanation.png | bin | 0 -> 98441 bytes | |||
-rw-r--r-- | figs/wolff-scoop_title.png | bin | 0 -> 139907 bytes | |||
-rw-r--r-- | main.css | 32 | ||||
m--------- | vissense | 0 |
9 files changed, 402 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..203e646 --- /dev/null +++ b/.gitignore @@ -0,0 +1,7 @@ +aps_mm_2018.aux +aps_mm_2018.log +aps_mm_2018.nav +aps_mm_2018.out +aps_mm_2018.pdf +aps_mm_2018.snm +aps_mm_2018.toc diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..071b2fe --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "vissense"] + path = vissense + url = https://github.com/vissense/vissense.git 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> diff --git a/aps_mm_2018.tex b/aps_mm_2018.tex new file mode 100644 index 0000000..34e9114 --- /dev/null +++ b/aps_mm_2018.tex @@ -0,0 +1,166 @@ +% +% research_midsummer.tex - Research Presentation for the Topaz lab. +% +% Created by Jaron Kent-Dobias on Tue Mar 20 20:57:40 PDT 2012. +% Copyright (c) 2012 pants productions. All rights reserved. +% + +\documentclass[fleqn,aspectratio=169]{beamer} + +\usepackage[utf8]{inputenc} +\usepackage{amsmath,amssymb,latexsym,graphicx,multimedia} +\usepackage{concmath} +\usepackage[T1]{fontenc} + +\usecolortheme{beaver} +\usefonttheme{serif} +\setbeamertemplate{navigation symbols}{} + +\title{Direct Measurement of Metastable Properties Near Critical Points} +\author{ Jaron~Kent-Dobias \and James~Sethna} +\institute{Cornell University} +\date{9 March 2018} + +\begin{document} + +\def\H{\mathcal H} +\def\Z{\mathbb Z} + +\begin{frame} + \titlepage +\end{frame} + +\begin{frame} + \frametitle{Outline} + \begin{itemize} + \item Simulating equilibrium spin systems + \item Local updates: it's got problems + \item Solution: cluster flips! + \item Cluster flips\dots in an external field??? + \item \dots{}yes! + \item Analysis of runtime, efficiency + \item Formal redefinition of magnetization + \item Use: direct measurement of the metastable state + \end{itemize} + \vfill +\end{frame} + +\begin{frame} + \frametitle{Spin systems: we love them} + + Described by Hamiltonians + \[ + \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)$ + + \begin{table} + \renewcommand{\tabcolsep}{7pt} + \begin{tabular}{l||cccc} + & $s$ & $R$ & $Z(s_i,s_j)$ & $H(s)$ \\ + \hline\hline + Ising model & $\{-1,1\}$ & $s\mapsto-s$ & $s_is_j$ & $Hs$ \\ + Order-$n$ model & $S^n$ & $\mathop{\mathrm{SO}}(n)$ (rotation) & $s_i\cdot s_j$ & $H\cdot s$ \\ + Potts model & $\Z/q\Z$ & addition mod $q$ & $\delta(s_i,s_j)$ & + $\sum_iH_i\delta(i,s)$ \\ + Clock model & $\Z/q\Z$ & addition mod $q$ & $\cos(2\pi\frac{s_i-s_j}q)$ & + $\sum_iH_i\cos(2\pi\frac{s-i}q)$ + \end{tabular} + \end{table} + + Relatively simple with extremely rich behavior, phase transitions galore! +\end{frame} + +\begin{frame} + \frametitle{Local Monte Carlo: Not Great} + + Standard approach to modelling arbitrary stat mech system: metropolis. + + \begin{enumerate} + \item Pick random spin. + \item Pick random rotation $R$. + \item Compute change in energy $\Delta\H$ resulting from taking $s$ to + $R(s)$. + \item Take $s$ to $R(s)$ with probability $\max\{1,e^{-\beta\Delta\H}\}$. + \end{enumerate} + + 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 + points. +\end{frame} + +\begin{frame} + \frametitle{Wolff: wow, what a solution} + + \begin{enumerate} + \item Pick random spin, add to cluster. + \item Pick random rotation $R$. + \item For every neighboring spin, add to cluster with probability + $\min\{0,1-e^{-\beta(Z(R(s),t)-Z(R(s),R(t)))}\}$. + \item Repeat 3 for every spin added to cluster. + \item Transform entire cluster with rotation $R$. + \end{enumerate} + Relies on symmetry of $Z$ + + Fast near the critical point: early studies thought $z$ was zero, actually + $0.1$--$0.4$. +\end{frame} + +\begin{frame} + \frametitle{We want to apply an external field, though} + + The external field $H$ is not invariant under global rotations! + + Let's make it that way: $R_s$ is the rotation that takes $s$ to the + identity + (1, first basis vector, etc) + \[ + \tilde Z(s_i,s_j)= + \begin{cases} + Z(s_i,s_j) & \text{if $i,j\neq N$}\\ + 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 + \] +\end{frame} + +\begin{frame} + \centering + \includegraphics[height=0.8\textheight]{figs/wolff-scoop_title} +\end{frame} + +\begin{frame} + \centering + \includegraphics[height=0.8\textheight]{figs/wolff-scoop_explanation} +\end{frame} + +\begin{frame} + \frametitle{But does it actually work well? (yes)} + \movie[height=.4\textwidth,width=0.4\textwidth]{}{figs/test.avi} +\end{frame} + +\begin{frame} + \frametitle{Measuring direction-dependant quantities} +\end{frame} + +\begin{frame} + \frametitle{Metastable state!} +\end{frame} + +\begin{frame} +\end{frame} + +\end{document} + diff --git a/figs/test.webm b/figs/test.webm Binary files differnew file mode 100644 index 0000000..811be0e --- /dev/null +++ b/figs/test.webm diff --git a/figs/wolff-scoop_explanation.png b/figs/wolff-scoop_explanation.png Binary files differnew file mode 100644 index 0000000..4c2e891 --- /dev/null +++ b/figs/wolff-scoop_explanation.png diff --git a/figs/wolff-scoop_title.png b/figs/wolff-scoop_title.png Binary files differnew file mode 100644 index 0000000..8bbb0c2 --- /dev/null +++ b/figs/wolff-scoop_title.png diff --git a/main.css b/main.css new file mode 100644 index 0000000..f16954f --- /dev/null +++ b/main.css @@ -0,0 +1,32 @@ +td { + padding-bottom: 5px; + padding-top: 5px; +} + +td.first { + border-right: 2px solid #000; + padding-right: 5px; +} + +td:not(.first) { + text-align: center; +} + + +.column:first-of-type {float:left} +.column:last-of-type {float:right} + +.split-40 .column:first-of-type {width: 60%} +.split-40 .column:last-of-type {width: 40%} + +.remark-slide-number { + opacity: 0.0; +} + +img { + display: block; + margin-left: auto; + margin-right: auto; + width: 80%; +} + diff --git a/vissense b/vissense new file mode 160000 +Subproject f169c9347dc98d3895de65fbb6bcd725351d624 |