Jekyll2020-06-01T21:34:10+00:00https://duetosymmetry.com/Leo C. SteinAssistant Professor @ U of MS. Specializing in gravity and general relativity.Leo C. Steinlcstein@olemiss.eduqnm talk (and notebook) at the BHPToolkit spring 2020 workshop2020-05-25T00:00:00+00:002020-05-25T00:00:00+00:00https://duetosymmetry.com/talks/qnm-talk-at-bhptoolkit-workshop<p>Last week I gave an invited talk at the <a href="http://astro.cas.cz/bhptoolkit2020/program.html">Spring 2020 workshop of the
Black Hole Perturbation
Toolkit</a>
(BHPToolkit). The <a href="http://bhptoolkit.org/">BHPToolkit</a> is a
collection of open source code and the people who work this code,
focused on the problem of black hole perturbation theory. This is
mostly motivated by needing to model extreme mass-ratio inspirals
(EMRIs) for the future space-based <a href="https://www.lisamission.org/">LISA
mission</a> to detect gravitational waves
at low frequencies.</p>
<p>Thanks to the scientific and local organizers for the invitation to
present, and for putting together a great program, all held online! I
think it was a huge success. At one point there were about 110 people
on Zoom, and another 25 watching on YouTube.</p>
<p>Speaking of which, if you missed the event live, all the materials are
online for posterity. There is a <a href="https://www.youtube.com/channel/UCuQQbp9Buq-R3da4zASTFfw">BHPToolkit YouTube
channel</a>.
My talk was on Monday, at around 04:11:00:</p>
<iframe width="560" height="315" src="https://www.youtube.com/embed/9jHxs4HiMSg?start=15062" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen=""></iframe>
<p>For my presentation, I talked about my <a href="https://github.com/duetosymmetry/qnm">qnm python
package</a>. I prepared a <a href="https://bit.ly/qnm-pres">colab
jupyter notebook on
qnm</a>
where you can follow along with the code demonstration and examples.
I hope you try it out and use my package!</p>Leo C. Steinlcstein@olemiss.eduLast week I gave an invited talk at the Spring 2020 workshop of the Black Hole Perturbation Toolkit (BHPToolkit). The BHPToolkit is a collection of open source code and the people who work this code, focused on the problem of black hole perturbation theory. This is mostly motivated by needing to model extreme mass-ratio inspirals (EMRIs) for the future space-based LISA mission to detect gravitational waves at low frequencies.Numerical relativity simulation of GW150914 beyond general relativity2020-05-07T00:00:00+00:002020-05-07T00:00:00+00:00https://duetosymmetry.com/pubs/DCS-merger<p class="align-right" style="width: 350px"><img src="https://duetosymmetry.com/images/DCS-merger-waveform.png" alt="" /></p>
<blockquote>
<p>We produce the first astrophysically-relevant numerical binary black
hole gravitational waveform in a higher-curvature theory of gravity
beyond general relativity. We simulate a system with parameters
consistent with GW150914, the first LIGO detection, in order-reduced
dynamical Chern-Simons gravity, a theory with motivations in string
theory and loop quantum gravity. We present results for the
leading-order corrections to the merger and ringdown waveforms, as
well as the ringdown quasi-normal mode spectrum. We estimate that
such corrections may be discriminated in detections with signal to
noise ratio ≳180–240, with the precise value depending on the
dimension of the GR waveform family used in data analysis.</p>
</blockquote>Leo C. Steinlcstein@olemiss.eduThe first astrophysically-relevant numerical simulation of merging black holes in a higher-curvature theory beyond GR.Notes: Generalized harmonic form of Einstein’s equations from a gauge-fixed action2020-03-06T06:00:00+00:002020-03-06T06:00:00+00:00https://duetosymmetry.com/notes/generalized-harmonic-gauge-fixed<p>This is another note in the series of “if I don’t write it down in an
easy-to-find place, then I’m going to have to keep re-deriving this
result.”</p>
<p>The Einstein-Hilbert action for the theory of general relativity is</p>
<div>
\begin{align}
I_{EH} = \frac{1}{16\pi} \int R \sqrt{-g} d^4x
\,.
\end{align}
</div>
<p>This is a beautiful diffeomorphism-invariant integral, so it leads to
the diff-invariant equations of motion (the Einstein field equations)
<script type="math/tex">G_{ab} = 8\pi T_{ab}</script> (once you add the matter action).</p>
<p>Because of diff-invariance, the solutions to Einstein’s equations are
not unique. There are an infinite number of coordinate
transformations that you can perform on a solution. Physicists think
of these as the same (they “mod out gauge”) but from the simpler PDEs
point of view, they’re different solutions. So, to pose GR as an
initial value problem, you need to fix a gauge.</p>
<p>One pretty gauge choice is the “generalized harmonic” gauge,</p>
<div>
\begin{align}
\label{eq:ghcond}
\newcommand{\cd}{\nabla}
\cd_b\cd^b x^{(a)} = g^{ab}H_b(x, g)
\,.
\end{align}
</div>
<p>Here the four functions <script type="math/tex">H_b</script> can depend on the coordinate
functions <script type="math/tex">x^{(a)}</script> and metric, but not derivatives of the
metric. This gauge choice is a generalization of the one that <a href="https://en.wikipedia.org/wiki/Yvonne_Choquet-Bruhat">Yvonne
Choquet-Bruhat</a>
used to prove well-posedness of the Einstein field equations. The
generalization was introduced by Friedrich<sup id="fnref:1"><a href="#fn:1" class="footnote">1</a></sup> and used to first
successfully evolve a binary black hole merger by Pretorius.<sup id="fnref:2"><a href="#fn:2" class="footnote">2</a></sup> This
is also the choice we make in
<a href="https://www.black-holes.org/code/SpEC.html">SpEC</a>, see Lindblom et al.<sup id="fnref:3"><a href="#fn:3" class="footnote">3</a></sup></p>
<p>The reason this gauge choice is nice is that when you write
out the Einstein equations in this gauge, the <a href="https://en.wikipedia.org/wiki/Symbol_of_a_differential_operator">principal
part</a>
is manifestly that of the scalar wave operator on the manifold, plus
lower order terms. That is, the Einstein equations become</p>
<div>
\begin{align}
\newcommand{\pd}{\partial}
0 = g^{cd}\pd_c\pd_d g_{ab} + 2\cd_{(a}H_{b)} + \text{L.O.T.s} +
16\pi(T_{ab} - \frac{1}{2}g_{ab} T^c{}_c)
\,,
\end{align}
</div>
<p>where L.O.T.s stands for lower order terms (that do not affect the
manifest hyperbolicity of the equations). Aside: here you can
see why <script type="math/tex">H_b</script> is allowed to depend on <script type="math/tex">g</script> but not on <script type="math/tex">\pd g</script> –
the latter would affect the principal part.</p>
<p>Now, usually these gauge conditions are imposed at the level of the
equations of motion to show hyperbolicity. However sometimes we want
to see the gauge getting fixed in the action. This is important for
e.g. diagrammatic methods like using Feynman diagrams (inverting to
find a unique propagator is the momentum-space cousin to showing
well-posedness of the PDEs).
For examples see <sup id="fnref:4"><a href="#fn:4" class="footnote">4</a></sup> and <sup id="fnref:5"><a href="#fn:5" class="footnote">5</a></sup>.</p>
<p>So, let’s try to add a gauge-fixing term to the action to get the
generalized harmonic formulation of GR. The easiest guess is
something like a Feynman-’t Hooft gauge fixing term,</p>
<div>
\begin{align}
I_{g.f.} = \frac{1}{16\pi} \int
\xi
(\Gamma_{acd} g^{cd} + H_a)g^{ab}(\Gamma_{bcd}g^{cd} + H_b)
\sqrt{-g} d^4x
\,.
\end{align}
</div>
<p>This tries to impose the GH condition \eqref{eq:ghcond} because
<script type="math/tex">\square x^{(a)} = - \Gamma^a = -\Gamma^a{}_{cd}g^{cd}</script>. Note that
this type of gauge-fixing term has long been known (for the special
case of <script type="math/tex">H=0</script>) to post-Newtonian practitioners.<sup id="fnref:4:1"><a href="#fn:4" class="footnote">4</a></sup> Now if we
vary<sup id="fnref:6"><a href="#fn:6" class="footnote">6</a></sup> <script type="math/tex">I_{EH}+I_{g.f.}</script>, we get the principal part</p>
<div>
\begin{align}
& g^{cd} \pd_{c}\pd_{d}g_{ab}
+ (1 + 2 \xi) g^{cd} \pd_{a}\pd_{b}g_{cd}\nonumber\\
&{}- (1 + 2 \xi) g^{cd} \pd_{a}\pd_{d}g_{bc}
- (1 + 2 \xi) g^{cd} \pd_{b}\pd_{d}g_{ac}
\,.
\end{align}
</div>
<p>By making the choice <script type="math/tex">\xi=-\frac{1}{2}</script>, we get the principal part
to agree with the scalar wave operator.</p>
<p>It is only a little bit of work to show that the equations you get by
variation of <script type="math/tex">I_{EH}+I_{g.f.}</script>, with the choice
<script type="math/tex">\xi=-\frac{1}{2}</script>, is “on-shell” equivalent to Eq. (7) of Ref.<sup id="fnref:3:1"><a href="#fn:3" class="footnote">3</a></sup>
(that is, you have to do some “on-shell” replacements of <script type="math/tex">H_a</script> with
<script type="math/tex">\Gamma_a</script> to get the exact same equation, but only in
lower-order-terms).</p>
<p>The punchline is that the generalized harmonic formulation of
Einstein’s equations comes from adding the above gauge-fixing term
(with <script type="math/tex">\xi=-\frac{1}{2}</script>) to the Einstein-Hilbert action.</p>
<h1 id="references">References</h1>
<div class="footnotes">
<ol>
<li id="fn:1">
<p>Friedrich, H. On the hyperbolicity of Einstein’s and other
gauge field equations, <a href="https://doi.org/10.1007/BF01217728">Commun. Math. Phys. <strong>100</strong>, 525-543
(1985)</a>. <a href="#fnref:1" class="reversefootnote">↩</a></p>
</li>
<li id="fn:2">
<p>Pretorius, F. Evolution of Binary Black-Hole Spacetimes,
<a href="https://doi.org/10.1103/PhysRevLett.95.121101">Phys. Rev. Lett. <strong>95</strong>, 121101
(2005)</a>. <a href="#fnref:2" class="reversefootnote">↩</a></p>
</li>
<li id="fn:3">
<p>Lindblom, Scheel, Kidder, Owen, and Rinne. A new generalized
harmonic evolution system, <a href="https://doi.org/10.1088/0264-9381/23/16/S09">Class. Quantum Grav. <strong>23</strong> S447
(2006)</a>. <a href="#fnref:3" class="reversefootnote">↩</a> <a href="#fnref:3:1" class="reversefootnote">↩<sup>2</sup></a></p>
</li>
<li id="fn:4">
<p>Appendix C of Damour & Schäfer, Lagrangians for <em>n</em> point masses
at the second post-Newtonian approximation of general relativity,
<a href="https://link.springer.com/article/10.1007%2FBF00773685">Gen. Rel. Grav. <strong>17</strong>, 879-905
(1985)</a>. <a href="#fnref:4" class="reversefootnote">↩</a> <a href="#fnref:4:1" class="reversefootnote">↩<sup>2</sup></a></p>
</li>
<li id="fn:5">
<p>Goldberger and Rothstein, Effective field theory of gravity for
extended objects, <a href="https://doi.org/10.1103/PhysRevD.73.104029">Phys. Rev. D <strong>73</strong>, 104029
(2006)</a>. <a href="#fnref:5" class="reversefootnote">↩</a></p>
</li>
<li id="fn:6">
<p>Maybe the variation is subtle… I treated <script type="math/tex">H_a</script> as fixed when
varying the metric. <a href="#fnref:6" class="reversefootnote">↩</a></p>
</li>
</ol>
</div>Leo C. Steinlcstein@olemiss.eduThe generalized harmonic formulation can be derived by adding a gauge-fixing term to the Einstein-Hilbert actionPoincaré section clicker for the double pendulum2020-03-02T00:00:00+00:002020-03-02T00:00:00+00:00https://duetosymmetry.com/tool/poincare-section-clicker-toy<!------------------------------------------------------------>
<p>Poincaré sections are a tool for understanding chaos in dynamical
systems. Here is an interactive one for the double
pendulum<span class="mobileShow"> (best enjoyed on desktop)</span>. Click in the main pane below to add an orbit.
<a id="tourLink" href="javascript:void(0);">Click here for a tour</a>.
<a href="#explanation">Details about what it all means are below</a>.</p>
<!------------------------------------------------------------>
<style>
.mybox {
width: 400px;
// height: 360px;
margin-bottom: 0.4em;
display: block;
}
input[type=button] {
font-size: 12pt;
-webkit-appearance: push-button;
}
input[type=button][disabled] {
color: #DCDAD1;
cursor: not-allowed;
}
body.waiting * {
cursor: progress;
}
a.image-popup {
cursor: zoom-in;
}
.mobileShow {display: none;}
@media only screen
and (max-device-width : 768px) {
.mobileShow {display: inline;}
}
</style>
<div id="ctrlsbox" class="jxgbox mybox" style="height:75px;">
</div>
<div id="buttonbox" class="mybox" style="height: initial;">
<input id="clear" type="button" value="Clear" />
<input id="zoom100" type="button" disabled="" value="Zoom 100%" />
<input id="keyHelp" type="button" value="Keys" />
<br />
<input id="more" type="button" value="Extend last orbit" />
<input id="undo" type="button" disabled="" value="Undo add" />
<input id="redo" type="button" disabled="" value="Redo" />
</div>
<div id="poincbox" class="jxgbox mybox" style="height: 400px;">
</div>
<!------------------------------------------------------------>
<aside class="sidebar__right">
<nav class="toc">
<header><h4 class="nav__title"><i class="fa fa-file-text"></i> On This Page</h4></header>
<ul class="toc__menu" id="markdown-toc">
<li><a href="#explanation" id="markdown-toc-explanation">What is a Poincaré section?</a></li>
<li><a href="#what-to-look-for" id="markdown-toc-what-to-look-for">What to look for</a> <ul>
<li><a href="#quasiperiodic-orbits" id="markdown-toc-quasiperiodic-orbits">(Quasi)periodic orbits</a></li>
<li><a href="#resonances" id="markdown-toc-resonances">Resonances</a></li>
<li><a href="#nonlinear-resonances" id="markdown-toc-nonlinear-resonances">Nonlinear resonances</a></li>
<li><a href="#chaos" id="markdown-toc-chaos">Chaos</a></li>
<li><a href="#islands-on-islands-fractal-behavior" id="markdown-toc-islands-on-islands-fractal-behavior">Islands on islands: fractal behavior</a></li>
<li><a href="#homoclinic-orbits" id="markdown-toc-homoclinic-orbits">Homoclinic orbits</a></li>
</ul>
</li>
<li><a href="#the-double-pendulums-math" id="markdown-toc-the-double-pendulums-math">The double pendulum’s math</a></li>
<li><a href="#limitations" id="markdown-toc-limitations">Limitations</a></li>
<li><a href="#acknowledgments" id="markdown-toc-acknowledgments">Acknowledgments</a></li>
</ul>
</nav>
</aside>
<h1 id="explanation">What is a Poincaré section?</h1>
<p>Understanding a dynamical system is hard, especially when there are a
lot of degrees of freedom. We usually think of the state of a system
as a point in a high-dimensional space. For the double pendulum in a
plane, it’s four dimensional. I don’t know about you, but I can’t
visualize a point moving around in 4 dimensions, and the double
pendulum is one of the easier systems!</p>
<p>Enter the Poincaré section. <a href="https://en.wikipedia.org/wiki/Henri_Poincar%C3%A9">Henri
Poincaré</a> (who
touched so many parts of physics and math) came up with this nice
tool. Pick a lower-dimensional slice (say a 2-dimensional surface) of
your space that is intersected by the motion of points in this space.
Now pick a point on that surface. Follow the motion of that point
until it hits your slice again, then put a dot there (going from the
first point on the slice to the second is called the <a href="https://en.wikipedia.org/wiki/Poincar%C3%A9_map">Poincaré
map</a>). Now just keep
going! The Poincaré section will be able to show you different
behaviors – (quasi)periodic orbits, resonances, and chaos. Here’s an
example you can play with to help get the idea:</p>
<div id="torusctrlsbox" class="jxgbox mybox" style="height:75px;">
</div>
<div id="torusbox" style="width:500px; height:500px; margin-bottom: 1em;"></div>
<p>We’re watching dynamics on the surface of a torus, with different
frequencies for the two directions (“longitude” and “latitude”). This
type of system only has periodic orbits, some them being resonant.</p>
<h1 id="what-to-look-for">What to look for</h1>
<p>Try to click around in the interactive Poincaré section at the top of
the page to find these phenomena for yourself:</p>
<h2 id="quasiperiodic-orbits">(Quasi)periodic orbits</h2>
<p>Like on the torus above, a quasiperiodic orbit is restricted to
intersecting a very small part of the plane. It can’t fill a volume.
<em>Most</em> quasiperiodic orbits will have irrational frequency ratios, and
they will end up tracing out a curve on the plane. There can be many
such orbits nested inside each other:</p>
<figure class="half">
<a href="https://duetosymmetry.com/images/low-E-qp.png"><img src="https://duetosymmetry.com/images/low-E-qp.png" /></a>
</figure>
<p>At low energies, the double pendulum is chock full of quasiperiodic orbits
with irrational frequency ratios. (In an <em>integrable system</em>, the
phase space is basically made up of a bunch of nested tori with
different frequency ratios; then the Poincaré section will look like
the kinda boring picture here, just a bunch of nested curves).</p>
<h2 id="resonances">Resonances</h2>
<p>If the frequency ratio happens to be rational, then the Poincaré map
will <em>recur</em>. That is, every <em>n</em>th dot you put on the Poincaré
section will be in the exact same spot. The number <em>n</em> is called the
order of the resonance. Try this above, by setting the torus’s
frequency ratio to something like 3/2=1.5, or 4/3≅1.333. Here’s an
example in the double pendulum:</p>
<figure class="half">
<a href="https://duetosymmetry.com/images/double-pend-res.png"><img src="https://duetosymmetry.com/images/double-pend-res.png" /></a>
</figure>
<h2 id="nonlinear-resonances">Nonlinear resonances</h2>
<p>Suppose we’re close to an exactly resonant orbit of order <em>n</em>.
Nearby, we might find nonlinear
resonances. These are quasiperiodic orbits with irrational
frequencies, but they almost-recur every <em>n</em>th time they hit the
section. They trace out little loops around the resonances, hitting
each of the <em>n</em> little loops once before returning to the first one.</p>
<figure class="half">
<a href="https://duetosymmetry.com/images/nonlin-res.png"><img src="https://duetosymmetry.com/images/nonlin-res.png" /></a>
</figure>
<h2 id="chaos">Chaos</h2>
<p>A chaotic orbit doesn’t recur or trace out a curve. Quite the
opposite – it explores a whole <em>volume</em>! We only get to plot a finite
number of points on the Poincaré section, so a chaotic trajectory ends
up looking like dust that’s filling an area.</p>
<figure class="half">
<a href="https://duetosymmetry.com/images/double-pend-chaos.png"><img src="https://duetosymmetry.com/images/double-pend-chaos.png" /></a>
</figure>
<p>Here we can see a single chaotic orbit trying to fill out an area of
the Poincaré section. Nearby there are ordinary quasiperiodic
trajectories (light blue) and nonlinear resonances (shown: ones with
orders 3 (purple) and 5 (green)).
One really cool thing about dynamical systems is that their phase
space can have chaotic regions and quasiperiodic regions coexisting in
harmony right next to each other.</p>
<h2 id="islands-on-islands-fractal-behavior">Islands on islands: fractal behavior</h2>
<p>What’s this: an ordinary quasiperiodic orbit (green), surrounded by
nonlinear resonances (red and blue)? Zoom out!</p>
<figure class="half">
<a href="https://duetosymmetry.com/images/frac1.png"><img src="https://duetosymmetry.com/images/frac1.png" /></a>
<a href="https://duetosymmetry.com/images/frac2.png"><img src="https://duetosymmetry.com/images/frac2.png" /></a>
</figure>
<p>That green loop in the middle was itself part of a nonlinear
resonance, with order 5. When zoomed in, the red loops
looked like they have order 5, and the blue loops like they
have order 8. But when you zoom out, you see all red loops are part
of the same orbit. That orbit has to visit each of the 25=5×5 loops
once before returning to the first loop. Similarly, the blue
trajectory has to visit 40=5×8 islands before returning to the first
one!</p>
<p>The fact that you can find islands around islands (around islands…)
is a hallmark of fractal behavior.</p>
<p>If you click around, you find that these are islands of regularity in
a sea of chaos:</p>
<figure class="half">
<a href="https://duetosymmetry.com/images/frac3.png"><img src="https://duetosymmetry.com/images/frac3.png" /></a>
</figure>
<h2 id="homoclinic-orbits">Homoclinic orbits</h2>
<p>Close to where islands appear, you can find something called a
<a href="https://en.wikipedia.org/wiki/Hyperbolic_equilibrium_point">hyperbolic fixed
point</a> –
these look like an “X”, where flows on opposite sides of the X have to
move in opposite directions. Associated to these points, we can have
an orbit that gets arbitrarily close to (but never reaches) the
fixed point, if we go far enough forward or backward in time. Two
opposite legs of the X are repelling from the fixed point, and two are
attracting.</p>
<p>It’s possible for a trajectory to be attracted to the fixed point going
into the future, and repelled from <em>that same fixed point</em> far in the
past. This kind of trajectory is called a homoclinic orbit. Here’s
the closest to one that I could get in the double pendulum:</p>
<figure class="half">
<a href="https://duetosymmetry.com/images/homoclinic.png"><img src="https://duetosymmetry.com/images/homoclinic.png" /></a>
</figure>
<p>Homoclinic orbits are important in understanding the transition to chaos.</p>
<h1 id="the-double-pendulums-math">The double pendulum’s math</h1>
<p>One of the simplest dynamical systems that displays all these rich
phenomena is the double pendulum.</p>
<figure class="half">
<a href="https://duetosymmetry.com/images/HF-double-pend.jpg"><img src="https://duetosymmetry.com/images/HF-double-pend.jpg" /></a>
<figcaption>Taken from Fig. 11.1 of
<a href="https://doi.org/10.1017/CBO9780511801662">Hand and Finch's Analytical Mechanics</a></figcaption>
</figure>
<p>It has a four-dimensional phase space: the two angles
<script type="math/tex">(\alpha, \beta)</script>, and their conjugate momenta <script type="math/tex">(l_\alpha, l_\beta)</script>.
The Hamiltonian for a scaled version of this system is</p>
<div>
\begin{align}
H(\alpha, l_\alpha, \beta, l_\beta) ={}&
-2\cos\alpha -\cos(\alpha+\beta) \\
&{}+ \frac{l_\alpha^2 - 2(1+\cos\beta)l_\alpha l_\beta
+ (3+2\cos\beta)l_\beta^2}{3-\cos 2\beta}
\,.\nonumber
\end{align}
</div>
<p>You can work out the four equations of motion from Hamilton’s
equations. For any phase space variable <script type="math/tex">\xi</script>, its time derivative
comes from the Poisson bracket with the Hamiltonian.</p>
<div>
\begin{align}
\frac{d}{dt}\xi = \{ \xi, H \}
\,.
\end{align}
</div>
<p>With the canonical Poisson brackets <script type="math/tex">\{\alpha, l_\alpha\}=1 =
\{\beta,l_\beta\}</script> and all others vanishing, Hamilton’s equations
are</p>
<div>
\begin{align}
\frac{d}{dt}\alpha &= + \frac{\partial H}{\partial l_\alpha} &
\frac{d}{dt}l_\alpha &= - \frac{\partial H}{\partial \alpha} \\
\frac{d}{dt}\beta &= + \frac{\partial H}{\partial l_\beta} &
\frac{d}{dt}l_\beta &= - \frac{\partial H}{\partial \beta}
\,.
\end{align}
</div>
<p>They are some not very pretty nonlinear equations that I will not
repeat here, but your computer doesn’t mind.</p>
<p>We are making Poincaré sections for exactly this system at the top of
the page. The surface that we’re cutting through is at constant energy
<script type="math/tex">H=E</script>, where you choose the energy with a slider. Then further
intersect with <script type="math/tex">\alpha=0</script>, only plotting points that cross through in the
positive <script type="math/tex">\alpha</script> direction, i.e. <script type="math/tex">d\alpha/dt > 0</script>. That
corresponds to the upper arm of the pendulum being instantaneously
vertical (at the bottom of its motion), and rotating in the
counter-clockwise direction. The two variables that are being plotted
are <script type="math/tex">(\beta, l_\beta)</script> on the horizontal and vertical.</p>
<h1 id="limitations">Limitations</h1>
<p>Some of these limitations are identical to what’s on the <a href="https://duetosymmetry.com/tool/kerr-circular-photon-orbits/#limitations">Kerr
spherical photon orbit page</a>.</p>
<ul>
<li>The major limitation is that this is in javascript, which is not
ideal for numerical work. There are very few numerical libraries.</li>
<li>JSXGraph is really not designed for putting tens/hundreds of
thousands of points onto plots – their points have many features I
don’t need.</li>
<li>JSXGraph only has fixed-step-size integrators, no adaptive ones. I
picked what seemed like a reasonable step size in most of parameter space.</li>
<li>The numerical integrator from JSXGraph that I use is a fixed
step-size
<a href="https://en.wikipedia.org/wiki/Runge%E2%80%93Kutta_methods">RK4</a>
integrator. RK4 has no energy-error guarantee, so it is poorly
suited to generate Poincaré sections. Energy drift and other
integration errors will smear out fine details, and worse yet will
even connect quasiperiodic orbits to chaotic ones.</li>
</ul>
<h1 id="acknowledgments">Acknowledgments</h1>
<p>This toy makes use of <a href="http://jsxgraph.uni-bayreuth.de/wp/">JSXGraph</a>.
The ‘tour’ uses <a href="https://introjs.com/">intro.js</a>.
The torus demo uses <a href="http://threejs.org/">three.js</a> and
<a href="https://github.com/unconed/threestrap">threestrap</a>. It was
originally inspired by some of the coursework in Jack Wisdom’s
dynamics class at MIT. I started coding this up when I was teaching
a grad dynamics class in 2018.
Thanks to Jenny, Nic, and Niels for editorial feedback and beta testing.
Thanks to Niels for UI feedback.</p>
<p>Suggestions welcome! Or fork the code for this web site and send a PR :)</p>
<!-- CODE -->
<script type="text/javascript" src="https://duetosymmetry.com/assets/js/vendor/three.min.js"></script>
<script type="text/javascript" src="https://duetosymmetry.com/assets/js/vendor/threestrap.min.js"></script>
<script type="text/javascript" src="https://duetosymmetry.com/assets/js/vendor/OrbitControls.js"></script>
<script type="text/javascript" src="https://duetosymmetry.com/assets/js/my_utils.js"></script>
<script type="text/javascript" src="https://duetosymmetry.com/assets/js/poincare-clicker-toy.js"></script>
<script type="text/javascript">
// Should I use DOMContentLoaded?
var controller = new PoincareClickerController('ctrlsbox','buttonbox','poincbox');
// Some initial orbits
controller.handleTouch(.1,.1, false, null);
controller.handleTouch(-0.6688250193267138, 0.6588630860693312, false, null);
controller.morePointsFromLast();
controller.morePointsFromLast();
var p1 = controller.pointGroupList[1][0];
// Rotate the color 5 times
for (var i=0; i<5; i++) {
controller.rotateColor(p1.groupId, p1.rendNode.classList[0]);
}
// tour stuff
document.getElementById('tourLink').addEventListener('click', startIntro);
// 3D stuff
var torusController = new TorusDemoController('torusbox', 'torusctrlsbox');
</script>Leo C. Steinlcstein@olemiss.eduInteractive toy for understanding Poincaré sections and chaosLocation of the last stable orbit in Kerr spacetime2019-12-17T00:00:00+00:002019-12-17T00:00:00+00:00https://duetosymmetry.com/pubs/kerr-separatrix<p class="align-right" style="width: 350px"><img src="https://duetosymmetry.com/images/SepPlotZoomedOut.png" alt="" /></p>
<blockquote>
<p>Black hole spacetimes, like the Kerr spacetime, admit both stable
and plunging orbits, separated in parameter space by the
separatrix. Determining the location of the separatrix is of
fundamental interest in understanding black holes, and is of crucial
importance for modeling extreme mass-ratio inspirals. Previous
numerical approaches to locating the Kerr separatrix were not always
efficient or stable across all of parameter space. In this paper we
show that the Kerr separatrix is the zero set of a single polynomial
in parameter space. This gives two main results. First, we
thoroughly analyze special cases (extreme Kerr, polar orbits, etc.),
finding strict bounds on the limits of roots, and unifying a number
of results in the literature. Second, we pose a stable numerical
method which is guaranteed to quickly and robustly converge to the
separatrix. This new approach is implemented in the Black Hole
Perturbation Toolkit, and results in a ~45x speedup over the prior
robust approach.</p>
</blockquote>Leo C. Steinlcstein@olemiss.eduThe dividing line between bound and plunging orbits is an algebraic varietyqnm: A Python package for calculating Kerr quasinormal modes, separation constants, and spherical-spheroidal mixing coefficients2019-08-28T00:00:00+00:002019-08-28T00:00:00+00:00https://duetosymmetry.com/pubs/qnm-package<p class="align-right" style="width: 350px"><img src="https://duetosymmetry.com/images/example_22n.png" alt="" /></p>
<blockquote>
<p><code class="highlighter-rouge">qnm</code> is an open-source Python package for computing the Kerr
quasinormal mode frequencies, angular separation constants, and
spherical-spheroidal mixing coefficients. The <code class="highlighter-rouge">qnm</code> package includes
a Leaver solver with the Cook-Zalutskiy spectral approach to the
angular sector, and a caching mechanism to avoid repeating
calculations. We provide a large cache of low <script type="math/tex">\ell, m, n</script> modes,
which can be downloaded and installed with a single function call,
and interpolated to provide good initial guess for root-polishing at
new values of spin.</p>
</blockquote>Leo C. Steinlcstein@olemiss.eduqnm is an open-source Python package for computing the Kerr quasinormal mode frequencies, angular separation constants, and spherical-spheroidal mixing coefficients.Titanium Physicists podcast episode 802019-08-21T08:00:00+00:002019-08-21T08:00:00+00:00https://duetosymmetry.com/news/Titanium-Physicists-podcast-episode-80<audio src="http://traffic.libsyn.com/titaniumphysics/Ep_80_Picturing_The_Bach_Hole.mp3" preload="auto" controls=""></audio>
<p class="align-right" style="width: 300px; margin-left: 1em; margin-bottom: 1em;"><img src="https://duetosymmetry.com/images/M87-800x466.png" alt="" /></p>
<p>A few months ago you might have heard about the ground-breaking
observations made by the <a href="https://eventhorizontelescope.org">Event Horizon Telescope
collaboration</a>. If you want an
explainer in podcast form, we’ve got a treat for you! Ben Tippett had
me back for the third time on his
<a href="http://titaniumphysicists.brachiolopemedia.com/">Titanium Physicists Podcast</a>.
This time it’s
<a href="http://titaniumphysicists.brachiolopemedia.com/2019/08/21/episode-80-picturing-the-bach-hole-with-adal-rifai/">Episode 80: Picturing the Bach Hole</a>
along with Ben,
<a href="https://twitter.com/adalrifai">Adal Rifai</a> (a.k.a. Chunt, the
shapeshifting king of the badgers),
and the incomparable
<a href="https://people.csail.mit.edu/klbouman/">Dr. Katie Bouman</a>! I met
Katie when she was a grad student at MIT, working on the imaging
algorithms to take radio data and turn them into what’s now one of the
most famous images in the history of astrophysics. Now she’s an
assistant professor in computing and mathematical sciences at Caltech!
This recording was super fun, thanks for having me on again, Ben :)</p>Leo C. Steinlcstein@olemiss.eduHear me, Katie Bouman, and friends talk about how to snap a picture of a black hole with the Event Horizon Telescope!Numerical binary black hole collisions in dynamical Chern-Simons gravity2019-06-24T00:00:00+00:002019-06-24T00:00:00+00:00https://duetosymmetry.com/pubs/DCS-head-on<p class="align-right" style="width: 350px"><img src="https://duetosymmetry.com/images/DCS-head-on-degeneracy.png" alt="" /></p>
<blockquote>
<p>We produce the first numerical relativity binary black hole
gravitational waveforms in a higher-curvature theory beyond general
relativity. In particular, we study head-on collisions of binary
black holes in order-reduced dynamical Chern-Simons gravity. This is
a precursor to producing beyond-general-relativity waveforms for
inspiraling binary black hole systems that are useful for
gravitational wave detection. Head-on collisions are interesting in
their own right, however, as they cleanly probe the quasi-normal
mode spectrum of the final black hole. We thus compute the
leading-order dynamical Chern-Simons modifications to the complex
frequencies of the post-merger gravitational radiation. We consider
equal-mass systems, with equal spins oriented along the axis of
collision, resulting in remnant black holes with spin. We find
modifications to the complex frequencies of the quasi-normal mode
spectrum that behave as a power law with the spin of the remnant,
and that are not degenerate with the frequencies associated with a
Kerr black hole of any mass and spin. We discuss these results in
the context of testing general relativity with gravitational wave
observations.</p>
</blockquote>Leo C. Steinlcstein@olemiss.eduThe first numerical beyond-GR binary black hole merger simulation.Notes: A family of ramp functions and the Beta function2019-06-13T06:00:00+00:002019-06-13T06:00:00+00:00https://duetosymmetry.com/notes/a-family-of-ramp-functions-and-the-Beta-function<div id="box" class="jxgbox" style="width:500px; height:500px; margin-bottom:1em;"></div>
<div id="out"></div>
<p>Sometimes in a numerical method, you need to be able to continuously
turn a calculation on or off in space or time (here I will pretend
it’s in time). This can be easily accomplished if you have a function
that starts at a value of 0 before some first time <script type="math/tex">t_0</script>, and rises
up to a value of 1 by time <script type="math/tex">t_1</script>. Through an affine transformation
you can always map <script type="math/tex">[t_0, t_1] \to [0, 1]</script>. An example “ramp”
function is plotted above.</p>
<p>Now if this function appears in a differential equation, and you are
integrating it with an <script type="math/tex">n^{\textrm{th}}</script> order method, then it’s not
enough for the function to be continuous: you probably want the first
<em>n</em> derivatives to match (and thus vanish) at each endpoint.</p>
<p>Let’s go for a piecewise ramp function,</p>
<div>
\begin{align}
R_n(t) = \begin{cases}
0 & t < 0 \\
p_n(t) & 0 \le t \le 1 \\
1 & 1 < t
\end{cases}
\end{align}
</div>
<p>where <script type="math/tex">p_n(t)</script> is some polynomial in <em>t</em>.
Some counting tells you that these 2 endpoint values and <em>2n</em>
derivative conditions can be satisfied with a polynomial of degree
<em>2n+1</em>. Try changing the value of <em>n</em> above and see how the
smoothness changes.</p>
<p>Now for any value of <em>n</em>, it’s a straightforward algebra problem to
set up the polynomial and solve for the coefficients. You probably
want to know the answer for the general case, and a simple approach is
to do a few examples and look for the pattern. Here are the first
few:</p>
<div>
\begin{align}
p_0(t) &= t \\
p_1(t) &= t^2 (3-2t) \\
p_2(t) &= t^3 (10 - 15 t + 6 t^2) \\
p_3(t) &= t^4 (35 - 84 t + 70 t^2 - 20 t^3) \\
p_4(t) &= t^5 (126 - 420 t + 540 t^2 - 315 t^3 + 70 t^4)
\end{align}
</div>
<p>Can you spot the pattern? Don’t feel bad if you can’t, that’s why we
have the <a href="https://oeis.org/">OEIS</a>. If you search for the above
integers as a sequence, you’ll find
<a href="https://oeis.org/A091811">A091811</a>.</p>
<p>With this newfound knowledge, we can now write down the closed form
for the polynomial,</p>
<div>
\begin{align}
\label{eq:def}
p_n(t) = t^{n+1} \sum_{k=0}^n (-1)^k \binom{n+k}{k} \binom{2n+1}{n-k} t^k
\,.
\end{align}
</div>
<p>But was there a better way to find this than relying on the OEIS to
already have the result? But of course!</p>
<p>Rather than thinking about <script type="math/tex">p_n(t)</script> itself, let’s think about
<script type="math/tex">p_n^\prime(t)</script>. Since <script type="math/tex">p_n</script> is strictly increasing,
<script type="math/tex">p_n^\prime</script> is positive, while going to zero at the endpoints. In
fact it goes to zero like <script type="math/tex">t^n</script> at one endpoint, and <script type="math/tex">(1-t)^n</script> at
the other endpoint, because we wanted <em>n</em> derivatives to vanish at
each endpoint. Therefore we know the proportionality</p>
<div>
\begin{align}
p_n^\prime(t) \propto t^n (1-t)^n \,.
\end{align}
</div>
<p>The only thing to get right is the normalization, which we enforce by
asking that the integral of <script type="math/tex">p_n^\prime</script> is 1 at <script type="math/tex">t=1</script>. If you’ve
spent enough time on probability and statistics, then you’ll recognize
<script type="math/tex">p_n^\prime(t)</script> as a special case of the <a href="https://en.wikipedia.org/wiki/Beta_distribution">Beta
distribution</a>, with
shape parameters <script type="math/tex">\alpha = \beta = n+1</script>. So we know the
normalization,</p>
<div>
\begin{align}
p_n^\prime(t) = \frac{1}{B(n+1, n+1)} t^n (1-t)^n \,,
\end{align}
</div>
<p>where <script type="math/tex">B(a,b)</script> is the <a href="https://en.wikipedia.org/wiki/Beta_function">beta
function</a>, and we can
now call <script type="math/tex">p_n(t)</script> the <a href="https://dlmf.nist.gov/8.17#i">regularized incomplete beta
function</a>,
<script type="math/tex">p_n(t) = I_t(n+1,n+1)</script>.</p>
<p>The incomplete beta function has a <a href="https://dlmf.nist.gov/8.17#ii">representation in terms of the
Gauss hypergeometric function</a>,</p>
<div>
\begin{align}
B_x(a,b) = \frac{x^a}{a} F(a, 1-b; a+1; x) \,.
\end{align}
</div>
<p>The important fact for us is that we’re interested in <script type="math/tex">a=b=n+1</script>, in
which case one of the first two arguments is a non-positive integer,
and therefore <a href="https://dlmf.nist.gov/15.2#E4">the series will
terminate</a> as a finite-degree
polynomial. This way, you can prove Eq. \eqref{eq:def}!</p>
<script type="text/javascript" src="https://duetosymmetry.com/assets/js/elliptic.js">
</script>
<script type="text/javascript" src="https://duetosymmetry.com/assets/js/binomcoef.js">
</script>
<script type="text/javascript" src="https://duetosymmetry.com/assets/js/ramps.js">
</script>
<script type="text/javascript">
////////////////////////////////////////////////////////////
// Make some plots
var brd = JXG.JSXGraph.initBoard('box',
{boundingbox:[-0.2,1.4,1.4,-0.2],
showNavigation: false,
showCopyright: false,
grid:false,
axis:true});
brd.suspendUpdate();
n = brd.create('slider',
[[0.2,1.2],[1.0,1.2],[0,4,10]],
{name:'n', snapWidth: 1, precision: 0});
theFunc = makeRamp(n.Value());
fg = brd.create('functiongraph',
// Because of JS scoping
[ function (x) { return theFunc(x); } , -1.5, 1.5],
{strokeColor: "#0000ff"});
n.on('drag', function () {
theFunc = makeRamp(n.Value());
});
brd.unsuspendUpdate();
</script>Leo C. Steinlcstein@olemiss.eduSometimes in a numerical method, you need to be able to continuously turn a calculation on or off in space or time.Surrogate models for precessing binary black hole simulations with unequal masses2019-05-22T00:00:00+00:002019-05-22T00:00:00+00:00https://duetosymmetry.com/pubs/NRSur7dq4<p class="align-right" style="width: 350px"><img src="https://duetosymmetry.com/images/NRSur7dq4-mismatch.png" alt="" /></p>
<blockquote>
<p>Only numerical relativity simulations can capture the full
complexities of binary black hole mergers. These simulations,
however, are prohibitively expensive for direct data analysis
applications such as parameter estimation. We present two new fast
and accurate surrogate models for the outputs of these simulations:
the first model, NRSur7dq4, predicts the gravitational waveform and
the second model, surfinBH7dq4, predicts the properties of the
remnant black hole. These models extend previous 7-dimensional,
non-eccentric precessing models to higher mass ratios, and have been
trained against 1528 simulations with mass ratios q≤4 and spin
magnitudes χ₁,χ₂≤0.8, with generic spin directions. The waveform
model, NRSur7dq4, which begins about 20 orbits before merger,
includes all ℓ≤4 spin-weighted spherical harmonic modes, as well as
the precession frame dynamics and spin evolution of the black
holes. The final black hole model, surfinBH7dq4, models the mass,
spin, and recoil kick velocity of the remnant black hole. In their
regime of validity, both models are shown to be more accurate than
existing models by at least an order of magnitude, with errors
comparable to the estimated errors in the numerical relativity
simulations.</p>
</blockquote>Leo C. Steinlcstein@olemiss.eduA surrogate model extending the parameter space range of fully precessing quasicircular inspirals