We evaluate the proposed approach with four experiments.
A toy problem is first used to study the transfer of learning between two related processes via the shared inducing points.
We then compare the model with existing multi-output models on the tasks of predicting foreign exchange rate and air temperature.
In the final experiment, we show that joint learning under sparsity can yield significant performance gain on a large scale dataset of inverse dynamics of a robot arm.

Since we are using stochastic optimization, the learning rates need to be chosen carefully.
We found that the rates used in \cite{hensmangaussian} also work well for our model.
Specifically, we used the learning rates of $0.01$ for the variational parameters, $1 \times 10^{-5}$ for the  covariance hyperparameters, and $1 \times 10^{-4}$ for the weights, noise precisions, and inducing inputs.
We also included a momentum term of $0.9$ for all of the parameters except the variational parameters and the inducing inputs.
All of the experiments are executed on an Intel(R) Core(TM) i7-2600 3.40GHz CPU with 8GB of RAM using Matlab R2012a.
%
\subsection{TOY PROBLEM}
In this toy problem, two related outputs are simulated from the same latent function $sin(x)$ and corrupted by independent noise: $y_1(x) = sin(x) + \epsilon$ and $y_2(x) = -sin(x) + \epsilon$, $\epsilon \sim \Normal(0,0.01)$.
Each output is given 200 observations with missing values in the $(-7,-3)$ interval for the first output and the $(4,8)$ interval for the second output.
We used $Q = 1$ latent sparse process with squared exponential kernel, $h_1(x) = h_2(x) = 0$, and $M = 15$ inducing inputs for our model.

Figure \ref{fig:toy} shows the predictive distributions by our model (COGP) and independent GPs with stochastic variational inference (SVIGP, one for each output).
The locations of the inducing inputs are fixed and identical for both methods.
It is apparent from the figure that the independent GPs fail to predict the functions in the unobserved regions, especially for output 1.
In contrast, by using information from the observed intervals of one output to interpolate the missing signal of the other, COGP makes perfect prediction for both outputs.
This confirms the effectiveness of collaborative learning of sparse processes via the shared inducing variables.
Additionally, we note that the inference procedure learned that the weights are $w_{11} = 1.07$ and $w_{21} = -1.06$ which accurately reflects the correlation between the two outputs.

\begin{figure*}
\centering
\begin{tabular}{cccc}
\includegraphics[scale=0.2]{figures/toy-slfm-y1.eps} &
\includegraphics[scale=0.2]{figures/toy-svigp-y1.eps} &
\includegraphics[scale=0.2]{figures/toy-slfm-y2.eps} &
\includegraphics[scale=0.2]{figures/toy-svigp-y2.eps}
\end{tabular}
\caption{Simulated data and predictive distributions of by COGP (first and third figure) and independent GPs using stochastic variational inference (second and last figure) for the toy problem. Solid black line: predictive mean; grey bar: two standard deviations; magenta dots: real observations; blue dots: missing data. The black crosses show the locations of the inducing inputs. By sharing inducing points across the outputs, COGP accurately interpolates the missing function values.}
\label{fig:toy}
\end{figure*}

\subsection{FOREIGN EXCHANGE RATE PREDICTION}
\begin{figure*}
\centering
\begin{tabular}{ccc}
\includegraphics[scale=0.28]{figures/fxCAD.eps} &
\includegraphics[scale=0.28]{figures/fxJPY.eps} &
\includegraphics[scale=0.28]{figures/fxAUD.eps}
\end{tabular}
\caption{Real observations and predictive distributions for CAD (left), JPY (middle), and AUD (right). The model used  information from other currencies to effectively extrapolate the exchange rates of AUD. The color coding scheme is the same as in Figure \ref{fig:toy}.}
\label{fig:fx}
\end{figure*}

The first real world application we consider is to predict the foreign exchange rate w.r.t the US dollar of the top 10 international currencies (CAD, EUR, JPY, GBP, CHF, AUD, HKD, NZD, KRW, and MXN) and 3 precious metals (gold, silver, and platinum)\footnote{Data is available at http://fx.sauder.ubc.ca}.
The setting of our experiment described here is identical to that in \citet{alvarez2010efficient}.
The dataset consists of all the data available for the 251 working days in the year of 2007.
There are 9, 8, and 42 days of missing values  for gold, silver, and platinum, respectively.
We remove from the data the exchange rate of CAD on days 50--100, JPY on day 100--150, and AUD on day 150--200.
Note that these 3 currencies are from very different geographical locations, making the problem more interesting.
The 153 points are used for testing, and the remaining 3051 data points are used for training.
Since the missing data corresponds to long contiguous sections, the objective here is to evaluate the capacity of the model to impute the missing currency values based on other currencies.
%todo: batch size, learn rate (maybe at the beginning of experiments)

For preprocessing we normalized the outputs to have zero mean and unit variance.
Since the exchange rates are driven by a small number of latent market forces \citep[see e.g.][]{alvarez2010efficient}, we tried different values of $Q = {1,2,3}$ and selected $Q = 2$ which gave the best model evidence (ELBO).
We used the squared-exponential covariance function for the shared processes and the noise covariance function for the individual process of each output.
$M = 100$ inducing inputs (\text{per sparse process}) were randomly selected from the training data and fixed throughout training.

\setlength{\tabcolsep}{4pt}
\begin{table}[t]
\caption{Performance comparison on the foreign exchange rate dataset. Results are averages of the 3 outputs over 5 repetitions. Smaller figures are better.}
\label{tab:fx}
\begin{center}
\begin{tabular}{ccc}
\toprule
\textbf{METHOD} & \textbf{SMSE} & \textbf{NLPD} \\ \hline
COGP  & \textbf{0.2125} & -0.8394 \\
CGP & 0.2427 & \textbf{-2.9474} \\
IGP & 0.5996 & 0.4082 \\
%CGPVAR & 0.2795 & NA \\
%ICM & 0.3927 &
\bottomrule
\end{tabular}
\end{center}
\end{table}

The real data and predictive distributions by our model are shown in Figure \ref{fig:fx}.
They exhibit similar behaviors to those by the convolved model with inducing kernels in \citet{alvarez2010efficient}.
In particular, both models perform better at capturing the strong depreciation of the AUD than the fluctuations of the CAD and JPY currency.
Further analysis of the dataset found that 4 other currencies (GBP, NZD, KRW, and MXN) also experienced the same trend during the days
150 -- 200.
This information from these currencies was effectively used by the model to extrapolate the values of the AUD.

%todo: result for independent gps
We also report in Table \ref{tab:fx} the predictive performance of our model compared to the convolved GPs model with exact inference \citep[CGP,][]{alvarez-lawrence-nips-08} and independent GPs (IGP, one for each output).
Our model outperforms both of CGP and IGP in terms of the standardized mean squared error (SMSE).
CGP has lower negative log predictive density (NLPD), mainly due to the less conservative predictive variance of the exact CGP for the CAD currency.
% no std because there are 3 outputs but variance is small
For reference, the convolved GPs with approximation via the variational inducing kernels  \citep[CGPVAR,][]{alvarez2010efficient}
has an SMSE of 0.2795 while the NLPD was not provided.
Training took only 10 minutes for our model compared to 1.4 hours for the full CGP model.

\subsection{AIR TEMPERATURE PREDICTION}
%
\setlength{\tabcolsep}{4pt}
\begin{table}[t]
\caption{Performance comparison on the air temperature dataset. Results are averages of 2 outputs over 5 repetitions. }
\label{tab:air}
\begin{center}
\begin{tabular}{ccc}
\toprule
\textbf{METHOD} & \textbf{SMSE} & \textbf{NLPD} \\
\hline
COGP & \textbf{0.1077} & \textbf{2.1712} \\
CGP & 0.1125 & 2.2219 \\
IGP & 0.8944 & 12.5319 \\
\bottomrule
\end{tabular}
\end{center}
\end{table}
%
Next we consider the task of predicting air temperature at 4 different locations in the south coast of England.
The air temperatures are recorded by a network of weather sensors (named Bramblemet, Sotonmet, Cambermet, and Chimet) during the period from July 10 to July 15, 2013.
Measurements were taken every 5 minutes, resulting in a maximum of 4320 observations.
%The data is gathered from a network of weather sensors (named Bramblemet, Sotonmet, Cambermet, and Chimet), each of which measures several environmental variables \citep{osborne2008towards}\footnote{Data is available at seperate web pages, see e.g. http://www.bramblemet.co.uk}.
%The sensors are close geographically so we can expect correlation in air temperature.
%We selected the sensor signal for air temperature during the period from July 10 to July 15, 2013.
%The sensors record measurements every 5 minutes, resulting in a maximum of 4320 observations.
There are missing data for Bramblemet (100 points), Chimet (15 points), and Sotonmet (1002 points), possibly due to network outages or hardware failures.
We further simulated failure of the sensors by removing the observations from the time periods [10.2 - 10.8] for Cambermet and [13.5 - 14.2] for Chimet.
The removed data comprises 375 data points and  is used for testing.
The remaining data consisting of 15,788 points is used for training.
Similar to the previous experiment, the objective is to evaluate the ability of the model to use the signals from the functioning sensors to extrapolate the missing signals.

We normalized the outputs to have zero mean and unit variance.
We used $Q = 2$ sparse processes with the squared exponential covariance function and individual processes with the noise covariance function.
$M=200$  inducing inputs  were randomly selected from the training set and fixed throughout training.
%
\begin{figure*}
\centering
\begin{tabular}{ccc}
\includegraphics[scale=0.3]{figures/cogp-weatherCambermet.eps} &
\includegraphics[scale=0.3]{figures/cgp-weatherCambermet.eps} &
\includegraphics[scale=0.3]{figures/weatherCambermet.eps}
\\
\includegraphics[scale=0.3]{figures/cogp-weatherChimet.eps} &
\includegraphics[scale=0.3]{figures/cgp-weatherChimet.eps} &
\includegraphics[scale=0.3]{figures/weatherChimet.eps}
\end{tabular}
\caption{Real data and predictive distributions by our method (COGP, left figures), the convolved GP method with exact inference (CGP, middle figures), and full independent GPs (right figures) for the air temperature problem. The coding color scheme is the same as in Figure \ref{fig:toy}.}
\label{fig:weather}
\end{figure*}

The real data and the predictive distributions by our model, CGP with exact inference \citep{alvarez-lawrence-nips-08}, and independent GPs are shown in Figure \ref{fig:weather}.
It is clear that the independent GP model is clueless in the test regions and thus simply uses the average temperature as its prediction.
For Cambermet, both COGP and CGP can capture the rising in temperature from the morning until the afternoon and the fall afterwards.
%For Chimet, both models perform poorly but CGP more so as it falsely predicts  wild fluctuations that are non-existent in the data.
The  performance of the models are summarized in Table \ref{tab:air},  which shows that our model outperforms CGP in terms of both SMSE and NLPD.
%All results are averaged of the 2 outputs over 5 repetitions.
It took 5 minutes on average to train our model compared to 3 hours of CGP with exact inference.

It is also worth noting the characteristics of the sparse processes learned by our model as they  correspond to different patterns in the data.
In particular, one process has an inverse lengthscale of 136 which captures the global increase in temperature during the training period while the other has an inverse lengthscale of 0.5 to model the local variations within a single day.

\subsection{ROBOT INVERSE DYNAMICS}
Our last experiment is with a dataset relating to an inverse dynamics model of a 7-degree-of-freedom anthropomorphic robot arm \citep{vijayakumar2000locally}.
The data consists of 48,933 datapoints mapping from a 21-dimensional input space (7 joints positions, 7 joint velocities, 7 joint accelerations) to the corresponding 7 joint torques.
%The problem is strongly nonlinear due to complex superpositions of sine and cosine functions in robot dynamics \citep{vijayakumar2000locally}.
%Furthermore, exploratory analysis using standard GP with automatic relevance determination suggests that all of the 21 dimensions are relevant.
It has been used in previous work \citep[see e.g.][]{rasmussen-williams-book,vijayakumar2000locally} but only for single task learning.
\citet{chai2008multi} considered multitask learning of robot inverse dynamics  but on a different and much smaller dataset.

Here we consider joint learning for the 4th and 7th torques, where the former has 2,000 points
while the latter has  44,484 points for training.
The test set consists of 8,898 observations equally divided between the two outputs.
%Note that the data was collected at 100Hz for 7.5 minutes in total, hence ideal for this experiment which evaluates the effectiveness of joint learning under the assumption of sparsity in the output spaces.

Since none of the existing multi-output models are applicable to problems of this scale, we compare with independent models that learn each output separately.
Standard GP is applied to the first output as it has only 2,000 observations for training.
For the second output, we used two baselines.
The first is the subset of data (SOD) approach where 2,000 data points are randomly selected for training with a standard GP model.
The second is the sparse GP with stochastic variational inference (SVIGP) using 500 inducing inputs and a batch size of 1,000.
In case of COGP, we also used a batch size of 1,000 and 500 inducing points for the shared process ($Q = 1$) and each of the individual processes.
%The squared exponential with automatic relevance determination (SEard) covariance function is used for all processes of all methods.
%Finally, the outputs are normalized to have zero mean and unit variance.

\begin{table}[t]
\caption{Performance comparison on the robot inverse dynamics dataset. In the last two lines, standard GP is applied to output 1 and the other method is applied to output 2. Results are averaged over 5 repetitions. }
\label{tab:robotarm}
\begin{center}
\begin{tabular}{lcccc}
\toprule
& \multicolumn{2}{c}{\textbf{OUTPUT 1}} & \multicolumn{2}{c}{\textbf{OUTPUT 2}} \\ \cmidrule(r){2-5}
\textbf{METHOD} & \textbf{SMSE} & \textbf{NLPD} & \textbf{SMSE} & \textbf{NLPD}\\
 \midrule
COGP, learn z & \textbf{0.2631} & \textbf{3.0600} & 0.0127 & \textbf{0.8302} \\
COGP, fix z & 0.2821& 3.2281 & 0.0131 & 0.8685 \\
GP, SVIGP & 0.3119 & 3.2198 & \textbf{0.0101} & 1.1914 \\
GP, SOD & 0.3119 & 3.2198 & 0.0104 & 1.9407 \\
\bottomrule
\end{tabular}
\end{center}
\end{table}

The performance of all methods in terms of SMSE and NLPD is given in Table \ref{tab:robotarm}.
The benefits of learning the two outputs jointly are evident, as can be seen by the significantly lower SMSE and NLPD of COGP compared to the full GP for the first output (4th torque).
While the SMSE of the second output is essentially the same for all methods, the NLPD of COGP is substantially better than that of the independent SVIGP model which has the same amount of training data for this torque.
These results validate the impact of collaborative learning under sparsity assumptions,  opening up new opportunities for improvement over single task learning with independent sparse processes.

Finally, we see on Table \ref{tab:robotarm}  that optimizing the inducing inputs can yield better performance than fixing them.
More importantly, the overhead in computation is small, as demonstrated by the training times shown in Figure \ref{fig:time}.
For instance, the total training time is only 1.9 hours when learning with 500 inducing inputs compared to 1.6 hours when fixing them.
As this dataset is 21-dimensional, this small difference in training time confirms that learning of the inducing inputs is a practical option even when dealing with problems of high dimensions.
%As this dataset is 21-dimensional, the small difference in training time our analysis that the cost of optimizing the inducing inputs only scales sublinearly with the dimensionality of the problem.
%Thus, for datasets of high dimension, learning of the inducing inputs is a practical option.
% table for smses, nlpds, training tiem
\begin{figure}
\includegraphics[width=0.7\linewidth]{figures/sarcosTime.eps}
\caption{Learning of the inducing inputs is a practical option as the overhead in training time is small.}
\label{fig:time}
\end{figure}


\documentclass[%
 aip,
 jmp,%
 amsmath,amssymb,
%preprint,%
 reprint,%
%author-year,%
%author-numerical,%
]{revtex4-1}

\usepackage{parskip,graphicx}
\usepackage[utf8]{inputenc} %not clear effect
\usepackage[T1]{fontenc} %not clear effect
\usepackage[english]{babel}% not clear effect
\usepackage{float} %used for fixed tables with [H]
\usepackage{textcomp}
\usepackage{enumerate}
\usepackage{wrapfig}
\usepackage{amssymb}
\usepackage{epstopdf}
\usepackage{inputenc}
\usepackage{array}
\usepackage{booktabs}
\usepackage{subfig}
\usepackage[justification=centering]{caption}
\usepackage{array}% http://ctan.org/pkg/array
\usepackage{float}
\usepackage[nottoc]{tocbibind}

\newcommand*{\citen}[1]{%
  \begingroup
    \romannumeral-`\x % remove space at the beginning of \setcitestyle
    \setcitestyle{numbers}%
    \cite{#1}%
  \endgroup
}

\begin{document}

\title[A Simplified Derivation of the Hawking Effect and its Consequences]{General Relativity Presentation:\\ A Simplified Derivation of the Hawking Effect and its Consequences}% Force line breaks with \\

\author{Student: Daniel Prelipcean}
\affiliation{Jacobs University Bremen, 28759 Bremen, Germany%\\This line break forced with \textbackslash\textbackslash
}%

\date{December 10, 2016}% It is always \today, today,
             %  but any date may be explicitly specified

\begin{abstract}
The famous Hawking effect shows that a black hole radiates as if it were an ideal black body with temperature $T = \hbar c^3 / 8 \pi k_B G M$. Under reasonable assumptions, this can be seen as an implication of the Unruh effect, which is derived here using a simple, intuitive argument given for the case of a scalar field in one spatial dimension. Interesting consequences such as black hole evaporation and Hawking lifetime are further investigated giving numerical values as well. The final computation considers the observable universe as a black hole which evaporates in a bigger universe, thus enabling us to find the life span of our own universe.
\end{abstract}

\keywords{Unruh effect, Rindler coordinates, Planck radiation law, Hawking effect, black hole evaporation}
\maketitle

\section{Unruh Effect}

A phenomenon manifested even in flat spacetime is the Unruh effect. It states that an accelerating observer in Minkowski vaccum state will observe a thermal spectrum of particles.
\subsection{Rindler coordinates}
Uniform acceleration is defined as a constant acceleration $\alpha > 0$ in an instantaneous inertial frame attached to the observer O', such that O' is at rest in this frame (as depicted in fig. \ref{framespic}). The acceleration $dv/dt$ in the lab frame is related to $\alpha$ by the Lorentz transformation formula [\citen{lorentztransformations}]:
\begin{equation}
\frac{dv}{dt}= a = \gamma^{-3} \alpha
\end{equation}
where the Lorentz factor  $\gamma(t) = \left(1-v(t)^2/c^2\right)^{-1/2}$ is time dependent.
\begin{figure}[H]
\centering
\includegraphics[width=1.0\linewidth]{frames.png}
  \captionof{figure}{Moving frame O' with constant proper acceleration $\alpha$ seen by the observer at rest in the reference frame O}
  \label{framespic}
\end{figure}
The proper and lab times are related by $d\tau=dt \gamma^{-1}$ and after all integration steps with $t(\tau=0)=0=v(\tau=0)$ to make the integration constants vanish, we obtain:
\begin{align}
    t(\tau) & =\dfrac{c}{\alpha}\sinh{\dfrac{\alpha \tau}{c}} \\
    v(\tau) & =c\tanh{\dfrac{\alpha \tau}{c}}
    \label{vtau}\\
    x(\tau) & =\dfrac{c^2}{\alpha}\cosh{\dfrac{\alpha \tau}{c}}
\end{align}
These coordinates satisfy the relation:
\begin{equation}
x^2=t^2+\alpha^2
\end{equation}
These describe the well known hyperbolic orbits (fig. \ref{rindlercoordinatespic}) of the accelerated Rindler [\citen{rindlercoordinates}] observer in $\hat{x}$ direction.  The hyperboloids are asymptoting the null paths $x= -t$ in the past and $x= t$ in the future. Note that the observer travels from past null infinity to future null infinity rather than timelike infinity as would be reached by geodesic observers.\\
\begin{figure}[H]
\centering
\includegraphics[width=1.0\linewidth]{rindlercoordinatespic.png}
  \captionof{figure}{Minkowski space time in Rindler coordinates. Region I is the region accessible to an observer undergoing a constant proper acceleration $\alpha$ in the $+\hat{x}$ direction. Similarly, new coordinates $t = \frac{1}{a} e^{a\xi} \sinh{a \eta}$ and  $x = \frac{1}{a} e^{a\xi} \cosh{a \eta}$ can be defined to have a better understanding of the Minkowski chart [\citen{carollspacetime}]}
  \label{rindlercoordinatespic}
\end{figure}

\subsection{Planar-wave field}

The derivation used in this subsection follows Paul M. Alsing and Peter W. Milonni in [\citen{simplifiedderivation}]. Consider now a plane-wave field of frequency $\nu_k$ and wave vector $\vec{K}$ with $\vert\vec{K}\vert = K = \nu_k/c$ parallel or anti-parallel to the direction x along which the observer is accelerated. Lorentz transformation formulae [\citen{lorentztransformations}] also give the instantaneous rest frame of the observer the frequency $\nu_k\prime$ of this field:
\begin{align}
    \nu_k\prime(\tau) & = \dfrac{\nu_k-Kv(\tau)}{\sqrt{1-v^2(\tau)/c^2}}
\end{align}
Plugging in the definition of $v(\tau)$ from equation (\ref{vtau}) gives:
\begin{equation}
    \nu_k\prime(\tau)= \dfrac{\nu_k \left[1- \tanh{\dfrac{\alpha \tau}{c}}\right]}{\sqrt{1-\tanh{\dfrac{\alpha \tau}{c}}^2}}=\nu_k \exp{\dfrac{-\alpha \tau }{c}}
\end{equation}
For $\alpha \tau /c \ll 1$ and by expanding the exponential function around 0 gives:
\begin{equation}
    \nu_k\prime=\nu_k \left( 1 \mp \dfrac{\alpha \tau}{c} \right)
\end{equation}
which is exactly a time dependent Doppler effect. Now we are interested in finding the phase of such a planar wave. This is time dependent as well:
\begin{equation}
    \phi(\tau)=\int \nu_k\prime(\tau) d\tau = - \nu_k \dfrac{c}{\alpha}\exp{-\dfrac{\alpha \tau }{c}}
\end{equation}
We can say for the energy frequency spectrum that:
\begin{equation}
    E(\nu) \propto \left| \int_{-\infty}^{+\infty} \exp{(i\omega_k\tau)} \exp{(i\phi)} d\tau \right|^2
\end{equation}
Plugging in our definitions for $\nu$ and $\phi$ gives:
\begin{equation}
    E(\nu) \propto \left| \int_{-\infty}^{+\infty} \exp{(i 2 \pi \nu_k\tau)} \exp{\left(-i \nu_k \dfrac{c}{\alpha}\exp{\left(-\dfrac{\alpha \tau }{c}\right)}\right)} d\tau \right|^2
\end{equation}
Evaluating this complicated integral yields in the end:
\begin{equation}
    E(\nu) \propto \left(\exp{\left(\dfrac{4 \pi^2\nu_k}{\alpha}\right) - 1 \right)}^{-1}
\end{equation}
From Planck`s radiation Law for a black body, we have:
\begin{equation}
    E(\nu) \propto \left(\exp{\left(\dfrac{h \nu}{k_B T}\right)}-1 \right)^{-1}
\end{equation}
By simply comparing the Planck factors from the exponential, we obtain the Unruh temperature:
\begin{equation}
    T_{Unruh} = \dfrac{\hbar \alpha}{2 \pi k_B c}
    \label{tunruh}
\end{equation}

\section{Hawking Effect}
In a very small region very close to the event horizon, the space-time is stretched so strongly that we can approximate it with a Minkowski flat space-time, in order to allow us to use the Unruh effect reasoning (for more details see ref. [\citen{carollspacetime}]). The acceleration of a particle is then replaced by the surface gravity [\citen{surfacegravity}] of a black hole:
\begin{equation}
    \alpha \rightarrow \kappa = \dfrac{c^4}{4MG}
\end{equation}
\begin{figure}[H]
\centering
\includegraphics[width=1.0\linewidth]{bhspacetime.png}
  \captionof{figure}{Representation of a black hole suggesting how space-time is curved [\citen{bhspacetime}]}
  \label{bhspacetimepic}
\end{figure}
Plugging this into equation (\ref{tunruh}) yields the Hawking Temperature of a black hole seen as a radiating black body:
\begin{equation}
    T_{HW} = \dfrac{\hbar c^4}{8 \pi k_B G M} \sim \dfrac{1}{M}
\end{equation}
This result implies that the more massive a black hole is, the lower its temperature and implicitly its emitted radiation. In fact, most of the black holes have a temperature lower than the Cosmic Microwave Background $T_{CMB} = 2.73$ K. For a black hole to be in "thermal equilibrium" with the background, it should have a mass of $M\approx 1.5 \cdot 10^{19}$ kg. An object with such a mass is the asteroid 140 Siwa [\citen{asteroid}] orbiting in the asteroid belt.

\section{Quantum fluctuations}
A plausibility argument [\citen{schutz}] follows from Heisenberg`s uncertainty relation $\Delta E \cdot \Delta t \ge \hbar/2$. According to quantum field theory, ordinary space is filled with "vacuum fluctuations" in electromagnetic fields,  which consist of pairs of photons being produced at one event and recombining at another. Such pairs violate conservation of energy, but if they last less than the Heisenberg time, they violate no physical law.\\

As we suggested before, space-time near the horizon of the black hole can be considered flat, where fluctuations are happening. These particles are then emitted giving the Hawking effect.
\begin{figure}[H]
\centering
\includegraphics[width=1.0\linewidth]{HawkingRadiation1.jpg}
  \captionof{figure}{Vacuum fluctuations may result in one of the particle/antiparticle pair crossing the event horizon, remaining trapped inside the black hole, and the other escaping to infinity as Hawking radiation [\citen{hawkradpicture}]}
  \label{bhspacetimepic}
\end{figure}

\section{Evaporation of Black Holes}
For an observer at infinity, the black hole radiates particles via Hawking effect. Since these particles have energy, it seems that energy has been extracted from the black hole, which will reduce its mass. We are now interested in finding the rate of this energy release, i.e. the black hole evaporation. A very intuitive dimensional analysis argument (see ref. [\citen{hartlegrav}]) is used to guess the steady rate $dM/dt$ at which the black hole loses mass by Hawking radiation as determined by a stationary observer at infinity whose proper time is $t$.\\

\newpage

Since it is a quantum mechanical process, it is expected to be proportional to Planck`s constant $\hbar$ $(1J= kg m^2 s^{-2})$. Then we need a combination which yields the proper units:
\begin{equation}
    \left( \dfrac{dM}{\hbar dt}=\right) \dfrac{kg}{J s}= \dfrac{kg}{\dfrac{kg m^2}{s^2}s}=\dfrac{1}{m^2}
\end{equation}
Such a reasonable (and in fact  unique) combination is:
\begin{equation}
    \left( \dfrac{c^4}{(G M)^2} = \right) \dfrac{\left(\dfrac{m}{s}\right)^4}{\left( \dfrac{m^3}{kg s^2} kg\right)^2} = \dfrac{1}{m^2}
\end{equation}
Therefore, we obtain the evaporation rate as seen by a distant observer to be:
\begin{equation}
    \dfrac{dM}{dt} = \dfrac{- \nu c^4 \hbar}{(GM)^2}
\end{equation}
where the minus sign denotes the mass reduction over time and $\nu = 1/(15.360 \pi)$ is a positive dimensionless constant. This value for $\nu$ neglects the effect of geometry on the radiation as it propagates, which slightly alters the correct value. By integrating, one obtains for a black hole with life time $t_0$:
\begin{equation}
    M(t) = \left[ 3 \hbar \nu (t_0 - t)\right]^{1/3}
    \label{mt}
\end{equation}
\begin{figure}[H]
\centering
\includegraphics[width=1.0\linewidth]{masstemptime.png}
  \captionof{figure}{As the mass decreases, the temperature rises. The black hole therefore radiates at increasingly rapid rates as it shrinks, resulting in an explosive end [\citen{hartlegrav}]}
  \label{bhspacetimepic}
\end{figure}

\newpage

By turning around equation (\ref{mt}), one obtains an estimate for the finite life time of a spherical black hole which completely evaporates due to Hawking Radiation:
\begin{equation}
    \tau_{Hw} \approx \dfrac{1}{3\nu }\dfrac{M^3}{\hbar} = 8.3 \cdot 10^{-26} \left( \dfrac{M}{1 g} \right)^3 s \sim M^3
    \label{evaptime}
\end{equation}
This implies that almost all black holes have a greater life time than the current 14-billion-years age of the universe, but some black holes of $10^{14}$ g would end their lifetime in the present. It is possible for such a small black hole to form in the very early universe. For a brief second before its explosion, it would have a luminosity about 0.1$\%$ of the Sun’s luminosity, but in spectrum it would be very different, emitting primarily in $\gamma$-rays. A primordial black-hole evaporation would probably be visible only if it happened in our own Galaxy. No such events have been identified.

\begin{figure}[H]
\centering
\includegraphics[width=1.0\linewidth]{massdistribution.png}
  \captionof{figure}{The characteristic mass M vs. characteristic distance R for phenomena for which gravity is important. Those above the diagonal line are unobservable, as they take place inside a black hole [\citen{hartlegrav}]}
  \label{massdistrib}
\end{figure}
\hfill
\newpage

\section{Lifetime of the observable universe}

As a final exercise, an interesting and fun computation is carried out. As seen in fig. \ref{massdistrib}, the universe can be considered as black hole. Then it radiates in a "bigger" universe, and we could compute the lifetime of our universe as seen by an observer outside. Different approximations for the mass of the universe are used. Consider the mass of the universe made out of ordinary matter to be $M_1 = 10^{56}$ g [\citen{massuniverse}]. Plugging this into equation (\ref{evaptime}) gives $t_1 = 8.3 \cdot 10^{142} s = 2.63 \cdot 10^{135}$ years. However, this mass would not reach the density needed for black hole.If now we take into account, besides ordinary matter ($\approx 4.9 \%$ of the universe), the dark matter ($\approx 26.8 \%$ of the universe) as well, then we obtain even a longer lifetime. Since dark energy, by convention, does not count as "matter", then the mass of the universe is $ M_2 = \dfrac{4.9 + 26.8}{4.9} \cdot 10^{56} g = 6.46 10^{56} g$. This gives $t_2 = 2.24 \cdot 10^{145} s = 7.09 \cdot 10^{137}$ years. A different approach is to consider the average density (light and dark matter) and the volume of the observable universe. The mass is then $M_3 = \rho \cdot V = 3 \cdot 10^{-30} \dfrac{g}{cm^3} \cdot 14 \cdot 10^9$ ly  $= 3 \cdot 10^{55} g$ [\citen{massuniverse3}]. This gives a time of $t_3 = 2.241 \cdot 10^{141} s = 7.1 \cdot 10^{133}$ years.

\bibliography{bibliography.bib}

\end{document}


\documentclass[11pt]{article}

\usepackage{latexsym}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{amsthm}
\usepackage{graphicx}
\usepackage{wrapfig}
\usepackage{pseudocode}
\usepackage{url}
\usepackage{float}
\usepackage{subcaption}
\usepackage{listings}
\usepackage{color}
\usepackage[backref, colorlinks=true, citecolor=red, urlcolor=blue, pdfauthor={Jyh-Ming Lien}]{hyperref}

\newcommand{\handout}[5]{
  \noindent
  \begin{center}
  \framebox{
    \vbox{
      \hbox to 5.78in { {\bf } \hfill #2 }
      \vspace{4mm}
      \hbox to 5.78in { {\Large \hfill #5  \hfill} }
      \vspace{2mm}
      \hbox to 5.78in { {\em #3 \hfill #4} }
    }
  }
  \end{center}
  \vspace*{4mm}
}

\newcommand{\lecture}[4]{\handout{#1}{#2}{#3}{#4}{#1}}

\newtheorem{theorem}{Theorem}
\newtheorem{corollary}[theorem]{Corollary}
\newtheorem{lemma}[theorem]{Lemma}
\newtheorem{observation}[theorem]{Observation}
\newtheorem{proposition}[theorem]{Proposition}
\newtheorem{definition}[theorem]{Definition}
\newtheorem{claim}[theorem]{Claim}
\newtheorem{fact}[theorem]{Fact}
\newtheorem{assumption}[theorem]{Assumption}

% 1-inch margins, from fullpage.sty by H.Partl, Version 2, Dec. 15, 1988.
\topmargin 0pt
\advance \topmargin by -\headheight
\advance \topmargin by -\headsep
\textheight 8.9in
\oddsidemargin 0pt
\evensidemargin \oddsidemargin
\marginparwidth 0.5in
\textwidth 6.5in

\parindent 0in
\parskip 1.5ex
%\renewcommand{\baselinestretch}{1.25}

\definecolor{dkgreen}{rgb}{0,0.6,0}
\definecolor{gray}{rgb}{0.5,0.5,0.5}
\definecolor{mauve}{rgb}{0.58,0,0.82}

\lstset{
	frame=tb,
	language=C++,
	aboveskip=3mm,
	belowskip=3mm,
	showstringspaces=false,
	columns=flexible,
	basicstyle={\small\ttfamily},
	numbers=none,
	numberstyle=\tiny\color{gray},
	keywordstyle=\color{blue},
	commentstyle=\color{dkgreen},
	stringstyle=\color{mauve},
	breaklines=true,
	breakatwhitespace=true,
	tabsize=3
}

\begin{document}

\lecture{Voronoi Stippling Report}{Fall 2017}{Stephen Arnold - G00864316}{CS633 - Computational Geometry}

\section{Summary of the Two Methods}
In this introductory section, the methods and algorithms employed by the two stippling techniques shall be reviewed.

\subsection{Voronoi Method}
The provided implementation of Voronoi (VR) stippling makes use of Fortune's Algorithm for the calculation of the Voronoi Cells. Initially, the input parameters are read in and stored. Next, an initial random distribution of points is created within the boundaries of the original image. These data points are the initial configuration stored in the stippler data structure.

Using an iterative approach, a Voronoi Diagram is created from the set of inital points using Fortune's Algorithm. Next, the applied stipples are redistributed and the displacement from the new locations to the previous centroids is calculated. This process is repeated until the average change in displacements across all cell meets a minimum threshold. Once the centroids have settled, the image is stippled by placing circles sized in proportion to the number of iterations required to refine the Voronoi Cell centroid.

\subsection{Hedcuter Method}
Using an iterative approach, the hedcuter (HC) stippler uses simple rejection sampling to generate an initial distribution of points, or centroids, within the confines of a given image. The algorithm compares the grayscale value of the randomly selected location within the image and applies a gaussian scaling factor. The point is either accepted or rejected based on satisfying a predetermined threshold - namely the grayscale value of the pixel. Once the inital points are determined, a set of right cones are generated with apexes at the cell generator. Initially the cones have equal height. Each cone is also assigned a unique "color" to identify it later. The intersection of the cones in the z-direction will determine to which cone the pixels of the original image belong. In this way, the pixels are assigned a unique value which determines to which Voronoi Cell the pixels belong.

The weighted Centroidal Voronoi Tessellation (CVT) used by the hedcuter algorithm makes use of a density function to distribute, and realign, the centroids of the Voronoi Diagram. Darker areas (lines, edges, etc.) are assigned a higher density than lighter areas. As the algorithm iterates through the image, centroids tend to migrate towards higher density regions.

The stippling method invoked by the hedcuter places a variably sized disk, centered at the centroid of the cell. Two options exist within the code: uniformly sized disks and variably-sized disks. Various levels of gray may be obtained by uniform-sized disks at varoius spacing densities or by varying the sizes of the placed disks. Colored disks may also be used in conjunction to create various tones. \cite{Secord:2002:WVS:508530.508537}

\section{Comparison of the two methods}
After compilation of both stippling methods, various test cases were run to compare each methods effectiveness as a stippling method. Those results shall be discussed here.

A single image was used to allow for simple comparrison of the significant variables of interest. The image, seen in Figure \ref{fig:AbrahamLincoln}, is a grayscale PNG-format  image of Abraham Lincoln, 16th president of the United States, from the year 1865. The image size is 1332px x 1644px, and is composed of 256 levels of grayscale. Unless otherwise noted, this image was used for all variations.

\begin{figure}[H]
	\centering
	\includegraphics[width=0.5\linewidth]{pix/Abraham_Lincoln_November_1863.png}
	\caption{Abraham Lincoln, 1865.}
	\label{fig:AbrahamLincoln}
\end{figure}

\subsection{Multipass Results}
To determine if there are any statistically significant variations in running the same program on the same image multiple times, a script was written to test this condition. For VM, the results of each run using 4000 points, subpixel density 5, non-overlapping, and variable radius were extremely consistent. Minor variations in the duration of the runs were seen. Over 5 runs, times ranged from 56.78 to 57.28 seconds. Of note, when visually comparing the VM processed images, no descernable differences in final pixel placement are found. This is due to the approached used to shift the centroid of the Voronoi Cell - initially determined from random selection of points within the image. The shifting is based on actual color values of nearby pixels. Eventually the centroids will converge to similar points.

For a similar run using HC, using 4000 points, max disk size of 5, and non-uniform disk sizing, program run times ranged from 263.41 to 453.37 seconds. This variation is times is most likely due to the tight constraints of the Point select/reject function.Also, using HC results in differing placement of disks in the final image. The initial selection of points uses a probabilistic approach in determining the voronoi cell centroids. These centroids then produce selection cones in a psudo z-axis to properly assign pixels to a particular voronoi cell. The selection cones, having their apex at randomly selected locations can produce differing end result. These pixel differences can be seen in Figure \ref{fig:differences1}. These minor variations would become less pronounced at higher pixel densities.

\begin{figure}[H]
	\centering
	\includegraphics[width=0.5\linewidth]{pix/2-1_hc_differences.png}
	\caption{Pixel placement differences between hedcuter runs.}
	\label{fig:differences1}
\end{figure}

\subsection{Variations on Number of Disks}
Varying the number of disks has some effect on the final output images produced by the two algorithms. For voronoi, the original disk is present in its former location, but is a reduced size and has additional (also smaller) neighbors to account for the greater quantity. Also, during the initial step of the hedcuter algorithm, randomly sampled points are either selected or rejected based on a Gaussian Probability distribution against the "darkness" of a given pixel. Since both the selected point and whether or not the point will be accepted/rejected can lead to different distributions ... and can consequently explain the differences in completion times of the hedcutter algorithm.

\begin{figure}[H]
	\centering
	\begin{subfigure}[b]{0.2\linewidth}
		\includegraphics[width=\linewidth]{pix/hc_AL_1000_r1.png}
		\caption{1000px, r=1}
	\end{subfigure}
	\begin{subfigure}[b]{0.2\linewidth}
		\includegraphics[width=\linewidth]{pix/hc_AL_2000_r1.png}
		\caption{2000px, r=1}
	\end{subfigure}
	\begin{subfigure}[b]{0.2\linewidth}
		\includegraphics[width=\linewidth]{pix/hc_AL_4000_r1.png}
		\caption{4000px, r=1}
	\end{subfigure}
	\begin{subfigure}[b]{0.2\linewidth}
		\includegraphics[width=\linewidth]{pix/hc_AL_8000_r1.png}
		\caption{8000px, r=1}
	\end{subfigure}
	\begin{subfigure}[b]{0.2\linewidth}
		\includegraphics[width=\linewidth]{pix/hc_AL_1000_r5.png}
		\caption{1000px, r=5}
	\end{subfigure}
	\begin{subfigure}[b]{0.2\linewidth}
		\includegraphics[width=\linewidth]{pix/hc_AL_2000_r5.png}
		\caption{2000px, r=5}
	\end{subfigure}
	\begin{subfigure}[b]{0.2\linewidth}
		\includegraphics[width=\linewidth]{pix/hc_AL_4000_r5.png}
		\caption{4000px, r=5}
	\end{subfigure}
	\begin{subfigure}[b]{0.2\linewidth}
		\includegraphics[width=\linewidth]{pix/hc_AL_8000_r5.png}
		\caption{8000px, r=5}
	\end{subfigure}
	\begin{subfigure}[b]{0.2\linewidth}
		\includegraphics[width=\linewidth]{pix/hc_AL_1000_r10.png}
		\caption{1000px, r=10}
	\end{subfigure}
	\begin{subfigure}[b]{0.2\linewidth}
		\includegraphics[width=\linewidth]{pix/hc_AL_2000_r10.png}
		\caption{2000px, r=10}
	\end{subfigure}
	\begin{subfigure}[b]{0.2\linewidth}
		\includegraphics[width=\linewidth]{pix/hc_AL_4000_r10.png}
		\caption{4000px, r=10}
	\end{subfigure}
	\begin{subfigure}[b]{0.2\linewidth}
		\includegraphics[width=\linewidth]{pix/hc_AL_8000_r10.png}
		\caption{8000px, r=10}
	\end{subfigure}
	\caption{Hedcuter Method images varying number of disks and radii.}
	\label{fig:hc_points1}
\end{figure}

The first row of images output from HCM in Figure \ref{fig:hc_points1} at first appears to contain no images, when in reality we have simply selected a disk size that is so small as to not be visible at the scale presented. However, in subsequent images, the stippled images may be seen progressing from least-densely to most-densely filled.

\begin{figure}[H]
	\centering
	\begin{subfigure}[b]{0.2\linewidth}
		\includegraphics[width=\linewidth]{pix/vr_AL_1000_r1.png}
		\caption{1000px, r=1}
	\end{subfigure}
	\begin{subfigure}[b]{0.2\linewidth}
		\includegraphics[width=\linewidth]{pix/vr_AL_2000_r1.png}
		\caption{2000px, r=1}
	\end{subfigure}
	\begin{subfigure}[b]{0.2\linewidth}
		\includegraphics[width=\linewidth]{pix/vr_AL_4000_r1.png}
		\caption{4000px, r=1}
	\end{subfigure}
	\begin{subfigure}[b]{0.2\linewidth}
		\includegraphics[width=\linewidth]{pix/vr_AL_8000_r1.png}
		\caption{8000px, r=1}
	\end{subfigure}
	\begin{subfigure}[b]{0.2\linewidth}
		\includegraphics[width=\linewidth]{pix/vr_AL_1000_r5.png}
		\caption{1000px, r=5}
	\end{subfigure}
	\begin{subfigure}[b]{0.2\linewidth}
		\includegraphics[width=\linewidth]{pix/vr_AL_2000_r5.png}
		\caption{2000px, r=5}
	\end{subfigure}
	\begin{subfigure}[b]{0.2\linewidth}
		\includegraphics[width=\linewidth]{pix/vr_AL_4000_r5.png}
		\caption{4000px, r=5}
	\end{subfigure}
	\begin{subfigure}[b]{0.2\linewidth}
		\includegraphics[width=\linewidth]{pix/vr_AL_8000_r5.png}
		\caption{8000px, r=5}
	\end{subfigure}
	\begin{subfigure}[b]{0.2\linewidth}
		\includegraphics[width=\linewidth]{pix/vr_AL_1000_r10.png}
		\caption{1000px, r=10}
	\end{subfigure}
	\begin{subfigure}[b]{0.2\linewidth}
		\includegraphics[width=\linewidth]{pix/vr_AL_2000_r10.png}
		\caption{2000px, r=10}
	\end{subfigure}
	\begin{subfigure}[b]{0.2\linewidth}
		\includegraphics[width=\linewidth]{pix/vr_AL_4000_r10.png}
		\caption{4000px, r=10}
	\end{subfigure}
	\begin{subfigure}[b]{0.2\linewidth}
		\includegraphics[width=\linewidth]{pix/vr_AL_8000_r10.png}
		\caption{8000px, r=10}
	\end{subfigure}
	\caption{Voronoi Method images varying number of disks and radii.}
	\label{fig:vc_points1}
\end{figure}

The images produced by VR, and seen in Figure \ref{fig:vc_points1}, demonstrate the constrain of disk size based on localized grayscale value. Regardless of the limitation of the tile size of centroid computations, the variations are iteratively removed as the algorithm progresses. The variably sized stipple points allow finer details such as edges or textures to be preserved.

\begin{figure}[H]
	\centering
	\begin{subfigure}[b]{0.4\linewidth}
		\includegraphics[width=\linewidth]{pix/hc_AL_8000_r10.png}
		\caption{HC, 8000px,$r \le 10$}
	\end{subfigure}
	\begin{subfigure}[b]{0.4\linewidth}
		\includegraphics[width=\linewidth]{pix/hc_AL_8000_fixed_10.png}
		\caption{HC, 8000px, r = 10}
	\end{subfigure}
	\begin{subfigure}[b]{0.4\linewidth}
		\includegraphics[width=\linewidth]{pix/vr_AL_8000_r10.png}
		\caption{VM, 8000px, $r \le 10$}
	\end{subfigure}
	\begin{subfigure}[b]{0.4\linewidth}
		\includegraphics[width=\linewidth]{pix/vr_AL_8000_fixed_10.png}
		\caption{VM, 8000px, r = 10}
	\end{subfigure}
	\caption{Variations between fixed and uniform disk radius between methods. 8000 disks.}
	\label{fig:vr_hc_fixed}
\end{figure}

The images in Figure \ref{fig:vr_hc_fixed} are variations of an 8000 point stipling of the sampled image. The top row utilizes HC, while the bottom row uses VR. The left two images have variable stipple sizes, while the images on the right have a fixed stipple radius of 10 pixels. Image a) maintains many of thestrong  edge detais of the original at the expense of some of the finer details, such as the lips. Figure c) mainains much of the finere details, but the contrasts between lighter and darker areas lose much of their distinction. Of the four images, d) is the poorest quality as the fixed stipple size causes many of the subptle shades of gray to be completely lost.

\subsection{Variations on Speed with Number of Disks}
As the two methods used in this assignment differ signicantly, the time to calculate a solution does vary within each implementation. This variation is dependant upon the number of disls selected to stipple the given image. As seen in the following table, run times for HC increase with increased number of disks. The VM, however, has the opposite trend ... becoming faster as disk count increases. This is due to the larger number of individual pixels that must be handled and calculated even at smaller quantities of disks.

\begin{table}
\centering
\caption{Sampling of HC and VR run times versus disk quantities.}
\label{table1}
	\begin{tabular}{ | l | l | p{1.8cm} |}
	\hline
	Disks & hedcuter (s) & voronoi (s) \\ \hline
	1000 & 384.581 & 121.74 \\ \hline
	2000 & 417.722 & 70.80 \\ \hline
	4000 & 411.796 & 50.76 \\ \hline
	8000 & 732.592 & 38.16 \\ \hline
	16000 & 1325.6 & 27.91 \\ \hline
	32000 & 1381.59 & 20.31 \\ \hline
	64000 & 2052.16 & 16.59 \\ \hline
	128000 & 3961.65 & 15.68 \\ \hline
	\end{tabular}
\end{table}

\subsection{Differences in image type}

\subsection{Differences from WSJ Hedcuts}
The images produced by HC and VM differ from the traditional Wall Street Journal hedcuts is a couple of areas. First, and simplest, are background areas. The subject mater for a WSJ hedcut is usually a person, and just the head and upper torso are included. For a grayscale image, the background would be included to some extent - even when unwanted. This can be avoided somewhat by avoiding darker backgrounds.

Another differene is the us of random samples. When an artist creates a hedcut, there is purpose behind the stipples produced. From a programmatic standpoint, there will always be "artifacts" - unwanted pixels in the image as a result of the processing. These, too, may be eliminated though careful image selection and image quality.
Random Samples

\section{Improvement of hedcuter method}

\subsection{Distribution of Disks}
Stictly random selection of initial points. How does this affect the edges?

\subsection{Improve efficiency}
GPU use - i never could get this to work on my Macbook Pro.

\subsection{Colorful Disks}
Addition of "colorful" disks.

\begin{figure}[H]
	\centering
	\begin{subfigure}[b]{0.84\linewidth}
		\includegraphics[width=\linewidth]{pix/bowtie.png}
		\caption{Original Image: 800x596, RGB}
	\end{subfigure}
	\begin{subfigure}[b]{0.4\linewidth}
		\includegraphics[width=\linewidth]{pix/hc_bowtie-4000.png}
		\caption{HC, 4000px, native colored stipples}
	\end{subfigure}
	\begin{subfigure}[b]{0.4\linewidth}
		\includegraphics[width=\linewidth]{pix/hc_bowtie-4000_color}
		\caption{VM, 4000px, colorful disks}
	\end{subfigure}
	\caption{Variations of applying random colorization to output disks.}
	\label{fig:bowties}
\end{figure}

As seen in Figure \ref{fig:bowties}, the underlying pixel color is used when the image selected for stippling is itself a color image. Adding a few randomizers behind the selction of the color of each indivifual pixel yield an extremely colorful stippling.

The following shows the Original and the Modified code snippettes which produced the colorful stipplings in Figure \ref{fig:bowties}.

Original:
\begin{lstlisting}
r = floor(r / cell.coverage.size());
g = floor(g / cell.coverage.size());
b = floor(b / cell.coverage.size());
\end{lstlisting}

Moddified:
\begin{lstlisting}
r = (int)floor(255*rng_uniform.uniform(0.f, 1.f));
g = (int)floor(255*rng_uniform.uniform(0.f, 1.f));
b = (int)floor(255*rng_uniform.uniform(0.f, 1.f));
\end{lstlisting}

\bibliographystyle{plain}
\bibliography{report}

\end{document}


\documentclass{article}

\usepackage[utf8]{inputenc}
\usepackage[margin=1in]{geometry}
\usepackage[titletoc,title]{appendix}

\usepackage{amsmath,amsfonts,amssymb,mathtools}

\usepackage{graphicx,float}
\usepackage{pdfpages}

\usepackage{tikz}
\usepackage{pgfplots}

% arrows as stealth fighters
\tikzset{>=stealth}

\usepackage{esvect}

\newcommand{\D}{\Delta}
\newcommand{\nn}{\nonumber}

\newcommand{\del}{\partial}
\newcommand{\diff}[2]{\frac{\partial #1}{\partial #2}}
\newcommand{\con}[3]{\Gamma_{#1 #2}^#3}
\newcommand{\Lagr}{\mathcal{L}}
\usepackage{relsize}
\newcommand{\Chris}[2]{\ensuremath{{\mathlarger{\mathlarger\Gamma}}^{#1}\!\!\!_{#2}}}
\usepackage{physics}

% Title content
\title{Changes from Broch and Slagstad 2012}
\date{\today}
\author{}

\begin{document}
\maketitle
\section*{Units}
\begin{itemize}
    \item The overall unit of time changed from hours to days so $R_1$,$R_2$,$P_1$,$P_2$ and $J_{max}$ are multiplied by $24$
    \item Irradiance is changed from $\mu$mol photons m$^{-2}$s$^{-1}$ to mol photons m$^{-2}$days$^{-1}$.
\end{itemize}
This changes $\alpha$ by a factor of $\frac{10^6}{60\times60}$ and $I_{sat}$ by a factor of $\frac{24\times60\times60}{10^6}$.

\section*{Parameters}
\begin{itemize}
    \item $T_{AP}$: The solution to the equation for $T_{AP}$ on the left column of page 766 is $T_AP=1737.7^o$K.
    \item $T_{APL}$ and $T_{APH}$: Solving equation 13 for $P_{max}(T_{APL})$ and $P_{max}(T_{APH})$ gives $T_{APH}=1414.87^o$K and $T_{APL} = 4547.89^o$K.
    \item Table 3 gives $P_2=1.44\times10^{-3}$gCdm$^{-2}$h$^{-1}$ but page 766 states $1.3\times10^{-3}$gCdm$^{-2}$h$^{-1}$. Using the table value there is no valid solutions for $T_{APL}$ and $T_{APH}$ so we have used the paper value.
    \item Assuming these values of $T_{AP}$, $T_APH$ and $T_{APL}$ then the calculated value for $P$ in the right column of page 766 can be used to solve for $\alpha$ which is found to be $3.338\times10^{-5}$gCdm$^{-2}$h$^{-1}(\mu$ mol photons m$^{-2}$s$^{-1})^{-1}$.
    \item Similarly to $T_{AP}$ the value for $T_{AR}$ given in the paper is not the solution to equation 14 but the value given in the table is.
    \item Assuming that the values of $N_{min}$ and $N_{max}$ then min$(1-N_{min}/N)=1-N_{min}/N_{max}=0.5454$ (not $0.65$ as given in the bottom right of page 767). This changes the parameters $m_1$ and $m_2$ to $0.12925$ and $0.03575$. Alternatively, if the stated values of $m_1$ and $m_2$ are correct then $N_{max}=0.0286$.
\end{itemize}
\end{document}


\documentclass{article}
\usepackage{tocloft}
\include{common_symbols_and_format}
\renewcommand{\cfttoctitlefont}{\Large\bfseries}

\begin{document}
\logo
\rulename{Level Regression} %Argument is name of rule
\tblofcontents

\ruledescription{A regression-type approach that directly calculates allocation from research level.} %Argument is rule description

\ruleparameters%You can include however many arguments (in groups of 4) as you want!
{Level Coefficient}{0.1}{Multiplier for regression.}{$k_1$}
{Constant Coefficient}{0.1}{Initial constant for regression.}{$k_2$}
\stoptable %must be included or Tex engine runs infinitely

\section{Equation}
Below are the equations which govern how this specific trading rule calculates a trading position.

\begin{equation}
\position_\currenttime = k_1*R_t+k_2
\end{equation}
\\ % creates some space after equation
with

$\position_\currenttime$ is the portfolio allocation at time $\currenttime$

$R_t$: Research value at time $\currenttime$

$k_1$: level coefficient

$k_2$: static coefficient

\keyterms
\furtherlinks %The footer
\end{document}


\subsection{Examples}

\begin{frame}[fragile]
  \frametitle{Example 1: C code}

  Pseudo-code
  \begin{verbatim}
  i := 1
  while ( i > 0 )
    i := i + 1
  \end{verbatim}

  \vfill
  \pause

  C equivalent
  \begin{verbatim}
  unsigned i = 1;
  while ( i > 0 )
    i = i + 1;
  \end{verbatim}

\end{frame}

\begin{frame}[fragile]
  \frametitle{Example 2: C code}

  Evaluation of \SBv{32} with C
  \begin{verbatim}
  unsigned a = 0xFFFF0000;
  unsigned b = 0x0000FFFF;

  printf( "a + b   : %8X\n", a + b );
  printf( "a * b   : %8X\n", a * b );
  printf( "a AND b : %8X\n", a & b );
  printf( "a OR b  : %8X\n", a | b );
  \end{verbatim}

\end{frame}

\begin{frame}[fragile]
  \frametitle{Example 3: Circuit}

  \scriptsize

  \begin{verbatim}
  module counter(clk, count);

    input clk ;
    output [2:0] count ;
    wire cin ;
    reg [2:0] count ;

    assign cin = ~count [0] & ~count [1] & ~count [2];

    initial begin
      count = 3'b0;
    end

    always @ ( posedge clk )
    begin
      count [0] <= cin;
      count [1] <= count [0];
      count [2] <= count [1];
    end

  end module
  \end{verbatim}
  \vspace{-70pt}{\hspace{160pt}{\scalebox{.25}{\input{counter.pdf_t}}}}

\end{frame}


%!TEX root = ../thesis.tex
%*******************************************************************************
%*********************************** Fifth Chapter *****************************
%*******************************************************************************

\chapter{Smoothing}\label{chapter:Smoothing}
\ifpdf
    \graphicspath{{Chapter5/Figs/Raster/}{Chapter5/Figs/PDF/}{Chapter5/Figs/}}
\else
    \graphicspath{{Chapter5/Figs/Vector/}{Chapter5/Figs/}}
\fi

Lattice definitions of topological objects are plagued by short-distance fluctuations originating from the Monte-Carlo generation of the lattice configurations. Hence, when considering the behaviour of topological objects on the lattice, it has been proven to be necessary to remove the high frequency fluctuations in the gauge fields~\cite{Bonnet:2000dc}. Furthermore, when investigating the long range behaviour of the lattice it is also beneficial to filter off the short distance fluctuations to better reveal the physics in the domain of interest~\cite{Moran:2008ra}. This filtering process is known as smoothing, and it typically forms an important step in the study of lattice topological objects and long range behaviour. For example, it has previously been shown that smoothing is necessary to obtain agreement between the untouched and vortex only string tension, mass function and instanton content~\cite{Trewartha:2015ida,Trewartha:2015nna,Trewartha:2017ive}. The process of smoothing in turn falls into two well known sub-categories: cooling and smearing.\\

The purpose of both these methods is similar, however, the algorithms used to implement them differ. Cooling assesses each link in turn, replacing the existing link with one that locally minimises some choice of action (see e.g. the Wilson action, Eq.~\eqref{eq:WilsonAction}). Rather than explicitly minimising a given action, smearing  instead replaces the links with a weighted average of their nearest neighbours. Once every link in the lattice has been updated according to one of these methods, the configuration is said to have had one sweep of smoothing applied. The process can then be repeated to an arbitrary number of sweeps to achieve the desired degree of smoothness.  Due to the differences in the routines, it is important to compare the results from both to observe how they each perform and quantify how they alter the result.

\section{Smoothing Methods}
\subsection{Cooling}
Cooling is the original method devised for smoothing lattice gauge fields, first utilised in an analysis of the topological susceptibility of simplified lattice models~\cite{Berg:1981nw}. It was shown early on that the process of cooling can be used to distinguish between `genuine' topological charge that is representative of classical minima of the action, and background Monte-Carlo topological charge brought about by random fluctuations created during the generation of the lattice configuration. Under cooling, the former is preserved whilst the latter is annihilated. The process of cooling according to the simplest Wilson action is based on the method outlined by Cabibbo and Marinari~\cite{Cabibbo:1982zn,Creutz:1980zw}, and is performed as follows.\\

We first define the `staple' associated with a link $U_\mu$. A staple is the product of all the link variables around a chosen loop, except for the link being cooled. For example, the $1\times 1$ plaquette staple associated with $U_\mu$ is
%
\begin{equation}
\tilde { U }^{1\times 1} _ { \mu \nu}(x) = U _ { \nu } ( x + \hat { \mu } ) U _ { \mu } ^ { \dagger } ( x + \hat { \nu } ) U _ { \nu } ^ { \dagger } ( x )\, .
\end{equation}
%
Graphically, this can be seen as in Fig.~\ref{fig:Staple}. Larger staples are defined similarly; for example a $2\times 2$ staple corresponds to the product of seven of the eight links in the $2\times 2$ square, with $U_\mu(x)$ omitted. For the Wilson action, which is all we shall consider for now, the six unique $1\times 1$ staples are the only ones required. Once all relevant staples are calculated, they are summed to obtain
%
\begin{equation}
\bar{U} = \sum_{\alpha = 1} ^ 6 \tilde{U}_\alpha\, ,
\label{eq:Staples}
\end{equation}
where $\alpha$ enumerates the staples, not the Lorentz index. We can now rewrite the Wilson action associated with a single link $U_\mu$ as,
%
\begin{equation}
S(U_\mu) = 3 - \operatorname{Re}\Tr (U_\mu \bar{U})\, ,
\label{eq:WilsonActionCool}
\end{equation}
%
which is a different, but completely equivalent, form of Eq.~\eqref{eq:WilsonAction}.\\ %
\begin{figure}[ht!]
\centering
\input{Chapter5/Figs/staple.tex}
\caption[An example $1\times 1$ staple.]{\label{fig:Staple} An example $1\times 1$ staple, with the dashed link indicating the link the staple is relative to. The origin of the name staple is apparent from the shape of the 3 solid links.}
\end{figure}
%

The objective of cooling is to select a new $SU(3)$ matrix, $U_\mu^\prime$, to replace $U_\mu$ with such that $U_\mu^\prime$ minimises Eq.~\eqref{eq:WilsonActionCool}. This is equivalent to maximising
%
\begin{equation}
R = \operatorname{Re} \Tr (U_\mu^\prime \, \bar{U})\, .
\label{eq:CoolFunctional}
\end{equation}
%
Naively, it would seem that $U_\mu^\prime = \bar{U}^{-1}$ would be the ideal choice. However, $\bar{U}$ is a sum of $SU(3)$ matrices, and $SU(3)$ is only closed under multiplication, not addition. Hence, $\bar{U}$, and by extension $\bar{U}^{-1}$, are not necessarily in $SU(3)$, making $\bar{U}^{-1}$ an invalid substitute for $U_\mu$. However, any $SU(2)$ element can be written in the form $U = a _ { 0 } I + i \vec { a } \cdot \vec { \sigma }$, where $\vec{\sigma}$ are the Pauli matrices and $a\in\mathbb{R}^4$  satisfies $a^2=1$. Hence, a sum of $SU(2)$ elements will be proportional to another $SU(2)$ element. We can exploit this fact to construct an new $SU(3)$ element from three $SU(2)$ subgroups. To this end, we wish to find a $U^\prime$ of the form
%
\begin{equation}
U^\prime_\mu = a_3\,a_2\,a_1\,U_\mu\, ,
\label{eq:UPrime}
\end{equation}
%
where the $a_i$ are each in a different $3\times 3$ representation of $SU(2)$. The optimal choice is
%
\begin{align}
a_1 &= \frac{1}{k_1}
\begin{pmatrix}
\frac{1}{2}\left((U_\mu \, \bar{U})_{11} + (U_\mu \, \bar{U})^*_{22}\right) & \frac{1}{2}\left((U_\mu \, \bar{U})_{12} - (U_\mu \, \bar{U})^*_{21}\right) & 0\\
\frac{1}{2}\left((U_\mu \, \bar{U})_{21} - (U_\mu \, \bar{U})^*_{12}\right) & \frac{1}{2}\left((U_\mu \, \bar{U})^*_{11} + (U_\mu \, \bar{U})_{22}\right) & 0\\
0 & 0 & k_1
\end{pmatrix}^\dagger\\
a_2 &= \frac{1}{k_2}
\begin{pmatrix}
\frac{1}{2}\left((U_\mu \, \bar{U})_{11} + (U_\mu \, \bar{U})^*_{33}\right) & 0 & \frac{1}{2}\left((U_\mu \, \bar{U})_{13} - (U_\mu \, \bar{U})^*_{31}\right)\\
0 & k_2 & 0\\
\frac{1}{2}\left((U_\mu \, \bar{U})_{31} - (U_\mu \, \bar{U})^*_{13}\right) & 0 & \frac{1}{2}\left((U_\mu \, \bar{U})^*_{11} + (U_\mu \, \bar{U})_{33}\right)
\end{pmatrix}^\dagger\\
a_3 &= \frac{1}{k_3}
\begin{pmatrix}
k_3 & 0 & 0\\
0 & \frac{1}{2}\left((U_\mu \, \bar{U})_{22} + (U_\mu \, \bar{U})^*_{33}\right) & \frac{1}{2}\left((U_\mu \, \bar{U})_{23} - (U_\mu \, \bar{U})^*_{32}\right)\\
0 & \frac{1}{2}\left((U_\mu \, \bar{U})_{32} - (U_\mu \, \bar{U})^*_{23}\right) & \frac{1}{2}\left((U_\mu \, \bar{U})^*_{22} + (U_\mu \, \bar{U})_{33}\right)
\end{pmatrix}^\dagger\, .
\end{align}
The factor of $\frac{1}{k_i}$ fixes the determinant such that $\det(a_i)=1$. The procedure for identifying these $SU(2)$ elements is described in detail in Appendix~\ref{app:Cooling}. With this construction of $U_\mu^\prime$ we locally minimise the Wilson action for each link. This determination of $U_\mu^\prime$ is repeated 12 times per link. One sweep of cooling constitutes updating each link on the lattice according to this procedure.\\

As detailed in Ref.~\cite{Bonnet:2000dc}, this process can be thought of as locally minimising the Wilson action of the three $SU(2)$ subgroups, which collectively minimises the Wilson action of the full $SU(3)$ link. It is then simple to extend this procedure to different actions by expanding the size and shape of the staples considered in the construction of $\bar{U}$. As all of the quantities utilised in the cooling procedure are gauge invariant, cooling can be performed in any gauge to arrive at the same cooled configuration. However, cooling is not a gauge transformation, and as such it represents a deviation from the original physical configuration. We therefore need to be careful when selecting the action used for the cooling routine to ensure that we are not removing the physics that we are interested in. To best study instantons and topological charge on a periodic lattice, it has been shown that a $\mathcal{O}(a^4)$ three-loop  improved action is most suitable~\cite{BilsonThompson:2002jk}. This action is dubbed a `three-loop' action as it consists of a linear combination of $1\times 1$, $2\times 2$ and $3\times 3$ Wilson loops. This choice of action combines both computational efficiency with an effective stabilisation of instantons and an accurate preservation of the topological charge under repeated cooling sweeps. As a result, it is this three-loop cooling routine that will be utilised in this research.

\subsection{Over-Improved Smearing}
Despite the accurate results obtained from cooled lattice configurations, cooling presents certain computational inefficiencies. Given that the staples, $\bar{U}_\alpha$ must remain constant while updating a given link $U_\mu$, there are limitations to how  parallelised the algorithm can be, especially for larger combinations of loops such as those used in the chosen three-loop improved action. To avoid these issues, a different type of smoothing was developed, known as `smearing'. Rather than locally minimising the action by direct substitution of each link, the initial APE smearing~\cite{Albanese:1987ds, Falcioni:1984ei} routine replaces each link with a weighted average of its nearest neighbours, according to
%
\begin{equation}
U^\prime = (1-\alpha)\,U_\mu + \frac{\alpha}{6}\,\bar{U}^\dagger\, ,
\end{equation}
%
where $\bar{U}$ is the sum of the staples given in Eq.~\eqref{eq:Staples} and $\alpha$ is some weighting parameter. However, as stated in the previous section, a linear combination of $SU(3)$ matrices is not necessarily in $SU(3)$, so APE smearing is dependent on a choice of projection into the $SU(3)$ group. To remove the need for this projection step, the method of stout-link smearing was developed~\cite{Morningstar:2003gk}.\\

We will first outline the stout-link smearing algorithm, then extend this to the over-improved stout-link smearing employed in this research. To begin, we define
%
\begin{equation}
\Sigma_\mu = \rho_\text{sm}\,(U_\mu\,\bar{U})^\dagger\, ,
\end{equation}
%
where $\rho_\text{sm}$ is a smearing constant chosen to remain fixed for all lattice sites and $\bar{U}$ is the sum of the relevant staples depending on the choice of action. Using this definition we construct
%
\begin{equation}
Q_\mu = \frac{i}{2}\left( \Sigma_\mu^\dagger - \Sigma_\mu \right) - \frac{i}{6}\Tr\left(\Sigma_\mu^\dagger - \Sigma_\mu\right)I\, .
\end{equation}
By construction, $Q_\mu$ is Hermitian ($Q_\mu = Q_\mu^\dagger$) and traceless, so it belongs to the $SU(3)$ Lie algebra. It can therefore be exponentiated to obtain an element of $SU(3)$. We then define the new smeared link by
%
\begin{equation}
U_\mu^\prime = \exp(iQ_\mu)\,U_\mu\, .
\end{equation}
%
This definition effectively corresponds to a complex sum of neighbouring link combinations, however it has numerically been demonstrated to give similar results to the previous APE smearing technique, provided that the smearing parameter $\rho_\text{sm}$ is selected appropriately~\cite{Morningstar:2003gk}. For this work, we choose $\rho_\text{sm}=0.06$, in accordance with the results of Ref.~\cite{Moran:2008ra}. As in the case of cooling, the choice of staples used to define $\bar{U}$ has significant impact on the behaviour of topological objects under smearing. To this end, work has been done to tune the smearing algorithm so that it preserves instanton-like objects under repeated smearing sweeps, leading to the development of over-improved stout-link smearing~\cite{Moran:2008ra}.\\

To see the necessity for over-improved stout-link smearing, it is important to detail how we quantitatively measure the effect of smearing on topological objects. To do this, we calculate the instanton action in terms of the instanton radius. The error terms in the instanton action then give an indication of how the instanton radius will change as the action decreases under smearing. This in turn gives an indication of how well the smearing routine preserves topological objects. If the Baker-Campbell-Hausdorff plaquette expansion given in Appendix~\ref{app:TEPlaquette} is instead truncated at $\mathcal{O}(a^4)$ rather than $\mathcal{O}(a^2)$, the Wilson action becomes~\cite{GarciaPerez:1993lic}
%
\begin{equation}
\mathcal{S}_\text{W} = a^4\sum_x\,\sum_{\mu,\,\nu} \Tr\left[\frac{1}{2}F_{\mu\nu}^2 + \frac{a^2}{24}\left\lbrace \left( D _ { \mu } F _ { \mu \nu } ( x ) \right) ^ { 2 } + \left( D _ { \nu } F _ { \mu \nu } ( x ) \right) ^ { 2 } \right\rbrace + \mathcal{O}(a^4)\right]\, .
\end{equation}
%
Substituting in the instanton potential (Eq.~\eqref{eq:InstantonSolution}) and field strength tensor (Eq.~\eqref{eq:InstantonFieldStrength}), we find that the Wilson action goes like
%
\begin{equation}
S_\text{W}^\text{inst} = \frac{8\pi^2}{g^2}\left\{1-\frac{1}{5}\left(\frac{a}{\rho}\right)^2 + \mathcal{O}\left(\frac{a}{\rho}\right)^4 \right\}\, ,
\end{equation}
%
where $\rho$ is the instanton radius. We note then that as the Wilson action is minimised, the $-\frac{1}{5}\left(a/\rho\right)^2$ term must become increasingly negative, implying that the instanton radius decreases. This is precisely the effect we wish to avoid, as the instanton radius will shrink under smearing to the point where the instanton-like objects `fall through' the lattice as $\rho\rightarrow a$. A similar calculation can be done for the L\"uscher and Weisz action, showing that~\cite{GarciaPerez:1993lic}\\
%
\begin{equation}
S_\text{LW}^\text{inst} = \frac{8\pi^2}{g^2}\left\{ 1 - \frac { 17 } { 210 } \left(  \frac{a}{\rho} \right) ^ { 4 } + \mathcal { O } \left( \frac{a}{\rho} \right) ^ { 6 } \right\}\, .
\end{equation}
%

In both of the previous instanton actions, the leading error term is negative, resulting in a suppression of the instanton radius. To counteract this we `over-improve' the action by modifying it to be a linear combination of $S_\text{W}$ and $S_\text{LW}$, introducing a parameter $\epsilon$ that interpolates between them~\cite{Moran:2008ra}. This modified action is given as
%
\begin{equation}
S ( \epsilon ) =  \beta \sum _ { x } \sum _ { \mu > \nu } \left[ \frac { 5 - 2 \epsilon } { 3 } \left( 1 - P _ { \mu \nu } ( x ) \right) - \frac { 1 - \epsilon } { 12 } \left( \left( 1 - R _ { \mu \nu } ( x ) \right) + \left( 1 - R _ { \nu \mu } ( x ) \right) \right) \right]\, .
\end{equation}
%
We see that $S(1)=S_\text{W}$ and $S(0) = S_\text{LW}$. Expanding $S(\epsilon)$ in terms of the instanton solution, we have
%
\begin{equation}
S^\text{inst}(\epsilon) = \frac { 8 \pi ^ { 2 } } { g ^ { 2 } } \left[ 1 - \frac { \epsilon } { 5 } \left( \frac { a } { \rho  } \right) ^ { 2 } + \frac { 14 \epsilon - 17 } { 210 } \left( \frac { a } { \rho } \right) ^ { 4 } + \mathcal { O } \left( \frac{a}{\rho} \right) ^ { 6 } \right]\, .
\end{equation}
%
The parameter $\epsilon$ can now be tuned so as to preserve instantons under smearing. Performing stout-link smearing with this choice of action dependent on $\epsilon$ is known as over-improved stout-link smearing. When using this routine, it is necessary to select appropriate $\rho_{\text{sm}}$ and $\epsilon$ parameters. We keep the previous value of $\rho_{\text{sm}}=0.06$, however there is some subtlety to finding an appropriate $\epsilon$. The natural choice for $\epsilon$ may be to follow Ref.~\cite{GarciaPerez:1993lic} and set $\epsilon=-1$ to ensure that the leading error term is positive. However, one then runs the risk of unphysically growing the instanton size such that it annihilates with anti-instantons present on the lattice. Furthermore, we wish to smear such that the instantons are minimally distorted as they undergo the smearing process. To this end, we follow the results of Ref.~\cite{Moran:2008ra} and choose $\epsilon = -0.25$. We then choose the corresponding staple parameter $\bar{U}$ to be the sum over the $1\times 1$ and $(2\times 1) + (1\times 2)$ loops with $U_\mu$ omitted, with respective weightings $\frac{5-2\epsilon}{3}$ and $-\frac{1-\epsilon}{12}$. We can now utilise this over-improved stout-link smearing routine to filter out short distance physics, isolating the topological objects of interest.

\section{Results from the Gluon Propagator}\label{sec:CoolingGluProp}
\textit{This section is based on the paper ``Gluon propagator on a centre-vortex background'', }\citet{Biddle:2018dtc}.\\

We now wish to present original work that compares of the effect of each of these smoothing methods on the gluon propagator. Summarising the previous sections, we employ $\mathcal{O}(a^4)$-improved three-loop cooling and over-improved stout-link smearing with smearing parameters $\rho_\text{sm}=0.06$ and $\epsilon=-0.25$. We first plot the untouched propagator after 0, 1, 2, 4 and 8 sweeps of cooling in Fig.~\ref{fig:1to10SweepsCooling}. In gauge fixing to Landau gauge, each sweep has been preconditioned by the Landau gauge transformation of the prior sweep in descending order (i.e. the transformation for sweep 10 preconditions sweep 9). This preconditioning is done to ensure that the Landau gauge functional is near the same local minima for each cooling sweep. We observe the expected removal of short distance fluctuations that is typical of smoothing, resulting in a suppressed propagator at large $q$. This is complemented by an amplification in the infra-red region which can be attributed to the increase in low momentum modes arising from the smoothing of the gauge fields.\\
%
\begin{figure}[tb]
\centering
\includegraphics[width=\linewidth]{./ScalarGluComp_q2_1to10sweeps.pdf}
\caption[Comparison of the gluon propagator on the untouched configurations after cooling.]{\label{fig:1to10SweepsCooling}Comparison of the gluon propagator on the untouched configurations after cooling. For clarity we have selected a sample of sweeps between 1 and 8.}
\end{figure}
%

To compare the effects of cooling and over-improved smearing, the untouched gluon propagator is plotted in Fig.~\ref{fig:SmearCoolComp} after either over-improved smearing or cooling. By comparing the smeared and cooled propagator we can see that cooling has a more rapid effect, related to the well-known fast removal of action from the lattice. The qualitative shape of the propagator remains the same however, and it can be seen that, for example, 4 smearing sweeps produces a propagator remarkably similar to 1 cooling sweep. More generally, we observe that in regards to the shape of the propagator, $n_{\text{sm}}\approx4\,n_{\text{cool}}$. Following the observation made in Ref.~\cite{Thomas:2014tda} that the number of over-improved stout-link smearing sweeps is related to the gradient flow time by
%
\begin{equation}
t\approx\rho\,n_{\text{sm}}\, ,
\end{equation}
%
we deduce that the relationship between gradient flow time and cooling is
\begin{equation}
t\approx0.24\,n_{\text{cool}}\,.
\end{equation}\\
%
\begin{figure}[tb]
\centering
\includegraphics[width=\linewidth]{./ScalarGluComp_q2_SmearCoolComp.pdf}
\caption[The gluon propagator after cooling or improved smearing.]{\label{fig:SmearCoolComp}The gluon propagator after cooling or improved smearing. We see that the shape of the plot changes minimally between the smoothing routines. However cooling requires fewer sweeps to produce the same effect when compared to smearing.}
\end{figure}
%

It is well understood that smoothing alters the vortex background, and based on previous work~\cite{Cais:2008za,Trewartha:2015ida,DelDebbio:1998luz} we anticipate that the vortices identified on smoothed configurations would differ to those identified on the unsmoothed configurations. We therefore perform vortex identification only on the untouched configurations, with smoothing then being performed independently on the untouched, vortex-only and vortex-removed configurations, as shown in Chapter~\ref{chapter:GluonPropagatorResults}. We choose to use cooling as the smoothing algorithm for the results presented in this research as it lowers the action of the lattice configurations faster than over-improved smearing, however it is worth noting that similar results can be obtained with the use of over-improved smearing. With this understanding of smoothing routines developed, we are now in a position to calculate the gluon propagator on our vortex modified configurations. We are now free to employ cooling to expose the long-range physics and isolate the vortex contribution to the propagator, illuminating the significance of centre vortices.


%!TeX shellEscape = enabled
%!TeX tests = pygmentize -V
\documentclass{article}

\usepackage{minted}

\begin{document}
\section{Scheme Sample - The Euclidean Algorithm}
\begin{minted}{scheme}
(define (gcd a b)
  (if (zero? b)
    a
    (gcd b (modulo a b))))
\end{minted}
\end{document}


\chapter{Statistical Hypothesis Testing}

\section{The language of hypothesis testing}
\section{Hypothesis test for the proportion in a binomial distribution}
\section{Hypothesis test for the mean of a normal distribution}
\section{Hypothesis test using Pearson’s correlation coefficient}


\chapter{Random-Exist Quantified SSAT}
\label{chap:random-exist-ssat}

In this chapter, we propose a new algorithm that combines modern SAT-solving and model-counting techniques for random-exist quantified SSAT formulas.
Most content in this chapter is based on our conference paper~\cite{LeeIJCAI17RESSAT} published at IJCAI\,'17.

\input{random-exist-ssat/preliminaries.tex}
\input{random-exist-ssat/technique.tex}
\input{random-exist-ssat/evaluation.tex}


\subsection{Solo Calculus}

    Developed by Cosimo Laneve and Bj{\"o}rn Victor in the early 2000s, the Solo Calculus aims to be an improvement of the Fusion Calculus.
    As such, there exists an encoding of the Fusion Calculus within the Solo Calculus (and hence an encoding of the $\pi$-calculus).
    The name comes from the strong distinction between the components of the calculus: \textit{solos} and \textit{agents}.
    These are roughly analogous to input/output actions and a calculus syntax similar to the $\pi$-calculus.
    Through some clever design choices, the Solo Calculus is found to have some interesting properties over other process calculi.

    \begin{definition}{Syntax\\}
        \label{solo-calculus-syntax}
        As defined by~\cite{solo-calculus}, the Solo Calculus is constructed from \textit{solos} ranged over by $\alpha, \beta \ldots$ and \textit{agents} ranged over by $P, Q \ldots$ as such:
        \begin{center}
            \begin{tabular}{ l l l }
                $\alpha \quad \defeq$   & $u \, \tilde{x}$          & (input) \\
                                        & $\bar{u} \, \tilde{x}$    & (output)~\footnotemark\\ \\
                $P \quad \defeq$        & $0$                       & (inaction) \\
                                        & $\alpha$                  & (solo) \\
                                        & $Q \; | \; R$             & (composition) \\
                                        & $(x) \, Q$                & (scope) \\
                                        & $!\,P$                    & (replication)
            \end{tabular}
        \end{center}\footnotetext{$\tilde{x}$ is used as shorthand for any tuple $(x_1 \ldots x_n)$.}
        where the scope operator $(x) \, P $ is a declaration of the named variable $x$ in $P$.
        This ensures that $x$ is local to $P$, even if it assigned outside $P$ (ex. $(x \, y | (x) \, P)$ will never have $x \defeq y$ unless explicitly assigned such in P).
    \end{definition}
    This is a much more minimal syntax when compared to CCS (and certainly Higher-Order CCS as described by~\cite{pi-calculus-in-ccs}).
    It will further be seen that the reduction rules retain this simplicity.
    It should be noted that the names $u, x, etc\ldots$ within a solo may be treated as both channel names and as values.

    \begin{remark*}{Match Operator\\}
        The full definition by~\cite{solo-calculus} also includes the match operator $[x \, = \, y] \, P$ which computes $P$ if $x$ and $y$ are the same name, otherwise computes \textbf{0}.
        It has been shown that the inclusion of the match operator is in fact extraneous, so it is excluded.
    \end{remark*}

    \begin{definition}{Structural Congruence\\}
        The structural congruence relation $\equiv$ in the Solo Calculus is exactly that defined in Definition~\ref{fusion-calculus-structural-congruence}.
    \end{definition}

    \begin{definition}{Reduction\\}
        Reduction semantics on solo expressions are defined as:
        \begin{align*}
            (x)(\bar{u} \, x \; | \; u \, y \; | \; P) \rightarrow & \, P\{y / x\} \\
            P \rightarrow P' \implies &
            \begin{cases}
                P \; | \; Q \rightarrow P' \; | \; Q \\
                (x) \, P \rightarrow (x) \, P' \\
                P \equiv Q \text{ and } P' \equiv Q' \implies Q \rightarrow Q'
            \end{cases}
        \end{align*}
        where $P\{y / x\}$ is $\alpha$-substitution of the name $x$ to the name $y$.
    \end{definition}
    The case of reducing $!P \rightarrow P \; | \; !P$ is rarely performed due to the potential explosion of terms.
    Instead, it is subject to lazy evaluation --- the expansion is only performed in a reduction step if it is known that there exists an agent in $P$ that may perform a reduction.
    Details of this will be seen later, or can be found discussed by~\cite{solo-diagrams}.
    It is interesting to note also the asynchronous behaviour of the Solo Calculus.
    Where in the $\pi$-calculus and CCS input/output actions where synchronised and preceded processes as guards, the Solo Calculus naturally treats all agents as unguarded and names may be substituted whenever is desired.
    That is, there is no sequential aspect to the calculus, allowing for useful structural congruences, and terms may be evaluated exceptionally lazily.

    \begin{remark*}
        There exists an encoding of the Fusion Calculus within the Solo Calculus.
        This can most easily be seen as an encoding of the choice-free Fusion Calculus as a combination of the above syntax and semantics of the Solo Calculus and also the prefix operator $\alpha \, . \, P$\footnotemark
        \footnotetext{For further details,~\cite{solo-calculus} discuss this implementation in Section 3}.
        Hence there exists an encoding of the $\pi$-calculus also, complete with the same style of guarded input/output communication.
    \end{remark*}


\chapter{Assignment: Clustering}
\label{hw:clustering}

\newthought{Clustering helps to discover groups of data}, for example similar batches, which the user can explore in detail with visualizations and statistics. Use FTO3 data from Dr Reddy’s and group them by Batch using the Pivot Table widget. Use Select Columns to keep only those attributes that are important (for example, process parameters). Put all other attributes in metas.

\begin{figure}[h]
  \centering
  \includegraphics[width=\linewidth]{clustering.png}%
  \caption{Workflow for the assignment.}
  \label{fig:clustering}
\end{figure}

\begin{enumerate}
    \item Try Euclidean and cosine distance with Ward linkage. Which one works better? Why?
    \item How many groups did you discover? What number would make sense?
    \item Explain the final clusters. What defines each of them?
\end{enumerate}


\documentstyle[11pt,reduce]{article}
\title{CVIT - Program for fast calculation of Dirac's $\gamma$-matrices
traces}
\date{(Version: 1.2. Release: March, 11, 1990)}
\author{V. Ilyin, A. Kryukov, A. Rodionov and A. Taranov \\
Institute for Nuclear Physics \\
Moscow State University  \\
Moscow, 119899 USSR  \\
Phone 939-58-92  \\
Telex 411483 MGU SU  \\
Fax (011)7095-939-01-26}

\begin{document}
\maketitle
\section*{Abstract}

In modern high energy physics the calculation of Feynman diagrams are
still very important. One of the difficulties of these calculations
are trace calculations. So the calculation of traces of Dirac's
$\gamma$-matrices were one of first task of computer algebra systems.
All available algorithms are based on the fact that gamma-matrices
constitute a basis of a Clifford algebra:
\begin{verbatim}
           {Gm,Gn} = 2gmn.
\end{verbatim}

We present the implementation of an alternative algorithm based on
treating of gamma-matrices as 3-j symbols (details may be found in
[1,2]).

The program consists of 5 modules described below.

\newpage
\begin{verbatim}

                    MODULES CROSS REFERENCES
   +--------+
   | REDUCE |
   |________|                  |ISIMP1
    ISIMP2|         +-----------------------+
          +--->-----| RED_TO_CVIT_INTERFACE |
                    |_______________________|
                 CALC_SPUR|          |REPLACE_BY_VECTOR
                          |          |REPLACE_BY_VECTORP
                          |          |GAMMA5P
                          ^          V
                         +--------------+
                         | CVITMAPPING  |
                         |______________|
                                ^
                                |PRE-CALC-MAP
                                |CALC_MAP_TAR
                                |CALC_DENTAR
                                |
                         +-------------+
                         | INTERFIERZ  |
                         |_____________|
                            |         |MK-NUMR
                            |         |STRAND-ALG-TOP
                            |         ^
               MAP-TO-STRAND|    +------------+
                   INCIDENT1|    | EVAL-MAPS  |
                            |    |____________|
                            ^               |DELETEZ1
                            |               |CONTRACT-STRAND
                  +----------------+        |COLOR-STRAND
                  | MAP-TO-STRAND  |---->---+
                  |________________|

      Requires of REDUCE version: 3.2, 3.3.

\end{verbatim}

\section*{Module RED\_TO\_CVIT\_INTERFACE}

\begin{center}
Author: A.P.Kryukov \\
Purpose:interface REDUCE and CVIT package
\end{center}

RED\_TO\_CVIT\_INTERFACE module is intended for connection of REDUCE
with main module of CVIT package. The main idea is to preserve
standard REDUCE syntax for high energy calculations.  For realization
of this we redefine {\ SYMBOLIC PROCEDURE ISIMP1} from HEPhys module of
REDUCE system.

After loading CVIT package user may use switch CVIT which is {\tt ON} by
default.  If switch CVIT is {\tt OFF} then calculations of Diracs matrices
traces are performed using standard REDUCE facilities. If CVIT switch
is {\tt ON} then CVIT package will be active.

{\tt RED\_TO\_CVIT\_INTERFACE} module performs some primitive simplification
and control input data independently.  For example it remove $G_mG_m$,
check parity of the number of Dirac matrices in each trace {\em etc}.
There is one principal restriction concerning G5-matrix. There are no
closed form for trace in non-integer dimension case when trace include
G5-matrix.  The next restriction is that if the space-time dimension
is integer then it must be even (2,4,6,...).  If these and other
restrictions are violated then the user get corresponding error
message. List of messages is included.

\begin{center}
\begin{verbatim}
                  LIST OF IMPORTED FUNCTIONS
-------------------------------------------------
 Function              From module
-------------------------------------------------
 ISIMP2                HEPhys
 CALC_SPUR             CVITMAPPING
-------------------------------------------------
\end{verbatim}

\begin{verbatim}
                  LIST OF EXPORTED FUNCTION
-------------------------------------------------
 Function              To module
-------------------------------------------------
 ISIMP1                HEPhys (redefine)
 REPLACE_BY_VECTOR     EVAL_MAP
 REPLACE_BY_VECTORP    EVAL__MAP
 GAMMA5P               CVITMAPPING, EVAL_MAP
-------------------------------------------------
\end{verbatim}
\end{center}

\section*{Module CVITMAPPING}

\begin{center}
Author: A.Ya.Rodionov \\
Purpose: graphs reduction
\end{center}

CVITMAPPING module is intended for diagrams calculation according to
Cvitanovic - Kennedy algorithm. The top function of this module
CALC\_SPUR is called from RED\_TO\_CVIT\_INTERFACE interface module.
The main idea of the algorithm consists in diagram simplification
according to rules (1.9') and (1.14) from [1].  The input data - trace
of Diracs gamma matrices (G-matrices) has a form of a list of
identifiers lists with cyclic order. Some of identifiers may be
identical.  In this case we assume summation over dummy indices. So
trace Sp(GbGr).Sp(GwGbGcGwGcGr) is represented as list ((b r) (w b c w
c r)).

The first step is to transform the input data to ``map'' structure and
then to reduce the map to a ``simple'' one. This transformation is made
by function TRANSFORM\_MAP\_ (top function). Transformation is made in
three steps. At the first step the input data are transformed to the
internal form - a map (by function PREPARE\_MAP\_). At the second step
a map is subjected to Fierz transformations (1.14) (function
MK\_SIMPLE\_MAP\_). At this step of optimization can be maid (if
switch CVITOP is on) by function MK\_FIRZ\_OP.  In this case Fierzing
starts with linked vertices with minimal distance (number of vertices)
between them.  After Fierz transformations map is further reduced by
vertex simplification routine MK\_SIMPLE\_VERTEX using (1.9').
Vertices reduced to primitive ones, that is to vertices with three or
less edges.  This is the last (third) step in transformation from
input to internal data.

The next step is optional.  If switch CVITBTR is on factorisation of
bubble (function FIND\_BUBBLES1) and triangle (function
FIND\_TRIANGLES1) submaps is made.  This factorisation is very
efficient for ``wheel'' diagrams and unnecessary for ``lattice'' diagrams.
Factorisation is made recursively by substituting composed edges for
bubbles and composed vertices for triangles.  So check (function
SORT\_ATLAS) must be done to test possibility of future marking
procedure.  If the check fails then a new attempt to reorganize atlas
(so we call complicated structure witch consists of MAP, COEFFicient
and DENOMinator) is made. This cause backtracking (but very seldom).
Backtracking can be traced by turning on switch CVITRACE. FIND\_BUBLTR
is the top function of this program's branch.

Then atlases must be prepared (top function WORLD\_FROM\_ATLAS) for
final algebraic calculations.  The resulted object called ``world''
consists of edges names list (EDGELIST), their marking variants
(VARIANTS) and WORLD1 structure. WORLD1 structure differs from WORLD
structure in one point.  It contains MAP2 structure instead of MAP
structure. MAP2 is very complicated structure and consist of VARIANTS,
marking plan and GSTRAND.  (GSTRAND constructed by PRE!-CALC!-MAP\_
from INTERFIERZ module.)  By marking we understand marking of edges
with numbers according to Cvitanovic - Kennedy algorithm.

The last step is performed by function CALC\_WORLD. At this step
algebraic calculations are done.  Two functions CALC\_MAP\_TAR and
CALC\_DENTAR from INTERFIERZ module make algebraic expressions in the
prefix form. This expressions are further simplified by function
{\tt REVAL}.  This is the REDUCE system general function for algebraic
expressions simplification. {\tt REVAL} and {\tt SIMP!*} are the only REDUCE
functions used in this module.

There are also some functions for printing several internal
structures: PRINT\_ATLAS, PRINT\_VERTEX, PRINT\_EDGE, PRINT\_COEFF,
PRINT\_DENOM.  This functions can be used for debugging.

If an error occur in module CVITMAPPING the error message ``ERROR IN
MAP CREATING ROUTINES'' is displayed.  Error has number 55.  The switch
CVITERROR allows to give full information about error: name of
function where error occurs and names and values of function's
arguments. If CVITERROR switch is on and backtracking fails message
about error in SORT\_ATLAS function is printed.  The result of
computation however will be correct because in this case factorized
structure is not used. This happens extremely seldom.

\begin{verbatim}
                  List of imported function
-------------------------------------------------
 function              from module
-------------------------------------------------
 REVAL                 REDUCE
 SIMP!*                REDUCE
 CALC_MAP_TAR          INTERFIERZ
 CALC_DENTAR           INTERFIERZ
 PRE!-CALC!-MAP_       INTERFIERZ
 GAMMA5P               RED_TO_CVIT_INTERFACE
-------------------------------------------------
\end{verbatim}

\begin{verbatim}
                  List of exported function
-------------------------------------------------
 function              to module
-------------------------------------------------
 CALC_SPUR             REDUCE - CVIT interface
-------------------------------------------------
\end{verbatim}

\begin{verbatim}
                        Data structure
 WORLD     ::=  (EDGELIST,VARIANTS,WORLD1)
 WORLD1    ::=  (MAP2,COEFF,DENOM)
 MAP2      ::=  (MAPS,VARIANTS,PLAN)
 MAPS      ::=  (EDGEPAIR . GSTRAND)
 MAP1      ::=  (EDGEPAIR . MAP)
 MAP       ::=  list of VERTICES (unordered)
 EDGEPAIR  ::=  (OLDEDGELIST . NEWEDGELIST)
 COEFF     ::=  list of WORLDS (unordered)
 ATLAS     ::=  (MAP,COEFF,DENOM)
 GSTRAND   ::=  (STRAND*,MAP,TADPOLES,DELTAS)
 VERTEX    ::=  list of EDGEs (with cyclic order)
 EDGE      ::=  (NAME,PROPERTY,TYPE)
 NAME      ::=  ATOM
 PROPERTY  ::=  (FIRSTPAIR . SECONDPAIR)
 TYPE      ::=  T or NIL
 ------------------------------------------------
 *Define in module MAP!-TO!-STRAND.

\end{verbatim}

\section*{Modules INTERFIERZ, EVAL\_MAPS, AND MAP-TO-STRAND.}

\begin{center}
Author: A.Taranov \\
Purpose: evaluate single Map
\end{center}

Module INTERFIERZ exports to module CVITMAPPING three functions:
PRE-CALC-MAP\_, CALC-MAP\_TAR, CALC-DENTAR.

Function PRE-CALC-MAP\_ is used for preliminary processing of a map. It
returns a list of the form (STRAND NEWMAP TADEPOLES DELTAS) where
STRAND is strand structure described in MAP-TO-STRAND module.  NEWMAP
is a map structure without ``tadepoles'' and ``deltas''.  ``Tadepole'' is a
loop connected with map with only one line (edge). ``Delta'' is a single
line disconnected from a map.  TADEPOLES is a list of ``tadepole''
submaps.  DELTAS is a list (CONS E1 E2) where E1 and E2 are

Function CALC\_MAP\_TAR takes a list of the same form as returned by
PRE-CALC-MAP\_, a-list, of the form (...  edge . weight ...  )  and
returns a prefix form of algebraic expression corresponding to the map
numerator.

Function CALC-DENTAR returns a prefix form of algebraic expression
corresponding to the map denominator.

Module EVAL-MAP exports to module INTERFIERZ functions MK-NUMR and
STRAND-ALG-TOP.

Function MK-NUMR returns a prefix form for some combinatorial
coefficient (Pohgammer symbol).

Function STRAND-ALG-TOP performs an actual computation of a prefix
form of algebraic expression corresponding to the map numerator. This
computation is based on a ``strand'' structure constructed from the
``map'' structure.

Module MAP-TO-STRAND exports functions MAP-TO-STRAND, INCIDENT1 to
module INTERFIERZ and functions DELETEZ1, CONTRACT-STRAND,
COLOR-STRAND to module EVAL-MAPS.

Function INCIDENT1 is a selector in ``strand'' structure.  DELETEZ1
performs auxiliary optimization of ``strand''.  MAP-TO-STRAND transforms
``map'' to ``strand'' structure.  The latter is describe in program
module.

CONTRACT-STRAND do strand vertex simplifications of ``strand'' and
COLOR-STRAND finishes strand generation.

\begin{verbatim}

            Description of STRAND  data structure.
 STRAND ::=<LIST OF VERTEX>
 VERTEX ::=<NAME> . (<LIST OF ROAD> <LIST OF ROAD>)
 ROAD   ::=<ID> . NUMBER
 NAME   ::=NUMBER
\end{verbatim}

\subsection*{ LIST OF MESSAGES}

\begin{itemize}

\item{CALC\_SPUR: $<$vecdim$>$ IS NOT EVEN SPACE-TIME DIMENSION}
 The dimension of space-time $<$vecdim$ $is integer but not
even. Only even numeric dimensions are allowed.

\item{NOSPUR NOT YET IMPLEMENTED}
 Attempt to calculate trace when NOSPUR switch is on.  This facility
is not implemented now.

\item{G5 INVALID FOR VECDIM NEQ 4}
 Attempt to calculate trace with gamma5-matrix for space-time
dimension not equal to 4.

\item{CALC\_SPUR: $<$expr$>$ HAS NON-UNIT DENOMINATOR}
The <expr> has non-unit denominator.

\item{THREE INDICES HAVE NAME $<$name$>$}
 There are three indices with equal names in evaluated expression.

\end{itemize}

\begin{verbatim}
                  List of switches
------------------------------------------------------------
 switch           default    comment
------------------------------------------------------------
 CVIT             ON         If it is on then use Kennedy-
                             Cvitanovic algorithm else use
                             standard facilities.
 CVITOP           OFF        Fierz optimization switch
 CVITBTR          ON         Bubbles and triangles
                             factorisation switch
 CVITRACE         OFF        Backtracking tracing switch
------------------------------------------------------------
\end{verbatim}

\begin{verbatim}
                 Functions cross references*.

CALC_SPUR
 |
 +-->SIMP!* (REDUCE)
     |
     +-->CALC_SPUR0
         |
         |--->TRANSFORM_MAP_
         |    |
         |    |--->MK_SIMPLE_VERTEX
         |    +--->MK_SIMPLE_MAP_
         |         |
         |         +--->MK_SIMPLE_MAP_1
         |              |
         |              +--->MK_FIERS_OP
         |
         |--->WORLD_FROM_ATLAS
         |    |
         |    +--->CONSTR_WORLDS
         |         |
         |         +---->MK_WORLD1
         |               |
         |               +--->MAP_2_FROM_MAP_1
         |                    |
         |                    |--->MARK_EDGES
         |                    +--->MAP_1_TO_STRAND
         |                         |
         |                         +-->PRE!-CALC!-MAP_
         |                             (INTERFIRZ)
         |
         |--->CALC_WORLD
         |    |
         |    |--->CALC!-MAP_TAR (INTERFIRZ)
         |    |--->CALC!-DENTAR (INTERFIRZ)
         |    +--->REVAL (REDUCE)
         |
         +--->FIND_BUBLTR
              |
              +--->FIND_BUBLTR0
                   |
                   |--->SORT_ATLAS
                   +--->FIND_BUBLTR1
                        |
                        |--->FIND_BUBLES1
                        +--->FIND_TRIANGLES1
*Unmarked functions are from CVITMPPING module.

\end{verbatim}

\section*{References}

\begin{itemize}

\item{1.}
Ilyin V.A., Kryukov A.P., Rodionov A.Ya., Taranov A.Yu.
Fast algorithm for calculation of Diracs gamma-matrices
traces. SIGSAM Bull., 1989, v.23, no.4, pp.15-24.

\item{2.}
Kennedy A.D. Phys.Rev., 1982, D26, p.1936.
\end{itemize}

\section*{Keywords}

REDUCE, GAMMA-MATRIX,  TRACE, SPACE-TIME  DIMENSION, HIGH  ENERGY PHYSICS.

\end{document}