text:
\chapter{LFV ANALYSIS BACKGROUND ESTIMATION}

\section{Background estimates for $\Hmuhad$}

\subsection{Misidentified Leptons}

The misidentified lepton backgrounds are estimated with a fully data driven method using collision data. In $\Hmuhad$ channel, the misidentification $\tau$ and $\mu$ lepton rate is obtained from an independent Z + jets data sets and then applied to a control region that is orthogonal to the signal region to estimate the misidentified lepton backgrounds.  The control regions for the estimation and validation of the misidentified lepton background are shown in Table.~\ref{tab:fakeratediagram}. Region I is the signal region with full selection applied. Region III is the background enriched region, in which one or two leptons have loose isolation but not tight isolation. Region II is the same to Region I except that the $\mu$ and $\tau$ lepton pairs have the same electric charge. Similarly as Region IV to Region III. Region III is used to estimate the misidentified background in Region I. Region II and IV are used in the validation of the method.

\begin{table}[hbt!]
 \centering
 {
 \renewcommand{\arraystretch}{1.1}
 \caption{DEFINITION OF THE SAMPLES USED IN THE ESTIMATION OF THE MISIDENTIFIED LEPTON BACKGROUND}
  \label{tab:fakeratediagram}
  \begin{tabular}{c|c} \hline
\textbf{Region I}              &  \textbf{Region II}             \\ \hline
$\ell^{\pm}_{1}$(isolated)  &  $\ell^{\pm}_{1}$(isolated)             \\
$\ell^{\mp}_{2}$(isolated)  &  $\ell^{\pm}_{2}$(isolated)             \\

\hline \hline
\textbf{Region III}           &  \textbf{Region IV}             \\ \hline
$\ell^{\pm}_{1}$(isolated)  &  $\ell^{\pm}_{1}$(isolated)             \\
$\ell^{\mp}_{2}$(not-isolated )  &  $\ell^{\pm}_{2}$(not-isolated)             \\
\hline
  \end{tabular}
}
\end{table}

$Z\rightarrow\mu\mu$ is used in Z + jets collision dataset to estimate both misidentified $\tau$ and $\mu$ lepton rates. Z bosons are selected in the invariant mass window $70<M_{ll}<110$ GeV and the trigger that require isolated muons have $\pt>24$ GeV is used in the selection. Two muons that are composed of Z bosons are required to have $\pt>26$ GeV, $|\eta|<2.4$, cut based tight muon isolation($I^{\mu}_{rel}<0.15$) and passing the muon medium ID. In the Z+jets samples, with the selected Z boson in an event, the remaining jets are checked if they pass $\tau$ or $\mu$ selection.

To estimate the misidentified $\tau$ lepton rate, The jets in the sample Z + jets are checked if they pass the $\tau$ isolation ID. The ratio $f_{\tau}$ of tight isolated $\tau$ to very loose isolated $\tau$ is extracted first. Then the misidentified $\tau$ leptons rate ratio $\tau(f_{\tau})$ is calculated as in Equation .~\ref{eq:fakerate1}, in which $\ell$ stands for e, $\mu$ or $\tau$ and $N_{\ell}$ stands for the number of leptons. The misidentified leptons in the signal region are estimated with $\tau(f_{\tau})$ applied to the events in Region III which is defined in Table.~\ref{tab:fakeratediagram}, specifically, Region III is defined in the same selection condition as the signal region Region I , but  $\tau$ leptons are required to pass the very loose MVA isolation and not pass the tight MVA isolation.
\begin{align}
f_{\ell}&=\frac{N_{\ell}(Z+jets\ \ell \ tight\ Iso)}{N_{\tau}(Z+jets\ \ell \ loose\ Iso)} \label{eq:fakerate2}
\end{align}
\begin{align}
\ell(f_{\ell})&=\frac{f_{\ell}}{1-f_{\ell}} \label{eq:fakerate1}\\
\end{align}
The expected contribution from WW, WZ, ZZ samples are subtracted with simulation, in which the third lepton is genuine lepton. The misidentified $\tau$ lepton rate $\tau(f_{\tau})$ shows dependence on tau $\pt$, tau decay mode and spacial geometry $\eta$. Thus $\tau(f_{\tau})$ is applied in term of tau $\pt$, tau decay modes and ECAL barrel and endcap seperately. The distribution of $f_{\tau}$ is shown in Fig.~ \ref{fig:fakerationumber}, which shows a comparison of the estimated $f_{\tau}$ between data and simulated Z+jets samples. The distribution of $f_{\tau}$ on $\eta$ is also shown, which show less dependency.

\begin{figure}[htbp]
     \centering
     \subfigure[EB $\tau^{-}\to h^{-}\pi^{0} v_{\tau}$]{ \includegraphics[width=0.3\textwidth]{chapter6/t_DM0EB_tPt_fakeRate.pdf}}
      \subfigure[EB $\tau^{-}\to h^{-}\pi^{0} \pi^{0}  v_{\tau}$]{ \includegraphics[width=0.3\textwidth]{chapter6/t_DM1EB_tPt_fakeRate.pdf}}
      \subfigure[EB $\tau^{-}\to h^{-}h^{+}h^{-}v_{\tau}$]{ \includegraphics[width=0.3\textwidth]{chapter6/t_DM10EB_tPt_fakeRate.pdf}}
     \subfigure[EE $\tau^{-}\to h^{-}\pi^{0} v_{\tau}$]{ \includegraphics[width=0.3\textwidth]{chapter6/t_DM0EE_tPt_fakeRate.pdf}}
      \subfigure[EE $\tau^{-}\to h^{-}\pi^{0} \pi^{0}  v_{\tau}$]{ \includegraphics[width=0.3\textwidth]{chapter6/t_DM1EE_tPt_fakeRate.pdf}}
      \subfigure[EE $\tau^{-}\to h^{-}h^{+}h^{-}v_{\tau}$]{ \includegraphics[width=0.3\textwidth]{chapter6/t_DM10EE_tPt_fakeRate.pdf}}
       \subfigure[$\tau^{-}\to h^{-}\pi^{0} v_{\tau}$ vs $|\eta|$]{ \includegraphics[width=0.3\textwidth]{chapter6/t_DM0_abstEta_fakeRate.pdf}}
        \subfigure[$\tau^{-}\to h^{-}\pi^{0} \pi^{0}  v_{\tau}$ vs $|\eta|$]{ \includegraphics[width=0.3\textwidth]{chapter6/t_DM1_abstEta_fakeRate.pdf}}
         \subfigure[$\tau^{-}\to h^{-}h^{+}h^{-}v_{\tau}$ vs $|\eta|$]{ \includegraphics[width=0.3\textwidth]{chapter6/t_DM10_abstEta_fakeRate.pdf}}
     \caption{$f_{\tau}$ ratio for the $\tau$ fake rate calculation shows in term of tau decay modes, $\pt$, ECAL barrel, ECAL endcap, and $|\eta|$}
     \label{fig:fakerationumber}
\end{figure}

The estimation of the $\mu$ misidentified rate the is same as the $\tau$ misidentified rate, but checks if the jets in Z + jets samples pass the muon isolation. As in Equation.~\ref{eq:fakerate1}, $f_{\mu}$ is defined as the ratio between tight cut based muon isolation($I^{\mu}_{rel}<0.15$) and loose cut based muon isolation($I^{\mu}_{rel}<0.25$). The misidentified $\mu$ lepton rate $\mu(f_{\mu})$ is calculated by Equation.~\ref{eq:fakerate2}. $\mu(f_{\mu})$ is a weight to apply to Region III. In the case of estimating the misidentified $\mu$, Region III is defined as Regin I but with $\mu$ passing the loose cut based muon isolation and not passing tight cut based muon isolation. The ratio $f_{\mu}$ is shown in Figure.~\ref{fig:muonfakerationumber} in term of muon $\pt$ and $|\eta|$ distribution.

\begin{figure}[htbp]
     \centering
       \subfigure[$f_{\mu}$ vs $\pt$]{ \includegraphics[width=0.3\textwidth]{chapter6/m_fakerate_0p25_pt.pdf}}
        \subfigure[$f_{\mu}$ vs $|\eta|$]{ \includegraphics[width=0.3\textwidth]{chapter6/m_Loose_m3Etaabs_fakeRate}}
     \caption{$f_{\tau}$ ratio for the $\mu$ fake rate calculation shows in term of muon $\pt$ and $|\eta|$.}
     \label{fig:muonfakerationumber}
\end{figure}

There is double-counting between the estimated misidentified muon and tau lepton when both of the leptons are fake ones. The double-counting events are estimated as in Equation.~\ref{eq:fakerateoverlep}. In the equation, the N(Region III) stands for the events in Region III. In this case, Region III is defined as muon leptons passing the lose isolation, but not passing the tight isolation, while tau leptons pass the very loose isolation but not pass the tight isolation. The final misidentified lepton background obtained by adding the misidentified muon and tau background and deducts the double-counting events between these two.

\begin{align}
N(\text{double-counting})=\frac{f_{\tau}\cdot f_{\tau}}{(1-f_{\tau})\cdot (1-f_{\mu})}\cdot N(\text{Region\ III}) \\\label{eq:fakerateoverlep}
\end{align}

In $\Hmuhad$ channel, the validation of the misidentified lepton background with a fully data driven method is performed in a like-sign sample and also a W+jets enriched control region. The like-sign sample validation requires the events pass the loose selection, the same as the signal region, but with inverted charge. The misidentified background is enriched by the requirement of inverting charge. In the W+jets enriched control region, events that pass the loose selection are further selected with  $M_T(\tau)>60$ GeV and $M_T(\mu)>80$ GeV.  In both of the control regions, the misidentified background is the dominant one, as shown in Fig.~\ref{fig:fakebackgroundValidation}. Applying the $\tau(f_{\tau})$ as weight, the like-sign and W+jets control regions show good data and MC agreement with the fully data driven method, .

\begin{figure}[htbp]
     \centering
     \subfigure[Wjets enriched control region]{ \includegraphics[width=0.4\textwidth]{chapter6/Wjets_Enriched_mutau_had01jet.pdf}}
     \subfigure[Like-sign control region]{ \includegraphics[width=0.4\textwidth]{chapter6/LikeSig_CR_presel_mutauh.pdf}}
     \caption[Validation plots of fully data driven method]{The validation of the fully data driven method for the misidentified lepton background. The uncertainties in the distributions include both statistics and systematics uncertainties.}
     \label{fig:fakebackgroundValidation}
\end{figure}

\subsection{Other backgrounds}
The decays of $Z \to \tau\tau$ and $Z \to \mu\mu$ are also major backgrounds in this channel. In $Z \to \tau\tau$, the muons arise from a tau lepton decay, while in $Z \to \mu\mu$, one of the muon can be misidentified as a tau. In other smaller backgrounds, the $\mu\tau$ pairs can be produced from the weak decays of quarks and vector bosons. These smaller backgrounds include standard model Higgs production($H \to \tau\tau, WW$),$t\bar{t}$ ,single top quark, di-boson(WW,WZ,ZZ). A full list of background used is in the Table.~\ref{tab:mcsamples}.  These backgrounds are all estimated with Monte Carlo simulation and normalized to the cross-section of collision dataset.

In the $Z \to \mu\mu$  background, an additional scale factor is applied to the tau leptons that do not come from real taus. This is checked in the Monte Carlo generator level. The scale factor is applied in term of $|\eta|$ as shown in Table.~\ref{tb:MFTcorrection}.

\begin{table}[htp]
\caption{SCALE FACTOR TO THE EVENTS IN WHICH A MUON IS MISIDENTIFIED AS A TAU} \label{tb:MFTcorrection}
\begin{center}
\begin{tabular}{|c|c|c|c|}
\hline
$|\eta|$ ranges             & Correction values \\\hline
0-0.4                             & 1.263                   \\
0.4-0.8                          & 1.364           \\
0.8-1.2                          & 0.854        \\
1.2-1.7                          & 1.712  \\
1.7-2.3                          & 2.324                                  \\\hline
 \end{tabular}
\end{center}
\end{table}

\section{Background estimates for $\Hehad$}

\subsection{Misidentified Leptons}

The misidentified lepton background is significant in  the $\Hehad$ channel. This background arises mainly from W+jets and QCD multijets. The events may have one or both leptons are misidentified. The $\Hehad$ channel in the analysis performed on the 8 TeV dataset, both misidentified electron and tau leptons are estimated.

Similar to $\Hmuhad$ channel, the misidentified background in $\Hehad$ is estimated with a fully data driven method, with independent collision dataset of Z+jets, in which the Z boson decays into two electrons.  Data sets are divided into four control regions for this estimation as in Table.~\ref{tab:fakeratediagram}. Region II is used to extract the misidentified background in signal region, Region I, while Region II and Region IV are used for the validation of the fake rate. In the Z+jets data set selection, a trigger that selects electron with $\pt>27$ GeV is used. The two electrons in Z+jets are required to have $\pt>30$ GeV, $|\eta|<2.3$, tight electron MVA ID and cut based tight PF isolation($I^{e}_{rel}<0.1$). The invariant mass formed by the two electrons are required to be in the Z boson mass window($70~GeV<M_{ee}<110~GeV$). Then the jets in the events are checked if they pass $\tau$ or e selection. Tau leptons should have $\pt>30$ GeV, $|\eta|<2.3$, passing the tau decay mode finder and discriminator against electrons and muons. Electrons pass the same conditions as the elections used in forming the Z boson mass peak, but with different isolation requirements. Tau leptons use the cut based tight or loose isolation, while loose or tight MVA based electron isolation have the value $I^{e}_{rel}<0.1$ and $I^{e}_{rel}<0.2$ respectively. After the selection, the fake ratio $f_{\tau}$ is defined as the number of tau leptons passing the tight isolation divided the number of tau leptons passing the loose isolation. Similarly the fake ratio $f_{e}$ is defined as the number of elections passing the loose isolation divided by the number of electron passing the tight isolation as shown in Equation.~\ref{eq:fakerate2}. With the fake ratio $f_{\tau}$ and  $f_{e}$, the electron and tau fake rate $\tau(f_{\tau})$ and $e(f_{e})$ are estimated according to Equation.~\ref{eq:fakerate1}. The fake ratio for tau leptons and electrons are shown in Figure.~\ref{fig:fakerationumberetau}.

\begin{figure}[htbp]
     \centering
     \subfigure[$f_{\tau}$ vs $\pt$]{ \includegraphics[width=0.4\textwidth]{chapter6/tauFakerateComparison_Pt.pdf}}
      \subfigure[$f_{\tau}$ vs $|\eta|$]{ \includegraphics[width=0.4\textwidth]{chapter6/tauFakerateComparison_Eta.pdf}}
      \subfigure[$f_{e}$ vs $\pt$]{ \includegraphics[width=0.4\textwidth]{chapter6/eFakerateComparison_Pt.pdf}}
     \subfigure[$f_{e}$ vs $|\eta|$]{ \includegraphics[width=0.4\textwidth]{chapter6/eFakerateComparison_Eta.pdf}}
     \caption{$f_{\tau}$ and  $f_{\tau}$ ratio for the mididentification calculation shows in term of  $\pt$ and $|\eta|$}
     \label{fig:fakerationumberetau}
\end{figure}

The tau and electron fake ratio is applied as a function of $\eta$. The background of three prompt leptons from WW, WZ, ZZ processes  are deducted with Monte Carlo simulations. The tau and electron misidentified backgrounds are estimated separately, the double-counting events in which both leptons are misidentified objects are estimated with Equation.~\ref{eq:fakerateoverlep}. In the equation, N(Region III) in $\Hehad$ channel satisfies the condition that both leptons are loose isolated but not tight isolated.  The validation of the fully data driven method is done with Region II and Region IV. The distribution of the $M_{col}$ is checked in the same sign region of the two leptons, shown in Figure.~\ref{fig:etaufakebackgroundValidationSS}. The observed data agrees well with the events from MC and misidentified background from data driven method.

\begin{figure}[!tbp]
\centering
\includegraphics[width=0.4\textwidth]{chapter6/etausamesign.pdf}
\caption{Data driven method validation in Region II with e and $\tau$ leptons in same sign of charge}
\label{fig:etaufakebackgroundValidationSS}
\end{figure}

\subsection{$Z \to \tau \tau$}
$Z \to \tau \tau$ is another significant background in the $\Hehad$ channel. In the case one of the tau leptons decay to a electron and the other hadronically decay. The background is estimated with an embedding technique\cite{Chatrchyan:2014nva}, which starts by selecting the $Z \to \mu\mu$ events from collision data. The muons pass loose muon selection and then are replaced by simulated $\tau$ leptons and reconstructed with PF algorithm. The key advantage of this technique is that the major topologies like missing energy, jet multiplicity, underlying events are directly modelled from data. Compared with the MC prediction, the visible mass peak from the modeling of the embedding sample shifts 2\%. This is due to the difference in the final-state radiation of photons from the muon and tau. Identification and isolation correction for this shift to embedded sample are obtained by comparing with Monte Carlo simulations.

\subsection{Other backgrounds}
The production of $t\bar{t}$ pairs is also a background. The leptonic decay W bosons can produce opposite sign lepton pair and missing energy. The shape of this background is obtained from simulation samples and normalized to $t\bar{t}$ control region sample. The control region is defined as the 2-jet selections in this channel but with additional requirement that at least one of the jets is b-tagged. The events in  $t\bar{t}$ control samples are required to pass the 2-jet base selection in $\Hehad$ channel and at lease one the jets is identified as a b jet.

The other backgrounds presented in the samples are Z+jets in which one of the electrons is misidentified as a $\tau$ lepton. Di-boson(WW,WZ,ZZ) events, single Top, SM Higgs boson production($H \to \tau \tau$)  and W$\gamma^{(\star)}$. These backgrounds are all estimated from Monte Carlo simulation.

max_stars_repo_name: fanbomeng/Thesis

max_issues_repo_name: fanbomeng/Thesis

max_forks_repo_name: fanbomeng/Thesis


text:
\documentclass{article}
\usepackage{fullpage}
\usepackage{nopageno}
\usepackage{amsmath}
\usepackage{amssymb}
\allowdisplaybreaks

\newcommand{\abs}[1]{\left\lvert #1 \right\rvert}

\begin{document}
\title{Notes}
\date{March 10, 2014}
\maketitle
\section*{lesson 13}
$U(x,s)=\frac{u_0}{s}-\frac{u_0}{s(\sqrt{s}+1}e^{-x\sqrt{s}}\to u(x,t)=u_0\left[1-(\text{erfc}(\frac{x}{2\sqrt{t}})-\text{erfc}(\sqrt{t}+\frac{x}{2\sqrt{t}})e^{x+t}\right]$

mixup, he wrote $\frac{u_0}{s}-\frac{u_0\sqrt{s}}{s(\sqrt{s}+1)}e^{-\sqrt{s}x}$ but want $F(s)=\frac{1}{s(\sqrt{s}+1)}e^{-a\sqrt{s}}\to f(t)=?$ and then $F(\frac{s}{a^2})=\frac{a^3}{s(\sqrt{s}+a)}e^{-\sqrt{s}}\to a^2f(a^2t)$ concentrate on $G(s)=\frac{e^{-s}}{s(\sqrt{s}+a)}=\frac{(\sqrt{s}-a)e^{-\sqrt{s}}}{s(s-a^2)}$ and then $(s-a^2)G(s)=\frac{1}{\sqrt{s}}e^{-\sqrt{s}}-\frac{a}{s}e^{-\sqrt{s}}$ step 3 solve $a'(t)-a^2g(t)=\dots$

\section*{number 19 from handout}
\begin{align*}
  f(t)&=\text{erfc}\left(\frac{a}{2\sqrt{t}}\right)
\end{align*}
in process of inverting (notes from 2 lectures back) $F(s)=e^{-\sqrt{s}}$ we obtained a DE for $f(t)$.
\begin{align*}
  f(t)&=c_1t^{-3/2}e^{-\frac{1}{4t}}\\
  \lim\limits_{s\to\infty}se^{-\sqrt{s}}&=f(0)\\
  \lim\limits_{s\to0^+}e^{-\sqrt{s}}&=1=\int_0^\infty{f(t)\,\mathrm{d}t}\\
  \int_0^\infty{f(t)\,\mathrm{d}t}&=c\int_0^\infty{t^{-3/2}e^{-\frac{1}{4t}}\,\mathrm{d}t}=1\\
  \Gamma(x)&=\int_0^\infty{e^{-t}t^{x-1},\mathrm{d}t}\\
  u&=\frac{1}{4t}\\
  t&=\frac{1}{4u}\\
  \mathrm{d}t&=-\frac{1}{4u^2}\mathrm{d}u\\
  \int_0^\infty{f(t)\,\mathrm{d}t}&=c\int_0^\infty{4u^{3/2}e^{-u}\frac{-1}{4u^2}\,\mathrm{d}t}\\
  1&=c\int_0^\infty{e^{-u}u^{-1/2}4^{1/2}\,\mathrm{d}u}\\
  &=2c\int_0^\infty{e^{-u}u^{-1/2}\,\mathrm{d}u}=2c\Gamma\left(\frac{1}{2}\right)\\
  c&=\frac{1}{2\Gamma(1/2)}=\frac{1}{2\sqrt{\pi}}\\
  F(s)&=e^{-\sqrt{s}}\to f(t)\\
  F'(s)&=-\frac{1}{2\sqrt{s}}e^{-\sqrt{s}}\to -tf(t)\\
  &\frac{1}{\sqrt{s}}\to 2tf(t)=2t\frac{1}{2\sqrt{\pi}}t^{-3/2}e^{-\frac{1}{rt}}\\
  e^{-\sqrt{s}}&\to\frac{1}{2\sqrt{\pi}}t^{-3/2}e^{-1/(4t)}\\
  \frac{1}{\sqrt{s}}&\to\frac{1}{\sqrt{\pi}}t^{-1/2}e^{-1/(4t)}\\
  F(s)&\to f(t)\\
  \frac{1}{s}F(s)&\to\int_0^t{f(u)\,\mathrm{d}u}\\
  \frac{1}{s}e^{-\sqrt{s}}&\to \frac{1}{2\sqrt{gp}}\int_{n=0}^{u=t}{e^{-1/(4u)}u^{-3/2}\,\mathrm{d}u}\\
  \vdots\\
  g'(t)-a^2g(t)&=\frac{1}{\sqrt{\pi t}}e^{1/(4t)}-a\cdot\text{erfc}\left(\frac{1}{2\sqrt{t}}\right)
  \intertext{multiply by $e^{-a^2t}$ which is integrating factor}
  \frac{\mathrm{d}}{\mathrm{d}t}\left(e^{-a^t}\right)&=
\end{align*}

\end{document}

ext: tex

max_stars_repo_name: ylixir/school

max_issues_repo_name: ylixir/school

max_forks_repo_name: ylixir/school


text:
\documentclass[a4paper,11pt]{article}

\usepackage[utf8]{inputenc}
\usepackage[british]{babel}
\usepackage{csquotes}
\usepackage[style=apa]{biblatex}
\usepackage{graphicx}
\usepackage{float}
\usepackage{algpseudocode}

\def\code#1{\texttt{#1}}

\bibliography{report}

\graphicspath{{images/}}

\title{FIT3036 --- Final Report}
\author{Dylan Pinn \\ 24160547 \\ dcpin3@student.monash.edu}
\date{2018, May}

\begin{document}
\maketitle
\vspace{-2ex}
\begin{center}
  % This can be calculated using texcount -sum report.tex
  Word Count: 3030
\end{center}

\begin{abstract}
  Using Google Maps or similar calculate the surface area of the roads within
  any given square kilometre. Plan, develop and test the implementation that
  will perform these calculations and display them to the user.

  Using open source road data provided by OpenStreetMap we calculate the total
  surface area of the roads within a user requested area. Unit tests help ensure
  the correctness of the data.
\end{abstract}

\pagebreak

\tableofcontents
\pagebreak

\section{Introduction}

This report outlines the steps we undertook to plan, implement, test and
deliver the FIT3036 Computer Science project. We have been tasked to calculate
the total surface area of all of the roads within any given 1 square kilometre
space. This tracks the two applications that were created to meet this task.
The frontend application which allows the user to interact with the program
in an easy to use way. The backend application takes input from the frontend
application and returns the required data. We follow the software development
life-cycles for planning, implementing, testing and deployment of the system.
This helps ensure that the project meets all of the requirements, is tested and
delivered on time.

\subsection{Project Objectives}

Our company secured a contract for a local council in Victoria to resurface
roads in a designated square kilometre area. The objectives are to design,
implement, test and deliver a system that will perform these calculations and
display the result to the user.

\subsection{Requirements}

We are to use Google Maps and related products and any satellite/aerial views.
The project involves writing the related code, with an elegant GUI to support
calculations. \autocite[2]{intro:1}

\subsection{Constraints}

We have the following constrains on the project:

\begin{itemize}
  \item Only have access to publicly available data.
  \item Limited to available information online.
  \item No/Limited access to council records.
  \item The project must be finalised by the end of week 12.
\end{itemize}

\section{Background}

The following section introduces the background information of the project,
including project risks, resource requirements and the tasks required to
complete the project and how they were managed.

\subsection{Project Info}

Throughout the project we have been aware of the risks involved. This allows us
to handle them when they do occur and have risk reduction strategies to mitigate
them.

\subsubsection{Project Risks}

We have identified the main project risks and their probability.

\begin{itemize}
  \item Cannot find appropriate road data for calculations. (Medium)
  \item Cannot access data from the OpenStreetMap API.\@ (Low)
  \item Google Maps API offline. (Low)
  \item Problems with infrastructure. (Low)
  \item Completing the project on-time. (Medium)
\end{itemize}

\subsubsection{Risk Reduction Strategies}

Using the following risk reduction strategies we have been able to reduce these
risks and lower their probability.

\begin{itemize}
  \item Research sources for street data from various sources.
    \begin{itemize}
      \item Google Maps did not provide enough data to be useful.
      \item OpenStreetMap provided the required data and an API to access it.
    \end{itemize}
  \item Planning out the project; breaking it up into small components that can
    be worked on sequentially in a short period of time.
\end{itemize}

\subsubsection{Risks Encountered}

The following issues arose throughout the project.

\begin{itemize}
  \item Finding data sources
  \item Finding time to complete the project while working full time and
    completing assessments for other subjects.
\end{itemize}

\subsection{Resource Requirements}

The following hardware and software make up the resources that are required to
complete the project.

\subsubsection{Hardware}

We have decided to use as much Software as a Service (SaaS), Platform as a
Service (PaaS) and Infrastructure as a Service (IaaS) solutions to keep costs
down. \autocite[4]{project-spec:2}

\paragraph{Backend}

To host the backend API, Amazon Web Services (AWS) has been chosen due to its
comprehensive free tier and prior experience with the platform. Integration with
the platform is handled by the Serverless framework \autocite{serverless:3}. The
following AWS services have been used:

\begin{itemize}
  \item AWS Lambda
    \begin{itemize}
      \item Functions as a Service (FaaS).
      \item Allows running backend code without maintaining server
        infrastructure \autocite{aws:4}.
    \end{itemize}
  \item AWS API Gateway --- Allows creating public API endpoints for Lambda
    functions \autocite{aws:5}
\end{itemize}

\paragraph{Frontend}

To host the frontend application, we have chosen Netlify \autocite{netlify:6},
it provides free services to open source projects. This includes a CDN, static
file hosting and automatic deployments from CI/CD providers.

\paragraph{Other Services}

To follow devops best practices we are automating the running of our tests
and deployments. This is managed through the Travis CI service. They were
chosen because they also offer free services for open source projects
\autocite{trci:7}.

\subsubsection{Software}

The following software was chosen to aid in the development of the project.

\paragraph{Backend}

The backend API was developed using the Go programming language
\autocite{go:8}, this was chosen because of its speed, as it is a compiled
language \autocite{plural:9}. This will allow it to parse and manipulate large
amounts of data quickly.

\paragraph{Frontend}

The frontend application was created using React, a frontend JavaScript
framework created by Facebook \autocite{react:10}. This was chosen as it
allows us to easily create user interfaces that are testable.

\paragraph{Documentation}

The documentation is written in \LaTeX, this was chosen for several reasons.

\begin{itemize}
  \item We don't have to worry about the typesetting of the document. \LaTeX{}
    takes care of all of the formatting.
  \item Includes a bibliography package BibTex.
  \item Allows all of the documentation to be version controlled.
\end{itemize}

\subsection{Tasks}

The following tasks were planned and executed to complete the project:

\begin{itemize}
  \item Project Specification
  \item Project
    \begin{itemize}
      \item Backend API
      \item Frontend Application
    \end{itemize}
  \item Presentation
  \item Test Plan
  \item Workbook
  \item Final Report
\end{itemize}

We created a Gantt Chart, as seen in figure~\ref{fig:gantt}, from our Trello
board \autocite{trel:19} using TeamGantt. This allows working back from the
due date to meet deadlines. This was helpful for the large tasks of the project.

\begin{figure}[H]
  \includegraphics[width=\textwidth]{gantt-chart}
  \caption{Gantt chart}\label{fig:gantt}
\end{figure}

We also utilised Waffle \autocite{waf:20}, which connects to the multiple GitHub
repositories that hosted the code for the frontend, backend and documentation.
This allowed breaking down the large tasks into smaller ones that could be
tackled individually, this can be seen in figure~\ref{fig:waffle}.

\begin{figure}[H]
  \includegraphics[width=\textwidth]{waffle-io}
  \caption{Waffle Board}\label{fig:waffle}
\end{figure}

\section{Method}

Here we analyse the internal design, software architecture and algorithms of
the application.

\subsection{Methods Overview}

Here we give an overview to the main methods of the system and how they work
across both applications as a whole.

\subsubsection{Calculate Area}

This is how the area of the square that is overlaid on the map is calculated
through the system.

\begin{itemize}
  \item The user uses the map controls in the frontend application to refine
    the desired area to calculate the surface area of the roads.
  \item The coordinates of the square is passed via a HTTP POST request to
    the backend API.\@
  \item These coordinates are used to calculate the area of the square.
  \item This is done by calculating the distance between between the
    north/south coordinates and the east/west coordinates.
  \item This is then multiplied together to return the area.
  \item This result is displayed for the user in the user interface.
\end{itemize}

\subsubsection{Calculate Surface Area of Roads}

This is the overview of how the system works to calculate the road surface area
of an area.

\begin{itemize}
  \item Once the user is satisfied with the area and clicks the ``Calculate
    Area'' button it performs a HTTP POST request to the backend API.\@
  \item The coordinates of the rectangle are sent in the POST body as JSON.\@
  \item These coordinates are used by the backend API to generate a query to
    send to OpenStreetMap via their OverPass API.\@
  \item This returns all of the road information contained within the rectangle
    bounds.
  \item The roads are then looped over, calculating the distance between each of
    the nodes of the road. Once the distance is calculated it uses the lane
    information if provided otherwise assumes that the road contains 2 lanes.
  \item The distance is multiplied by the number of lanes and the width of a
    lane, 3.5m the default lane width within Australia \autocite{lane:11}.
\end{itemize}

\subsection{Internal Design}

The two main functions of the system are to calculate the total surface area
of the selected area and to calculate the surface area of the roads within the
same area.

\paragraph{Calculate Area of a Rectangle}

These steps below are outlined in figure~\ref{fig:seq-total-area}

\begin{itemize}
  \item User moves the map, adjusts zoom level or changes input.
  \item The bounds of the rectangle are send to the backend service.
  \item This calculates the total area of the bounds.
  \item This is returned to the user.
\end{itemize}

\begin{figure}[H]
  \includegraphics[width=\textwidth]{sequence-diagram-calculate-total-surface-area}
  \caption{Sequence Diagram --- Calculate Total Surface
  Area}\label{fig:seq-total-area}
\end{figure}

\paragraph{Calculate Surface Area of Roads}

These steps are outlined in figure~\ref{fig:seq-total-area-roads}

\begin{itemize}
  \item User requests to calculate total surface area of roads.
  \item These parameters are sent to the backend service.
  \item These parameters are used to call OpenStreetMap API.\@
  \item It then iterates over the returned data and calculates the distance of
    all of the roads.
  \item If any of the points of the data are outside the bounds of the rectangle
    they are ignored.
  \item The area of the roads is then calculated with the lane width.
  \item These results are summed.
  \item This is returned to the user.
\end{itemize}

\begin{figure}[H]
  \includegraphics[width=\textwidth]{sequence-diagram-calculate-total-surface-area-of-roads}
  \caption{Sequence Diagram --- Calculate Total Surface Area of
  Roads}\label{fig:seq-total-area-roads}
\end{figure}

\subsection{Software Architecture}

Figure~\ref{fig:class-diagram} shows the architecture of the backend
application. It is broken up into 4 main classes, which calculate area, sum
data, calculate distance and calculate the area of the roads.

\begin{figure}[H]
  \includegraphics[width=\textwidth]{class-diagram}
  \caption{Class Diagram}\label{fig:class-diagram}
\end{figure}

\subsection{Algorithms}

We have included the pseudocode algorithms of the two main functions of the
application. How to calculate the area of the bounded rectangle and how to
calculate the total surface area of the roads within the bounds.

\subsubsection{Calculate Area of Bounds}

\begin{samepage}
\begin{algorithmic}
  \Function{CalculateArea}{rect}
    \State{} vertical distance $\gets$ \Call{CalculateDistance}{verticalPoints}
    \State{} horizontal distance $\gets$
    \Call{CalculateDistance}{horizontalPoints}
    \State{} area $\gets$ vertical * horizontal distances
    \State{} \Return{area}
  \EndFunction{}
\end{algorithmic}
\end{samepage}

\subsubsection{Calculate Total Surface Area of Roads within Bounds}

\begin{samepage}
\begin{algorithmic}
  \Function{CalculateRoadSurfaceArea}{rect}
    \State{} query $\gets$ \Call{buildQuery}{rect}
    \State{} result $\gets$ \Call{OverPassAPI}{query}
    \State{} total $\gets 0$
    \For{roads in result}
      \State{} lanes $\gets$ \Call{GetNoOfLanes}{road}
      \State{} roadDistance $\gets 0$
      \For{nodes in road}
        \State{} roadDistance += \Call{CalculateDistance}{node1, node2}
      \EndFor{}
      \State{} total += roadDistance * lanes * LANE\_WIDTH
    \EndFor{}
    \State{} \Return{area}
  \EndFunction{}
\end{algorithmic}
\end{samepage}

\section{Results}

Here we discuss the results of the project. From the initial research through to
the completion of the project.

The Program has 2 main outputs:

\begin{itemize}
  \item Area of the bounds.
  \item Total surface area of the road between the bounds.
\end{itemize}

The bounds is the rectangle area comprising of a set of coordinates; North,
South, East and West.

Finding reliable data to test against is hard. Writing unit tests allow testing
smaller parts of the application in isolation. This helps give confidence to the
accuracy of the application.

OpenStreetMap API returns data from outside the requested bounds. As the data
points can start within the bounds and finish outside it is excluded. This
reduces the accuracy.

Lane information isn't always included in the OpenStreetMap API so assumptions
are made about the default number of lanes. We have chose a safe default that if
no lane information is provided then the road is 2 lanes wide.

Using a default lane width of 3.5m, also reduces the accuracy. If we can find a
dataset that contains the lane width of each road with the vector data this
would help improve the accuracy of the program.

In the initial research, we couldn't find any other implementations/research
that did these calculations using vector data. Because of this the methodology
of the application was implemented through trial and error.

We created throwaway spikes to test implementation of the backend API.\@ This
included querying a small set of data and performing the calculations on it.
This helped to fine-tune and improve the accuracy of the algorithms used.

\subsection{Externally Observable Features}

The inputs and outputs of the system make up the externally observable
features.

\subsubsection{Input}

\begin{itemize}
  \item User can manipulate the Google Map component using either touch or
    mouse.
  \item User can input coordinates for the Map to centre on this position by
    using the latitude and longitude number inputs.
\end{itemize}

\subsubsection{Output}

\begin{itemize}
  \item The area in km\textsuperscript{2} of the requested area is displayed to
    the user.
  \item This is a hard-coded square of size 1km\textsuperscript{2}.
  \item The user then can request the total surface area of the roads within
    this area.
  \item This result is presented to the user in the frontend interface.
\end{itemize}

\subsection{Performance}

The backend API is hosted on AWS Lambda, this restricts the amount of time the
functions and run for and the amount of space that they can occupy.

The current restrictions are controlled in AWS, the settings are:

\begin{itemize}
  \item 1024 MB of memory.
  \item 6 seconds to run function before timing out.
\end{itemize}

\subsubsection{Area Function}

\begin{itemize}
  \item Average Invocation Time --- 3ms
  \item Average Memory Usage --- 30MB
\end{itemize}

\subsubsection{Road Surface Function}

\begin{itemize}
  \item Average Invocation Time --- 1800ms
  \item Average Memory Usage --- 28MB
\end{itemize}

\section{Analysis \& Discussion}

Here we analyse and discuss the results form the previous section.

The results show that even though there are concerns about the accuracy of the
results, we were able to meet the requirements.

The performance results highlight that choosing the Go programming language
for the backend API, allows it to perform above expectations in regards to
time and memory restrictions.

Even though finding good test data has been hard writing good unit tests gives
confidence to the results, as each part is has been broken down into small
functions and tested in isolation.

Unfortunately, we were unable to find a nice way for OpenStreetMaps to only
return data inside the requested bounds. We have chosen to remove the data
points that are outside these bounds, however, this will lead to an
underestimation of the area. Including these would lead to an over estimation.

If we could find a dataset with lane width information, or the council exposed
such data, this would greatly improve the accuracy of the application.

\section{Future Work}

We have found the following future work which would help to expand and improve
upon this application.

\paragraph{System Tests} We include unit tests for both the frontend and backend
applications, but no system tests. Including tests that test the whole
application as a whole, frontend and backend, will increase the confidence in
the application and will help catch regressions and issues that could occur
between the two applications.

\paragraph{Address Search} Allowing the user to search for areas using the
Google Maps Places API.\@ This will help refine and search for areas without
having to manually move the map around or know and enter the latitude and
longitude coordinates.

\paragraph{Polygon} Allowing the user to draw the area to perform the
calculations would help, as more than likely the end user wants to perform
calculations for areas that are not perfect squares. Google Maps provides a
Polygon API which would help with the implementation of this. Implementing this
would require a substantial change to the backend APIs to allow for bounds to be
a polygon and not a rectangle.

\paragraph{List Roads with Individual Areas} This would aid the user to
understand what the total surface area is composed off. Including a list of the
roads and their individual surface areas would not be a large change as all of
this data is present from the OpenStreetMap API.\@ We just need to return it
with the Road Surface Area API call and display it on the frontend for the user.

\paragraph{Save \& Restore Maps} Allowing the user to save maps and access them
later, would be important functionality if this was to be released. This would
allow users to perform multiple calculations and then at a later time restore
them to compare.

\paragraph{Share Maps} Allowing users to share maps with other users would be a
likely must requested requirement as users would need to be able to perform
calculations and then send these to other users to review.

\section{Conclusion}

We have shown that even though there are concerns about the accuracy of the
results, by ensuring that we have well tested and planned applications we can
meet the requirements and deliver a project that allows a user to calculate the
surface area of all of the roads within any given 1 square kilometre area.

\section{Bibliography}

\printbibliography{}

\section{Appendices}

\subsection{Production \& Deployment}

\subsubsection{Frontend Application}

The code for this application is hosted in a GitHub repository
\autocite{github:13}.

\paragraph{Local Setup}

Requirements for running the application locally are:

\begin{itemize}
  \item NodeJS version $\geq 6$.
  \item Yarn package manager.
\end{itemize}

\noindent{}
Installation Steps:

\begin{itemize}
  \item \code{yarn install} --- This installs the required dependencies.
\end{itemize}

\noindent{}
Run Locally:

\begin{itemize}
  \item \code{yarn start} --- Starts local WebPack server.
  \item Open localhost port 3000.
\end{itemize}

\paragraph{Deployment}

The \code{master} branch is automatically deployed using Netlify.

\subsubsection{Backend Application}

The code for this application is hosted in a GitHub repository
\autocite{github:14}.

\paragraph{Local Setup}

Requirements for running the application locally are:

\begin{itemize}
  \item Go programming language version 1.10 or higher \autocite{go:8}.
  \item Dep --- Go dependency management tool \autocite{dep:12}.
\end{itemize}

\noindent{}
Installation steps:

\begin{itemize}
  \item \code{dep ensure -v} --- This installs the required dependencies.
\end{itemize}

\noindent{}
Run Locally:

\begin{itemize}
  \item \code{go run local/main.go} --- This starts a local server running on
    localhost port 8080.
  \item When running the application locally it is expecting that the local copy
    of the API server is also running.
\end{itemize}

\paragraph{Deployment}

Requirements for deploying the application to production include the development
dependencies plus:

\begin{itemize}
  \item GNU Make \autocite{gnu:15}
  \item NodeJS version $\geq 6$ \autocite{node:16}
  \item Yarn package manager \autocite{yarn:17}
  \item AWS CLI \autocite{aws:18} --- API Keys need to be configured.
\end{itemize}

\noindent{}
Installation steps:

\begin{itemize}
  \item \code{yarn install} --- This installs the serverless framework required
    to deploy the application.
\end{itemize}

\noindent{}
Deploy:

\begin{itemize}
  \item \code{make deploy} --- This builds and deploys the application.
\end{itemize}

\subsection{GUI Features}

The graphical user interface has the following features:

\begin{itemize}
  \item Google Map iFrame that mirrors the functionality found on the Google
    Maps website.
  \item Latitude \& Longitude number inputs. These manually move the centre of the map
    to the desired coordinate.
  \item ``Calculate Area'' button that performs a HTTP POST request to one of the
    backend services.
  \item Can either use the map controls or the input to control the map.
  \item The centre square is automatically drawn at a 1km \textsuperscript{2}
    area around the centre of  the map.
\end{itemize}

\subsection{User Interface}

\begin{figure}[H]
  \includegraphics[width=\textwidth]{ui}
  \caption{User Interface}\label{fig:ui}
\end{figure}

Figure~\ref{fig:ui} shows the frontend applications user interface. The Map
component on the left-hand side is controlled via the Google Maps API.\@ The
square in the centre of the map is automatically generated whenever the map is
moved or adjusted.

The input controls on the right-hand side allow the user to input their desired
longitude and latitude, and the map will update accordingly.

The Total Area of the square is shown underneath these inputs.

The user can calculate the surface area of the roads within the area by clicking
the ``Calculate Area'' button. The result for this this shown underneath it.

\subsection{Internal Testing}

Both frontend and backend applications contain unit tests that can be run to
ensure the correctness of them.

\subsubsection{Frontend Tests}

To run tests for the frontend application, run the following command while in
the root directory of the application:

\begin{itemize}
  \item \code{yarn test}
  \item This starts the test runner. Entering \code{a} will run all of the tests
    in the suite.
\end{itemize}

\subsubsection{Backend Tests}

To run tests for the backend application, when in the root directory of the
project run the following command:

\begin{itemize}
  \item \code{go test ./...}
\end{itemize}

\end{document}


text:
\section{Where to find Rarita-Schwinger Fermions}
\begin{frame}
	\frametitle{$\symbf{\Delta}$ Baryon Resonances}
	Should be described by Rarita-Schwinger fields in effective theories.
	\begin{itemize}
		\item Inconsistencies are either ignored\footnote{\fullcite{Pascalutsa}} and pertubation theory is carried on
		\item Or fixed with \enquote{ad-hoc} solutions
		\item describe with the $(\sfrac{3}{2}, 0)\oplus(0, \sfrac{3}{2})$ representation, which does not suffer from superluminal travel, but also requires
			some \enquote{ad-hoc} fixes \footnote{\fullcite{pure}}
	\end{itemize}
\end{frame}
\begin{frame}
	\frametitle{Supergravity}
	Quick summary from someone who is new to supersymmetry/supergravity\footnotemark[1]:
	\footnotetext[1]{Here is the way down the rabbithole: \fullcite{weinberg2005quantum}}\\
	Each known boson is in a multiplet with a partner fermion and vice versa. Their spin can only differ by half an integer.
	\pause
	\begin{itemize}
		\item Gauge-Boson of gravity is the spin-2 graviton
		\item Its superpartner is the spin-$\sfrac{3}{2}$ gravitino
		\item It is massless in unbroken theory, gains mass similar to the Higgs-Mechanism by eating up the goldstino
		\item No Velo-Zwanziger problems
	\end{itemize}
\end{frame}
\begin{frame}

	\centering
	\alert{Thanks for listening! Any Questions?}

\end{frame}

max_stars_repo_name: The-Ludwig/Rarita-Schwinger-Talk

max_issues_repo_name: The-Ludwig/Rarita-Schwinger-Talk

max_forks_repo_name: The-Ludwig/Rarita-Schwinger-Talk


text:
\documentclass{article}
\usepackage{color}
\usepackage[nonumber,index,contents]{cuisine}
\usepackage[letterpaper,margin=1in]{geometry}
\usepackage{hyperref}
\usepackage{soul}
\usepackage{url}

\setcounter{secnumdepth}{0}

\begin{document}

\RecipeWidths{\textwidth}{0.5\textwidth}{1.0cm}{1.5cm}{1.5cm}{3.0cm}
\renewcommand*{\recipetitlefont}{\large\bfseries}

\tableofcontents

\section{Appetizers \& Hors d'oeuvres}

\begin{recipe}{Bruschetta}{Danielle Worthy --- October 2005}{25 Minutes; 12 Servings}
   \newstep
   Preheat oven to 400\ \0F.

   \Ing{8 Plum Tomatoes}
   \Ing{1/2 Red Onion}
   \Ing{1 Cup Chopped Basil}
   \Ing{Freshly Ground Black Pepper, To Taste}
   Dice the tomatoes and mince the onion.  Combine tomato, onion, and basil in a
   bowl, mixing well.  Season to taste with the pper and set aside.

   \Ing{1 French Baguette}
   Cut the baguette into \fr12 inch thick circles.  Bake the bread until well
   toasted, approximately 5 minutes.  Remote and let cool approximately 3--5
   minutes.

   \Ing{3 Cloves of Garlic}
   Rub the garlic atop the bread until the toast glistens.

   \newstep
   Spoon the tomato mixture onto the toast and serve.

\end{recipe}

\begin{recipe}{Sausage Cheese Puffs}{\href{http://www.bobevans.com/Recipe/17/Sausage-Cheese-Puffs}{Bob Evans Website} --- November 2005}{30 Minutes; 20 Servings}

   \newstep
   Preheat oven to 350\ \0F.

   \Ing{1 Lb Bob Evans Original Recipe Sausage Roll}
   Brown, crumble, and drain sausage.

   \Ing{2 Cups Biscuit Mix}
   \Ing{2\ \fr12 Cups Shredded Sharp Cheddar Cheese}
   \Ing{\fr12 Cup Water}
   \Ing{1 Tsp Baking Powder}
   Combine all ingredients in large bowl until blended.  Shape into 1 inch balls
   and place on baking sheets.

   \newstep
   Bake about 20-25 minutes or until golden brown.

   \freeform
   Serve warm, refrigerate leftovers.

\end{recipe}

\section{Breads \& Doughs}

\begin{recipe}{Banana Bread}{\href{http://www.cookingforengineers.com/recipe/108/Banana-Nut-Bread}{CookingForEngineers.com} --- March 2006}{90 Minutes; 6 Servings}

   \newstep
   Preheat oven to 350\ \0F.

   \Ing{1 \fr13 Cups Flour}
   \Ing{\fr12 Tsp Baking Soda}
   \Ing{\fr14 Tsp Baking Powder}
   \Ing{\fr13 Cup Sugar}
   \Ing{\fr13 Cup Light Brown Sugar}
   \Ing{\fr12 Tsp Salt}
   Combine all dry ingredients.

   \Ing{2 (Overly) Ripe Bananas}
   \Ing{6 Tbsp Melted Butter}
   \Ing{1 Tsp Vanilla Extract}
   \Ing{2 Large Eggs}
   Mash the bananas, melted butter, and vanilla extract together.  Lightly beat
   in the eggs.  Mash the banana mixture with the eggs until smooth and well
   blended.

   \Ing{\fr12 Cup Chopped Walnuts}
   Pour the banana mixture with into the dry ingredients and add the walnuts.
   Fold the mixture together until no more white flour is uncovered.

   \Ing{1 Tsp Butter (or Apple Sauce)}
   Smear butter (or apple sauce) into the baking pan and fill with the batter.

   \newstep
   Bake for 60 Minutes at 350\ \0F.  Cool for 10 minutes and then remove the
   loaf from the pan.

   \freeform
   \emph{Note:} One can substitute cinnamon apple sauce for the butter.  Also,
   one can add \fr13 cup of cinnamon chips to the walnuts for \fr12-1 cup of
   cinnamon chips instead of the walnuts.

\end{recipe}

\begin{recipe}{New York Style Pizza Dough}{Robbie's Recipes --- December 2005}{2 \fr12 Hours; 8 Servings}

   \Ing{1 \fr12 Cups 110\ \0F Water}
   \Ing{2 \fr12 Tsp Granulated Sugar}
   \Ing{2 \fr12 Tsp Salt}
   Dissolve sugar and salt in the water in a large mixing bowl.

   \Ing{1 Tbsp Olive Oil}
   \Ing{4 \fr12 Cups All-Purpose Flour}
   Add oil and flour to bowl and stir with a heavy spoon for one minute.

   \Ing{\fr12 Tsp Active Dry Yeast}
   Turn dough out onto a lightly floured surface and press into a circle.
   Sprinkle the yeast evenly over dough and knead for 12 minutes.

   \newstep
   Divide dough into two equally sized portions for pizza.  Place dough balls in
   a bowl, cover with plastic wrap, and allow to rise for 1 \fr12 hours in a
   warm location.

   \newstep
   Preheat a pizza stone in a 500\ \0F oven for one hour.

   \newstep
   After the dough has risen, place a dough ball on a lightly floured surface
   and sprinkle a light coating of flour on top.  Working from the edges to the
   center, press dough into a 12 inch circle.

   \Ing{\fr12 Cup Cornmeal}
   Coat a large board with cornmeal and place the dough onto the cornmeal.  Put
   on the toppings and transfer everyting to the pizza stone.  Bake in a 500\
   \0F oven for 20-25 minutes, until the crust is golden.

\end{recipe}

\section{Sauces \& Accompaniments}

\begin{recipe}{``Cajun'' Salsa}{Blake Rice --- August 2005}{15 Minutes; 6 Servings}

   \Ing{28 Oz Hunt's \emph{Diced} Tomatoes}
   \Ing{\fr14 Cup Green Onions}
   \Ing{\fr14 Cup Jalapeno}
   \Ing{\fr14 Cup Cilantro}
   \Ing{\fr12 Lime, Juiced}
   Blend all ingredients to desired thickness.

   \freeform
   \emph{Note}: From Blake, ``I find it works best to put half the tomatoes, the
   green onions, and cilantro in first and blend. Then add the rest of the
   tomatoes, the jalapenos, and the lime juice and blend again. Also, drain the
   tomato juice and don't add jalapeno juice to keep it from becoming watered
   down.''

\end{recipe}

\begin{recipe}{Chimichurri Sauce}{munchies.vice.com --- June 2016}{5 Minutes; 20 Servings}

   \Ing{1 Qt Parsley, Chopped}
   \Ing{\fr 12 Cup Garlic, Chopped}
   \Ing{1 Tsp Red Chili Flakes}
   \Ing{2 Tsp Dried Oregano}
   \Ing{1 Tbsp Red Wine Vinegar}
   \Ing{1 Tbsp Salt}
   \Ing{2 Cups Canola Oil}
   \Ing{2 Cups Olive Oil}
   Mix in large bowl; serve over meat at room temperature.

\end{recipe}

\begin{recipe}{Garlic Yogurt}{Random Redditor --- November 2015}{15 Minutes; 6 Servings}

   \Ing{2 Cloves Garlic, Minced}
   \Ing{200 g Greek Yogurt}
   \Ing{1 Pinch Salt}
   \Ing{\fr14 Tsp Dill}
   Mix.

\end{recipe}

\begin{recipe}{Kitchen Pepper}{munchies.vice.com --- June 2016}{5 Minutes}

   \Ing{1 Tbsp Coarsely Ground Black Pepper}
   \Ing{1 Tbsp Kosher Salt}
   \Ing{\fr12 Tbsp Ground Cardamom}
   \Ing{1 Tsp Ground Allspice}
   \Ing{1 Tsp Ground Cinnamon}
   \Ing{1 Tsp Ground Cloves}
   \Ing{1 Tsp Ground Ginger}
   \Ing{1 Tsp Ground Mace}
   \Ing{1 Tsp Ground Nutmeg}
   \Ing{1 Tsp Ground White Pepper}
   \Ing{1 Tsp Red Pepper Flakes}
   Combine in medium bowl; mix well.  Store in dry, cool, place until needed.
   Use sparingly.

\end{recipe}

\begin{recipe}{Spicy Cherry}{Better Homes \& Gardens --- March 1964}{30 Minutes; 12 Servings}

   \Ing{\fr34 Cup Sugar}
   \Ing{1 Dash Salt}
   \Ing{2 Tbsp Cornstarch}
   Combine sugar, salt, and cornstarch.

   \Ing{\fr34 Orange Juice}
   \Ing{1 Tbsp Lemon Juice}
   Stir in orange and lemon juice.

   \Ing{1 Can (14.5 Oz) Pitted Tart Red Cherries (Water Packed)}
   \Ing{\fr12 Tsp Whole Cloves}
   \Ing{1 Inch Cinnamon Stick}
   \Ing{\fr14 Red Food Coloring}
   Over medium heat, add undrained cherries, spices, and food coloring.  Cook,
   stirring constantly until boiling.  Boil two minutes while stirring.  Remove
   from heat, stirring 5 more minutes.

   \freeform
   Remove cinnamon stick and cloves.  Serve warm.

\end{recipe}

\section{Side Dishes}

\begin{recipe}{Macaroni Salad}{Julie Kulesza --- May 2006}{30 Minutes; 8 Servings}

   \Ing{2 Cups Elbow Mararoni, Uncooked}
   Cook pasta as directed on package, drain, chill in cold water, drain again.

   \Ing{\fr12 Cup Onion, Chopped}
   \Ing{\fr12 Cup Celery, Chopped}
   \Ing{\fr12 Cup Green Pepper, Chopped}
   \Ing{\fr12 Cup Radishes, Chopped}
   Mix macaroni with chopped vegetables.

   \Ing{\fr12 -- \fr34 Cup Miracle Whip}
   \Ing{\fr14 -- \fr12 Cup Sour Cream}
   Mix macaroni/vegetables with Miracle Whip and sour cream.

   \Ing{1 Can Dark Red Kidney Beans}
   Drain and rinse beans.  Mix into salad.

   \newstep
   Keep chilled in refrigerator until serving.

\end{recipe}

\begin{recipe}{Potato Salad}{munchies.vice.com --- June 2016}{30 Minutes; 8 Servings}

   \Ing{3 Lbs Yukon gold potatoes}
   Peel and cut potatoes into 1-inch pieces. Place potatoes in a medium saucepan
   and cover them with water. Season with salt and bring to a boil. Cook until
   just tender, about 12 minutes, and drain. Rinse under cold running water
   until cool.

   \Ing{8 Oz Dill Pickles, Cut into \fr14-inch Pieces}
   \Ing{8 Oz Mayonaise}
   \Ing{2 Tbsp Dijon Mustard}
   \Ing{6 Hard-boiled Eggs, Peeled and Diced}
   \Ing{4 Ribs Celary, Diced}
   \Ing{\fr12 Red Onion, Diced}
   Transfer the potatoes to a large bowl with the remaining ingredients and toss
   to combine. Season with salt and pepper. Chill until served.

\end{recipe}

\begin{recipe}{Power Potatoes}{munchies.vice.com --- June 2016}{90 Minutes; 6--12 Servings}

   \newstep
   Preheat oven to 450\ \0F.

   \Ing{6 Large Idaho Potatoes}
   Using a fork, poke holes randomly in the potatoes. Place the potatoes on a
   baking sheet and bake until tender, about 1 hour.

   \Ing{\fr12 Lb Pancetta, Cubed to \fr14 inch thick lardons}
   \Ing{\fr12 Lb Bacon, Cubed to \fr14 inch thick lardons}
   In a large skillet, cook the pancetta and bacon over medium-low heat,
   stirring occasionally, until golden, about 20 minutes. Strain through a
   fine-mesh sieve set over a bowl.

   \Ing{2 Heads Broccoli}
   Using your knife, shave off the florets from the broccoli heads into 1/2-inch
   pieces and set aside in a bowl. Cut the broccoli stems into 1/4-inch pieces.
   In a medium saucepan filled with boiling salted water, cook the stems until
   slightly soft but still crunchy, about 1 to 2 minutes. Drain and transfer to
   an ice bath until cold to stop the cooking. Drain the stems again and pat dry
   using paper towels.

   \newstep
   Remove the potatoes and cool slightly, then cut in half lengthwise and scoop
   out all of the insides with a spoon into a medium bowl, leaving \fr14-inch of
   the outer layer of flesh and skin behind; transfer empty potato halves to a
   baking sheet.

   \newstep
   Reduce oven to 350\ \0F.

   \Ing{\fr12 Cup Marscapone}
   \Ing{16 Tbsp Butter, Cubed}
   Add marscapone, butter, pancetta, and bacon mixture to scooped potato and mix
   with salt and pepper to taste until malleable.

   \Ing{1 Lb Bocconcini}
   \Ing{1 Cup Grated Cheddar Cheese}
   \Ing{1 Bunch Scallions, Sliced, Greens \& Whites Separated}
   Add the brocolli stems to the potato filling, along with the bocconcini,
   cheddar cheese, and the scallion whites and mix until combined, seasoning
   with salt and pepper.

   \newstep
   Divide mixture between potato skins. Bake until warmed through, about 20
   minutes longer.

   \Ing{8 Tbsp Butter, Cubed}
   \Ing{2 Tbsp Water}
   Meanwhile in a small saucepan over medium-high heat, melt 8 tablespoons of
   butter with 2 tablespoons of water. Add the reserved broccoli tops and
   scallion greens and cook until bright green, about 2 to 3 minutes. Season
   with salt and pepper and divide among the tops of the potatoes. Keep potatoes
   warm until served.

\end{recipe}

\section{Entrees}

\begin{recipe}{Baked Ziti}{kraftfoods.com --- May 2006}{1 Hour; 8 Servings}

   \newstep
   Preheat oven to 350\ \0F.

   \Ing{16 Oz Ziti Pasta}
   Cook pasta as directed on package; drain.

   \Ing{26 Oz Spaghetti Sauce}
   \Ing{15 Oz Ricotta Cheese}
   \Ing{\fr12 Cup Water}
   \Ing{2 Cups Shredded Mozzarella Cheese}
   \Ing{\fr14 Cup Grated Parmasan Cheese}
   Mix sauce, cheese, and water in large bowl.  Add pasta and \fr12 cup
   Mozzarella cheese; mix lightly.  Spoon into 13\X9-inch baking dish sprayed
   with cooking spray.  Top with remaining Mozzarella cheese and the Parmasan
   cheese.  \emph{Optional}: sprinkle with parsely and oregano to taste.  Cover.

   \newstep
   Bake 30 minutes. Uncover.  Bake an additional 10 minutes.

\end{recipe}

\begin{recipe}{Falafel}{Food Wishes --- November 2015}{0.5 Hours; 4 Servings}

   \Ing{1 Cup Dried Garbanzo Beans}
   Let soak 12-24 hours, completely submerged throughout, in cold water.

   \Ing{\fr12 Onion, Diced}
   \Ing{4 Cloves Garlic, Minced}
   \Ing{\fr12 Cup Italian Parsley, Chopped}
   \Ing{1 Tsp Salt}
   \Ing{1 Tsp Ground Black Pepper}
   \Ing{1 Tsp Cumin}
   \Ing{\fr12 Tsp Ground Coriander}
   \Ing{\fr18 Tsp Cayenne Pepper}
   \Ing{\fr14 Tsp Baking Soda}
   \Ing{1 Tbsp Flour}
   \Ing{2 Tsp Lemon Juice}
   Pulse in food processor until bits are about \fr{1}{16}$^{\prime\prime}$,
   periodically scraping down.

   \newstep
   Shape mixture into balls or patties, approximately 1$^{\prime\prime}$
   diameter.

   \newstep
   Fry at 350\ \0F for about 5 minutes or until browned and crispy.
   Alternatively, bake at 375\ \0F for 13 minutes, flip, and bake an additional
   13 minutes.

\end{recipe}

\begin{recipe}{Cheeto Macaroni \& Cheese}{munchies.vice.com --- June 2016}{1 Hour; 8 Servings}

   \newstep
   Preheat oven to 400\ \0F.

   \Ing{1 Qt Milk}
   \Ing{2 Lbs American Cheese, Cubed}
   In a large pot over medium heat, add milk. Bring to a simmer. Add cubed
   American cheese little by little, stirring with a spatula until you achieve a
   velvety cheese sauce.

   \Ing{16 Oz Pasta}
   In a separate large pot, add salt to water and boil. Add macaroni, stirring
   every once in a while to make sure they don’t clump together. Do not
   overcook.

   \newstep
   Drain the pasta, add back into the pot. Add cheese sauce until the pasta is
   covered but not soupy. Add cheesy macaroni to the casserole dish.

   \Ing{1 Large Bag Cheetos}
   Smash all the Cheetos up and sprinkle evenly, covering every inch of the
   macaroni.

   \newstep
   Bake 20--25 minutes or until golden brown.  Let rest 5 minutes before
   serving.

\end{recipe}

\begin{recipe}{Green Macaroni \& Cheese}{munchies.vice.com --- June 2016}{1 Hour; 8 Servings}

   \newstep
   Preheat oven to broil.

   \Ing{10 Oz Baby Spinach}
   \Ing{1 Cup Parsley}
   \Ing{1 Cup Basil}
   \Ing{1 Cup Grated Parmesan Cheese}
   \Ing{1 Clove Garlic}
   Combine in food processor and puree until chunky.

   \Ing{\fr12 Cup Milk}
   Add to food processor mixture and puree until smooth.

   \Ing{4 Tbsp Unsalted Butter}
   \Ing{\fr13 Cup All-purpose Flour}
   \Ing{3 Cups Milk}
   \Ing{6 Oz Grated Sharp White Cheddar Cheese}
   Melt butter in 6-qt. saucepan over medium-high heat; add flour and cook 2
   minutes. Add milk and cook, stirring occasionally, until thick (8--10
   minutes).  Stir in cheese, salt and peppar to taste, and cook until cheese is
   melted.

   \Ing{16 Oz Pasta}
   Cook pasta as directed on package; drain.  Transfer to cheese sauce along
   with spinach and herb blend and stir well to coat.

   \Ing{6 Oz Grated Sharp White Cheddar Cheese}
   Spread pasta mixture in $9\times13$-inch baking dish and top with
   cheese.  Broil until golden brown and bubbly, 5--7 minutes.  Let cool for 10
   minutes before serving.

\end{recipe}

\begin{recipe}{Southern Macaroni \& Cheese}{Great Southern Classics --- October 2014}{1.5 Hours; 8 Servings}

   \newstep
   Preheat oven to 350\ \0F.

   \Ing{16 Oz Pasta}
   Cook pasta as directed on package; drain.

   \Ing{1 Stick Butter}
   \Ing{\fr12 Cup All-Purpose Flour}
   Heat butter of medium-high heat.  Add flour, stirring to combine.  Cook,
   stirring frequently, until mixture is light brown, approximately 15 minutes.

   \Ing{\fr23 Cup Yellow Onion, Minced}
   Add onion to mixture and continue cooking, stirring frequently, until onion
   is tender.

   \Ing{4 Cups Whole Milk}
   Add milk to mixture, stirring frequently, until mixture begins to thicken,
   approximately 8 minutes.

   \Ing{4 Cups Sharp White Cheddar Cheese, Shredded}
   \Ing{1 \fr34 Cups Smoked Mozzarella Cheese, Shredded}
   \Ing{1 Pound Bacon, Cooked \& Crumbled}
   \Ing{3 Tbsp Whole Grain Mustard \emph{or} 1 Tbsp Dry Mustard}
   \Ing{2 Tbsp Fresh Parsley, Chopped}
   \Ing{\fr12 Tsp Black Pepper, Ground}
   \Ing{\fr12 Tsp Red Pepper, Ground}

   Add cheese, bacon, mustard, parsley, black \& red pepper, stirring until
   cheese is melted.  Add pasta and stir until well combined.

   \Ing{\fr12 Cup Sharp White Cheddar Cheese, Shredded}
   \Ing{\fr34 Cup Sharp Mozzarella Cheese, Shredded}
   Pour mixture into 13\X9 baking dish, top with cheese.

   \newstep
   Bake 20--25 minutes.

   \freeform
   \emph{Note}: The bacon makes this \emph{really} salty.  It is suggested to
   cut the salt anywhere else possible to keep a good balance.
   \newline\newline
   \emph{Note}: At the step where the bacon is added, other inclusions can be
   made such as broccoli florets.

\end{recipe}

\begin{recipe}{Prime Rib}{munchies.vice.com --- June 2016}{5 Hours; 20 Servings}

   \Ing{15 Lb Bone-in Prime Rib Eye}
   Tie evenly with butcher's twine. Rub entire prime rib with generous amount of
   salt and pepper. Let rest in fridge uncovered for 10 hours or overnight.
   Take out of fridge two hours before cooking and allow to come to room temp.

   \newstep
   Preheat oven to 275\ \0F.  Cook for 3--4 hours, or until the internal
   temperature reaches 110\ \0F for rare or 120\ \0F for medium rare.

   \newstep
   Tent with foil and let rest 30--45 minutes before serving.  Remove twine and
   slice off ribs along the bone so you remove it in one rack. Slice thin and
   serve.

\end{recipe}

\begin{recipe}{Ribeye Steaks}{munchies.vice.com --- June 2016}{30 Minutes; 4 Servings}

   \Ing{2 (1 \fr12-inch thick) boneless rib-eye steaks (about 1 \fr14 Lbs total)}
   \Ing{2 Tbsp Canola Oil}
   Season the steaks all over with salt. Working in batches, heat oil in a large
   cast-iron skillet over high heat until the oil just begins to smoke. Add 2
   steaks and cook, flipping once, until well browned on both sides, about 6
   minutes.

   \Ing{4 Tbsp Butter, Cubed}
   \Ing{4 Cloves Garlic}
   \Ing{\fr12 Bunch Thyme}
   Add butter, garlic, thyme to steak pan, cook, basting the steaks with the
   butter, until medium-rare, about 2 to 3 more minutes.

   \Ing{2 (1 \fr12-inch thick) boneless rib-eye steaks (about 1 \fr14 Lbs total)}
   \Ing{4 Cloves Garlic}
   \Ing{\fr12 Bunch Thyme}
   Repeat above steps for other two steaks (do not need to add more oil or
   butter).

   \Ing{8 Tbsp Butter, Cubed}
   \Ing{4 Cloves Garlic}
   \Ing{\fr1 Bunch Thyme}
   In a small saucepan, melt butter with garlic and thyme. Cook until the butter
   is well flavored, about 3 to 4 minutes.

   \newstep
   Serve by carving steaks and spooning butter garlic sauce over them with salt
   and pepper.

\end{recipe}

\begin{recipe}{Slow Cooker Ribs}{AllRecipes.com --- November 2015}{6.5 Hours; 6 Servings}

   \Ing{3 Lbs Baby Back Ribs, Trimmed}
   \Ing{\fr12 Onion, Sliced}
   \Ing{1 Clove Garlic, Minced}
   \Ing{\fr12 Cup Water or Beer}
   \Ing{Salt \& Pepper, To Taste}
   Pour water/beer in slow cooker.  Season ribs with salt and pepper.  Layer the
   ribs into the slow cooker.  Top the ribs with the onion and garlic.  Cook on
   high for 3 hours (or low for 6 hours).

   \newstep
   Preheat oven to 375\ \0F.

   \Ing{18 Oz Barbeque Sauce}
   Remove ribs from slow cooker, discard onion and garlic.  Coat ribs with
   barbeque sauce and transfer to baking sheet.  Bake until sauce carmelizes and
   sticks to meat, 10--15 minutes.

\end{recipe}

\begin{recipe}{Two Bear Chili}{Mark Cleaver --- November 2006}{4.5 Hours; 12 Servings}

   \Ing{1 Lb Ground Meat}
   \Ing{Soy or Teriyaki, To Taste}
   Brown and crumble meat, marinated in soy or teriyaki sauce.

   \Ing{1 Can Dark Red Kidney Beans}
   \Ing{1 Can Garbonzo Beans}
   \Ing{2 Cans Pinto Beans}
   \Ing{1 Can Hot Chili Beans}
   \Ing{1 Can Medium Chili Beans}
   \Ing{1 Can Butter Beans}
   Open beans, drain, and rinse.

   \Ing{1 Can of Crushed Tomatoes, Large}
   \Ing{1 Can of Tomato Sauce, Small}
   \Ing{2 Jalapenos, Minced}
   \Ing{1 Pint Honey}
   \Ing{1 Onion, Diced}
   \Ing{1 Packet McCormick Chili Seasoning}
   Combine all ingredients (including meat and beans) in a six quart crock pot.
   Cook for four hours on low temperature, stirring periodically.

   \freeform
   \emph{Original Notes from Mark}:
   \newline\newline
   I have been asked many times for my Chili recipe but, have kept the secrete
   of this old formula hidden for fear of driving the coast of can beans ski
   high.
   \newline\newline
   Recipe is for five quart crock pot.
   \newline\newline
   Open six ot eight cans of assorted beans.  Drain and rinse.  For maximum
   flagilince do not drain beans.
   \newline\newline
   Add one large can of crushed tomatoes.  If whole tomatoes are used,
   \newline\newline
   a, place them under vehicle tires,
   \newline\newline
   b, run over them repeatedly until they are the consistency of theones you
   could have gotten out of a can
   \newline\newline
   c, scrape off road or dump can into large crock pot.
   \newline\newline
   Grill one pound of ground meat, marinated in soy or teriyaki.  Use ground
   sirloin for good taste, ground round for great taste, or use the really cheep
   fatty shit for the most fabulas tasting stuff your goanna eat.
   \newline\newline
   Add to pot.  Grease and all.  Its chili?
   \newline\newline
   Dice very small, two Jahlo peonies, add to pot.  For more spice, add a
   smidgeon of fresh ground habanera pepper.
   \newline\newline
   Sniff pepper to make sure it is fresh.
   \newline\newline
   Add one pint of honey.  If it is too spicy just add more honey.  It won't
   make it any less hot but it makes it go down easier.
   \newline\newline
   Dice one onion add to pot.
   \newline\newline
   Let it gestate for three hours on low temperature.
   \newline\newline
   Take and serve to buddies at card game.  Don't forget to bring beer!
   \newline\newline
   If you put cheese on it you are queer.

\end{recipe}

\begin{recipe}{Miso Ramen}{Jaden Hair --- April 2011}{25 Minutes; 4 Servings}

    \Ing{4 Uncracked Eggs}
    Place eggs in a medium pot and fill with water to cover by 1 inch. Bring to
    boil, turn heat off, and let sit for 10 minutes. Remove each egg with
    slotted spoon, peel under cold running water, and slice in half.

    \Ing{10 Oz (285 g) Dried Ramen Noodles}
    Bring the same pot of water to a boil. Add ramen noodles and cook according
    to package instruction (Typically 3 minutes). Drain and rinse with cold
    water to stop cooking.

    \Ing{10 Oz (285 g) Cooked Ramen Noodles}
    \Ing{\fr12 Cup (200 g) Fresh or Canned Bamboo Shoots, Sliced}
    \Ing{\fr12 Cup (170 g) Fresh or Canned Corn Kernels, Drained}
    \Ing{\fr13 Cup (80 g) Defrosted Frozen or Fresh Spinach}
    Divide the noodles, hardboiled eggs, bamboo shoots, corn, and spinach among
    4 large serving bowls.

    \Ing{8 Cups (2 Liters) Pork or Vegetable Broth}
    \Ing{2 Teaspoons Instant Dashi Granules}
    \Ing{1 Tablespoon Soy Sauce or to Taste }
    In a large pot, add broth, instant dashi, and soy sauce. Bring to a boil
    over high heat. Remove from heat.

    \Ing{4 Tablespoons Fresh Miso Paste }
    Stir in the miso. Taste soup and add additional 1 to 2 tablespoons if
    wanted. Ladle soup into each bowl.

    \Ing{1 Cup (100 g) Fresh Bean Sprouts}
    \Ing{1 Stalk Green Onion (Scallions), Finely Chopped}
    \Ing{4 Teaspoons Chili Oil (Optional) }
    Top each bowl with fresh bean sprouts, green onions, and a drizzle of chili
    oil, if desired.

\end{recipe}

\begin{recipe}{Chicken Tinola}{Allrecipes.com --- October 2015}{55 Minutes; 4 Servings}

    \Ing{1 Tablespoon Cooking Oil}
    \Ing{1 Onion, Chopped}
    \Ing{2 Cloves Garlic, Minced}
    Heat the oil in a large pot over medium heat. Cook and stir the onion and
    garlic in the hot oil until fragrant.

    \Ing{1 (1 \fr12 Inch) Piece Fresh Ginger, Peeled and Thinly Sliced}
    \Ing{1 Tablespoon Fish Sauce}
    \Ing{3 Pounds Chicken Legs and Thighs, Rinsed and Patted Dry}
    Quickly stir the ginger and fish sauce into the pot before adding the
    chicken. Cook together for 5 minutes.

    \Ing{2 (14 Ounce) Cans Chicken Broth}
    Pour the chicken broth over the mixture and cook another 5 minutes.

    \Ing{1 Chayote Squash, Peeled and Cut Into Bite-Sized Pieces}
    Add the chayote to the pot and simmer for 10 minutes.

    \Ing{Salt and Pepper, to Taste}
    \Ing{1 Head Bok Choy, Chopped}
    \Ing{\fr12 Pound Spinach}
    Season with salt and pepper. Add the bok choy and spinach. Cook until the
    spinach is just wilted, about 1 to 2 minutes.

    \newstep
    Serve hot.

    \freeform
    \emph{Note}: From Aaron, ``I ate this a lot growing up in the Philippines. I
    haven't bothered to contact the old cook and ask what ingredients she used,
    but this one I found online tastes the same''

\end{recipe}

\begin{recipe}{Masa'aa (Eggplant Dish)}{\href{http://www.geniuskitchen.com/recipe/egyptian-eggplant-dish-masaaa-419171}{GeniusKitchen.com} --- July 2018}{90 Minutes; 5 Servings}

  \Ing{Oil, For Frying}
  \Ing{1 Large Eggplant, \fr12" Slices}
  Fry the eggplant slices in oil until golden, set aside on paper towels to
  drain, and lightly salt.

  \Ing{4 Large Red Potatoes, Cubed}
  Fry potato cubes until golden brown, set aside on paper towels to drain, and
  lightly salt.

  \Ing{1 Green Bell Pepper, Sliced}
  Fry pepper slices in oil until tender, set aside.

  \Ing{1 Large Red Onion, Thinly Sliced}
  \Ing{2 Garlic Cloves, Chopped}
  In a pan, saute the onion until soft. Add garlic and saute 1-2 min more.

  \Ing{1 Tsp Cumin}
  \Ing{1 Tsp Coriander}
  \Ing{\fr12 Tsp Ground Pepper}
  \Ing{1 Tsb Ground Mustard}
  \Ing{Salt, To Taste}
  Add the spices over onions and garlic in pan and stir.

  \Ing{15oz Can Tomato Sauce}
  \Ing{15oz Can Chickpeas, Rinsed and Drained}
  Add in the eggplant, potatoes, bell pepper, and tomato sauce. Mix well. Cook
  just long enough to heat through. Add chickpeas.

  \freeform
  \emph{Note}: All the frying can be done in the same pan or wok. There is no
  need to change oil between vegetables. The chopping required is time
  consuming but well worth it since this dish seems to last over a week in the
  fridge.

\end{recipe}

\section{Desserts}

\begin{recipe}{Blonde Brownies}{Toll House Morsel Package --- November 2005}{40 Minutes; 36 Servings}

   \newstep
   Preheat oven to 350\ \0F. Grease 15\X10 inch jelly roll pan.

   \Ing{2\ \fr14 Cups All-Purpose Flour}
   \Ing{2\ \fr12 Tsp Baking Powder}
   \Ing{\fr12 Tsp Salt}
   Combine flour, baking powder, and salt in a small bowl.

   \Ing{1\ \fr34 Cups Packed Brown Sugar}
   \Ing{\fr34 Cup (1\ \fr12 Sticks Butter, Softened}
   Beat sugar and butter in large mixer bowl until creamy.

   \Ing{3 Large Eggs}
   \Ing{1 Tsp Vanilla Extract}
   Beat in eggs and vanilla extract; gradually beat in flour mixture.

   \Ing{2 Cups (12 Oz) Chocolate Chips}
   Stir in morsels.

   \newstep
   Spread in jelly roll pan.  Bake for 20 to 25 minutes or until top is golden
   brown.  Cool in pan on wire rack.

\end{recipe}

\begin{recipe}{Brownies}{Louis Borges --- May 2015}{75 Minutes; 8 Servings}

   \newstep
   Preheat oven to 350\ \0F.

   \Ing{\fr34 Cup Oil}
   \Ing{1\ \fr12 Cups Sugar}
   \Ing{1 \fr12 Tsp Vanilla}
   \Ing{3 Eggs}
   Mix oil, sugar, vanilla.  Add eggs and continue mixing.

   \Ing{\fr34 Cup Flour}
   \Ing{\fr13 Cup + 2 \fr12 Tsp Cocoa}
   \Ing{\fr38 Tsp Baking Powder}
   \Ing{\fr14 Tsp Salt}
   Add flour, cocoa, baking powder, and salt, mixing to combine.

   \newstep
   Bake for 35 minutes, allowing to cool for an additional 30 minutes, before
   serving.

\end{recipe}

\begin{recipe}{Queijadas de Leite}{Louis Borges --- May 2015}{1 Hours; 12 Servings}

   \newstep
   Preheat oven to 350\ \0F.

   \Ing{2 Cups Sugar}
   \Ing{3 Eggs}
   \Ing{1/2 Stick Butter, Melted}
   \Ing{1 Tbsp Vanilla}
   Beat together the sugar, eggs, butter ,and vanilla on medium speed for two
   minutes.

   \Ing{3 Cups Milk}
   \Ing{1 Cup Flour}
   Incorporate milk and flour slowly until well mixed.

   \newstep
   Grease cupcake pans (or use cupcake baking papers) and add a little flour.
   Pour in mixture.  Bake for 45 minutes.

\end{recipe}

\begin{recipe}{Saltine Toffee Candy}{Julie Kulesza --- December 2006}{30 Minutes; 40 Servings}

   \Ing{40 Saltine Crackers}
   Line up the saltines on a jelly roll pan that has been lined with foil and
   sprayed with Pam.  There should be five rows by eight columns.

   \Ing{1 Cup Butter}
   \Ing{1 Cup Light Brown Sugar}
   Melt butter and add light brown sugar.  Stir often and bring to a full
   rolling boil for exactly 3 minutes.

   \newstep
   Pour mixture over saltines and bake in a 400\ \0F oven for five minutes.

   \Ing{12 Oz Semi-Sweet Chocolate Chips}
   Sprinkle the chocolate chips over the entire surface and wait until they are
   almost melted; spread over all the saltines.

   \Ing{1 Cup Nuts of Your Choice (Chopped or Ground)}
   Drop the nuts over the top as evenly as possible. Use the buttered bottom of
   a measuring cup or glass to lightly press into the chocolate.

   \newstep
   Refrigerate for two hours and then break into pieces.  Can be stored in a
   tin.

\end{recipe}

\begin{recipe}{Swedish Chocolate Balls}{\href{http://www.allrecipes.com/recipe/swedish-chocolate-balls-or-coconut-balls/}{AllRecipes.com} --- May 2015}{2 Hours, 20 Minutes; 24 Servings}

   \Ing{1 Cup Butter, Softened}
   \Ing{4 Cups Regular Rolled Oats}
   \Ing{1\ \fr14 Cups White Sugar}
   \Ing{\fr12 Cup Unsweetened Cocoa Powder}
   Mix the oats, sugar, and cocoa together in a bowl. Add the butter, and use your
   hands to mix the ingredients together to make a thick dough.

   \Ing{2 Squares (1 Oz) Unsweetened Baking Chocolate, Melted}
   \Ing{2 Tbsp Strong Coffee}
   \Ing{1 Tsp Vanilla Extract}
   Mix in the coffee, vanilla, and chocolate until thoroughly blended.

   \Ing{\fr13 Cup Coconut Flakes}
   Place the coconut flakes in a small bowl. Pinch off small amounts of dough and
   roll between your hands to make small balls, about 1\ \fr12 inches in diameter.
   Roll the balls in the coconut flakes. Balls should be refrigerated 2 hours to
   become firmer.

   \freeform
   \emph{Note}: The oats can be processed in a food processor to vary the
   texture of the final ball.  However, this will introduce sharp edges onto
   the oats which makes mixing by hand more difficult (i.e., painful).

\end{recipe}

\begin{recipe}{Walnut Fudge}{Mrs. Dodd --- December 2005}{45 Minutes; 16 Servings}

   \Ing{1 \fr12 Cups (3 Sticks) Butter}
   \Ing{6 Cups Sugar}
   \Ing{1 \fr13 Cups Evaporated Milk}
   Mix butter, sugar, and milk in large saucepan.  Over low heat, stir until
   butter melts.

   \newstep
   Bring to a full boil, stirring constantly for five minutes.

   \Ing{24 Oz Semi-Sweet Chocolate Chips}
   \Ing{13 Oz Jar Marshmallow Creme}
   \Ing{2 Tsp Vanilla}
   \Ing{2 Cups Chopped Walnuts (Optional)}
   Remove from heat and add chocolate chips, marshmallow cream, vanilla (and
   nuts).  Stir until melted and mixed.

   \newstep
   Pour into 2, 13\X9-inch pans or 3, 9-inch square pans.  Cool at room
   temperature.

\end{recipe}

%\section{Drinks}

\end{document}

max_stars_repo_name: jkulesza/Cooking

max_issues_repo_name: jkulesza/Cooking

max_forks_repo_name: jkulesza/Cooking


text:
\input{"/Users/brandonwilliams/Documents/LaTeX Includes/hwpreamble.tex"}
\input{"/Users/brandonwilliams/Documents/LaTeX Includes/extrapackages.tex"}
\input{"/Users/brandonwilliams/Documents/LaTeX Includes/extracommands.tex"}

\begin{document}

\title{\Large Computations in Khovanov Homology}
\author{\large Brandon Williams}

\maketitle

\section{Notation}

Here we quickly fix our notation. Let $\mathcal A$ denote Khovanov's TQFT. We let $V$ be the free, graded $\mathbb Z$-module generated by $v_+$ and $v_-$, which have degrees $p(v_\pm) = \pm 1$. The multiplication and comultiplication induced on $V$ from cobordisms is denoted by $m$ and $\Delta$\, where
\[ m(v_+ \otimes v_+) = v_+ \ \ \ \ \ m(v_\pm \otimes v_\mp) = v_- \ \ \ \ \ m(v_- \otimes v_-) = 0 \]
\[ \Delta(v_+) = v_+ \otimes v_- + v_- \otimes v_+ \ \ \ \ \ \Delta(v_-) = v_- \otimes v_- \]
Let $L$ be a link with $k$ crossings and $(n_+,n_-)$ positive/negative crossings. If $v \in \lcb 0,1 \rcb^k$ we let $L_v$ denote the smoothing of $L$, elements $x$ of $\mathcal A(L_v)$ are said to have homological grading $\gr(x) = c_1(v) - n_-$, where $c_1(v)$ is the number of 1's in the coordinates of $v$. Elements $x$ of $\mathcal A(L_v)$ of homogenous $p$-grading are said to have quantum grading $q(x) = p(x) + \gr(x) + n_+ - n_-$. The Khovanov chain complex is denoted by $\CKh^{i,j}$, where the first index is the homological grading and the second index is the quantum grading. The homology of this complex is denoted by $\Kh^{i,j}$. The graded Euler characteristic is defined to be the Laurent polynomial
\[ \Kh(q) = \sum_j \left( \sum_i (-1)^i \rank \Kh^{i,j} \right) q^j \]

\section{A Useful Trick}

Before making some computations we first discuss a trick that will be used repeatedly in what is to come. It basically deals with determining the quotient of free $\mathbb Z$-modules by free $\mathbb Z$-modules. For instance, we know that the free module $\mathbb Z$ modulo the free module $2\mathbb Z$ is simple $\mathbb Z/2$. We will be running into much more complicated instances of this in our computations.

Let $M$ be a submodule of $\mathbb Z^n$, which must be free. Let $v_1,\ldots,v_k$ be a basis for $M$, and let $A$ be the matrix whose columns consists of the vectors $v_i$, and add some extra zero columns to make $A$ and $n \times n$ matrix (if needed). Then we claim that $\mathbb Z^n / M$ is isomorphic to $\mathbb Z/(d_1) \oplus \cdots \mathbb Z/(d_n)$, where $d_i$ are the eigenvalues of $A$.

As an example, suppose we want to mod $\mathbb Z^3$ by the subspace generated by the vectors $(1,0,1),(0,1,0)$. The matrix $A$ is given by
\[ A = \left( \begin{array}{ccc} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 1 & 0 & 0 \end{array} \right) \]
The eigenvalues of this can easily be computed to be $2,1,0$, hence
\[ \frac{\mathbb Z^3}{\< (1,0,1), (0,1,0) \>} = \mathbb Z/(2) \oplus \mathbb Z/(1) \oplus \mathbb Z/(0) = \mathbb Z/2 \oplus \mathbb Z \]

Most of the messy computations in Khovanov homology can be reduced to solving something of this form, so this trick will be quite useful for us.

\section{The Hopf Link}

Let $L$ be the Hopf link with orientation such that both crossings are negative. For each $v \in \lcb 0,1 \rcb^2$, let $L_v$ be the resolution of $L$. Using the usual TQFT we get a chain complex
\[ 0 \longrightarrow V \otimes V \stackrel{d_1}{\longrightarrow} V \oplus V \stackrel{d_2}{\longrightarrow} V \otimes V \longrightarrow 0 \]
It is easy to see that the differentials are given by
\begin{align}
	d_1(v_1 \otimes v_2) &= (m(v_1 \otimes v_2), m(v_1 \otimes v_2)) \\
	d_2(v_1,v_2) &= \Delta(v_1) - \Delta(v_2)
\end{align}
We want to write these maps in matrix form, so we fix an ordered basis. Let the ordered basis for the spaces in the chain complex be given by writting:
\[ V \otimes V = \mathbb Z v_+ \otimes v_+ \oplus \mathbb Z v_- \otimes v_+ \oplus \mathbb Z v_+ \otimes v_- \oplus \mathbb Z v_- \otimes v_- \]
\[ V \oplus V = \mathbb Z^2 v_+ \oplus \mathbb Z^2 v_- \]
Writing our modules this way determines an ordered basis. For example, in $V \otimes V$ we have the basis
\begin{align*}
e_1 &= v_+ \otimes v_+ \\
e_2 &= v_- \otimes v_+ \\
e_3 &= v_+ \otimes v_- \\
e_4 &= v_- \otimes v_-
\end{align*}
whereas in $V \oplus V$ we have the basis
\begin{align*}
e_1 &= (1,0)v_+ \\
e_2 &= (0,1)v_+ \\
e_3 &= (1,0)v_- \\
e_4 &= (0,1)v_-
\end{align*}

By plugging each vector into $d_1$ or $d_2$ we get a matrix representation of these maps. In particular we can easily compute:
\[
d_1 = \left(
			 	 \begin{array}{cccc}
			 	 	 1 & 0 & 0 & 0 \\
			 	 	 1 & 0 & 0 & 0 \\
			 	 	 0 & 1 & 1 & 0 \\
			 	 	 0 & 1 & 1 & 0
			 	 \end{array}
			\right)
\ \ \ \ \ \ \
d_2 = \left(
			 	 \begin{array}{cccc}
			 	 	 0 &  0 & 0 &  0 \\
			 	 	 1 & -1 & 0 &  0 \\
			 	 	 1 & -1 & 0 &  0 \\
			 	 	 0 &  0 & 1 & -1
			 	 \end{array}
			\right)
\]
Now we compute the image and kernels of each of these maps. Clearly the image of $d_1$ is spanned by the first two columns, which corresponds to (remember our notation for basis vectors in $V \oplus V$ above, otherwise things will be confusing):
\[ \image d_1 = \mathbb Z(1,1)v_+ \oplus \mathbb Z(1,1)v_- \]
For the kernel, it is easy to see that if $(a,b,c,d)$ is a column vector in the kernel of the matrix of $d_1$, then $a=0,b=-c$, so the kernel is spanned by the column vectors $(0,1,-1,0)$ and $(0,0,0,1)$. The former vector spans the subspace $\mathbb Z (v_+ \otimes v_- - v_- \otimes v_+)$ and the latter vector spaces the subspace $\mathbb Z v_- \otimes v_-$, so
\[ \ker d_1 = \mathbb Z (v_+ \otimes v_- - v_- \otimes v_+) \oplus \mathbb Z v_- \otimes v_- \]
Next we look at $d_2$. Clearly the image of $d_2$ is spanned by the first and third columns, which corresponds to
\[ \image d_2 = \mathbb Z(v_+ \otimes v_- + v_- \otimes v_+) \oplus \mathbb Z v_- \otimes v_- \]
For the kernel, it is easy to see that if $(a,b,c,d)$ is in the kernel of the matrix of $d_2$, then $a = b$ and $c=d$, so the kernel is spanned by the vectors $(1,1,0,0)$ and $(0,0,1,1)$. The former vector spans the subspace $\mathbb Z (1,1)v_+$ and the latter vector spans the subspace $\mathbb Z (1,1)v_-$, so
\[ \ker d_2 = \mathbb Z(1,1)v_+ \oplus \mathbb Z(1,1)v_- \]
Now we compute the homologies:
\begin{align*}
\Kh^{-2} &= \ker d_1 = \mathbb Z (v_+ \otimes v_- - v_- \otimes v_+) \oplus \mathbb Z v_- \otimes v_- \\
\Kh^{-1} &= \frac{\ker d_2}{\image d_1} = \frac{\mathbb Z(1,1)v_+ \oplus \mathbb Z(1,1)v_-}{\mathbb Z(1,1)v_+ \oplus \mathbb Z(1,1)v_-} = 0 \\
\Kh^0    &= \frac{V \otimes V}{\image d_2} = \frac{\mathbb Z v_+ \otimes v_+ \oplus \mathbb Z v_- \otimes v_+ \oplus \mathbb Z v_+ \otimes v_- \oplus \mathbb Z v_- \otimes v_-}{\mathbb Z(v_+ \otimes v_- + v_- \otimes v_+) \oplus \mathbb Z v_- \otimes v_-} \\
         &= \mathbb Z v_+ \otimes v_+ \oplus \frac{\mathbb Z v_- \otimes v_+ \oplus \mathbb Z v_+ \otimes v_-}{\mathbb Z(v_+ \otimes v_- + v_- \otimes v_+)}
\end{align*}
The quotient in the last line is simply isomorphic to $\mathbb Z$ since we are essentially taking the quotient of $\mathbb Z \oplus \mathbb Z$ by the diagonal, which is just $\mathbb Z$ (because there is an obvious surjection $\mathbb Z \oplus \mathbb Z \rightarrow \mathbb Z$ with kernel equal to the diagonal). This finishes the computation of the Khovanov homology of the link, but now we want to determine the quantum gradings. It is easy to see that (where $r$ stands for the homological grading and $q$ stands for the quantum grading)
\[
\begin{tabular}{|r|c|c|c|}
\hline
$\Kh^{r,q}$ & $-2$ & $-1$ & $0$ \\
\hline
$0$ & & & $\mathbb Z$  \\
\hline
$-1$ & & &   \\
\hline
$-2$ & & & $\mathbb Z$  \\
\hline
$-3$ & & &   \\
\hline
$-4$ & $\mathbb Z$ &    &   \\
\hline
$-5$ & &    &   \\
\hline
$-6$ & $\mathbb Z$ &    &   \\
\hline
\end{tabular}
\]
The graded Euler characteristic of this homology is
\[ \Kh(L)(q) = q^{-6} + q^{-4} + q^{-2} + 1 \]
This should be $(q+q^{-1})$ times the Jone's polynomial of $L$, so factoring out a $(q+q^{-1})$ from the above we get
\begin{align*}
	q^{-6} + q^{-4} + q^{-2} + 1 &= q^{-4}(q^{-2} + 1) + q^{-2} + 1 \\
	                             &= q^{-5}(q^{-1} + q) + q^{-1}(q^{-1} + q) \\
	                             &= (q+q^{-1})(q^{-5} + q^{-1})
\end{align*}
and $q^{-5} + q^{-1}$ is indeed the Jones polynomial (up to some substitution of variable).

\section{The Left-Handed Trefoil}

Let $L$ be the left handed trefoil (i.e. a trefoil with orientation such that all crossings are negative). Then our chain complex is
\[ 0 \longrightarrow V \otimes V \otimes V \stackrel{d_1}{\longrightarrow} (V \otimes V) \oplus (V \otimes V) \oplus (V \otimes V) \stackrel{d_2}{\longrightarrow} V \oplus V \oplus V \stackrel{d_3}{\longrightarrow} V \otimes V \longrightarrow 0 \]
with differentials given by
\begin{align*}
d_1(v_1 \otimes v_2 \otimes v_3) &= (m(v_1 \otimes v_2) \otimes v_3, v_1 \otimes m(v_2 \otimes v_3), v_2 \otimes m(v_1 \otimes v_3)) \\
d_2(v_1 \otimes v_2,v_3 \otimes v_4,v_5 \otimes v_6) &= (m(v_3 \otimes v_4)-m(v_1 \otimes v_2), m(v_5 \otimes v_6)-m(v_1 \otimes v_2), m(v_5 \otimes v_6)-m(v_3 \otimes v_4)) \\
d_3(v_1,v_2,v_3) &= \Delta(v_1) - \Delta(v_2) + \Delta(v_3)
\end{align*}
We fix an ordered basis for the chain vector spaces by writting
\begin{align*}
\begin{array}{rcl}
V \otimes V \otimes V &=& \mathbb Z v_+ \otimes v_+ \otimes v_+ \oplus \mathbb Z v_- \otimes v_+ \otimes v_+ \oplus \mathbb Z v_+ \otimes v_- \otimes v_+ \oplus \\
										  & & \mathbb Z v_+ \otimes v_+ \otimes v_- \oplus \mathbb Z v_- \otimes v_- \otimes v_+ \oplus \mathbb Z v_- \otimes v_+ \otimes v_- \oplus \\
										  & & \mathbb Z v_+ \otimes v_- \otimes v_- \oplus \mathbb Z v_- \otimes v_- \otimes v_- \\
(V \otimes V) \oplus (V \otimes V) \oplus (V \otimes V) &=& \mathbb Z^3 v_+ \otimes v_+ \oplus \mathbb Z^3 v_- \otimes v_+ \oplus \mathbb Z^3 v_+ \otimes v_- \oplus \mathbb Z^3 v_- \otimes v_- \\
V \oplus V \oplus V &=& \mathbb Z^3 v_+ \oplus \mathbb Z^3 v_- \\
V \otimes V &=& \mathbb Z v_+ \otimes v_+ \oplus \mathbb Z v_- \otimes v_+ \oplus \mathbb Z v_+ \otimes v_- \oplus \mathbb Z v_- \otimes v_-
\end{array}
\end{align*}
We now take the matrix representation of $d_1,d_2,d_3$ with respect to these bases.
\[ d_1 = \left(
					 \begin{array}{cccccccc}
					   1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
					   1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
					   1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
					   0 & 1 & 1 & 0 & 0 & 0 & 0 & 0 \\
					   0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 \\
					   0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 \\
					   0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 \\
					   0 & 0 & 1 & 1 & 0 & 0 & 0 & 0 \\
					   0 & 1 & 0 & 1 & 0 & 0 & 0 & 0 \\
					   0 & 0 & 0 & 0 & 0 & 1 & 1 & 0 \\
					   0 & 0 & 0 & 0 & 1 & 1 & 0 & 0 \\
					   0 & 0 & 0 & 0 & 1 & 0 & 1 & 0
					 \end{array}
				 \right)
\ \ \ \ \ \ \ \
d_2 = \left(
        \begin{array}{cccccccccccc}
        	-1 &  1 & 0 &  0 &  0 & 0 &  0 &  0 & 0 & 0 & 0 & 0 \\
        	-1 &  0 & 1 &  0 &  0 & 0 &  0 &  0 & 0 & 0 & 0 & 0 \\
        	 0 & -1 & 1 &  0 &  0 & 0 &  0 &  0 & 0 & 0 & 0 & 0 \\
        	 0 &  0 & 0 & -1 &  1 & 0 & -1 &  1 & 0 & 0 & 0 & 0 \\
        	 0 &  0 & 0 & -1 &  0 & 1 & -1 &  0 & 1 & 0 & 0 & 0 \\
        	 0 &  0 & 0 &  0 & -1 & 1 &  0 & -1 & 1 & 0 & 0 & 0
        \end{array}
      \right)
\]
\[
d_3 = \left(
        \begin{array}{cccccc}
          0 &  0 & 0 & 0 &  0 & 0 \\
          1 & -1 & 1 & 0 &  0 & 0 \\
          1 & -1 & 1 & 0 &  0 & 0 \\
          0 &  0 & 0 & 1 & -1 & 1
        \end{array}
      \right)
\]
We now want to compute the image and kernels of these matrices. It is easy to see that the first 7 columns of $d_1$ are linearly independent, and the subspaces they span are easy to determine, so the image is (again remember our convention for basis vectors from above, otherwise this notation we seem weird)
\begin{align}
\label{image d1}
\begin{array}{rcl}
\image d_1 &=& \mathbb Z \left( (1,0,0)v_+ \otimes v_+ + (0,1,0)v_+ \otimes v_+ + (0,0,1)v_+ \otimes v_+ \right) \oplus \\
           & & \mathbb Z \left( (1,0,0)v_- \otimes v_+ + (0,1,0)v_- \otimes v_+ + (0,0,1)v_+ \otimes v_- \right) \oplus \\
           & & \mathbb Z \left( (1,0,0)v_- \otimes v_+ + (0,1,0)v_+ \otimes v_- + (0,0,1)v_- \otimes v_+ \right) \oplus \\
           & & \mathbb Z \left( (1,0,0)v_+ \otimes v_- + (0,1,0)v_+ \otimes v_- + (0,0,1)v_+ \otimes v_- \right) \oplus \\
           & & \mathbb Z \left( (0,1,0)v_- \otimes v_- + (0,0,1)v_- \otimes v_- \right) \oplus \\
           & & \mathbb Z \left( (1,0,0)v_- \otimes v_- + (0,1,0)v_- \otimes v_- \right) \oplus \\
           & & \mathbb Z \left( (1,0,0)v_- \otimes v_- + (0,0,1)v_- \otimes v_- \right) \oplus
\end{array}
\end{align}
The kernel of $d_2$ is easy to compute, indeed only the vectors of the form $(0,0,0,0,0,0,0,h)$ are in the kernel, so
\[ \ker d_1 = \mathbb Z v_- \otimes v_- \otimes v_- \]
Next we compute the image of $d_2$. It is easy to see that only the 1st, 2nd, 4th and 5th columns are linearly independent, and they span the subspace
\begin{align*}
\image d_2 =& \mathbb Z \left( (1,0,0) v_+ + (0,1,0) v_+ \right) \oplus \mathbb Z \left( (1,0,0) v_+  - (0,0,1) v_+ \right) \\
            & \mathbb Z \left( (1,0,0) v_- + (0,1,0) v_- \right) \oplus \mathbb Z \left( (1,0,0) v_-  - (0,0,1) v_- \right)
\end{align*}
Computing the kernel is a bit messy, but we can use a number of methods (row reducing, Mathematica, etc.), and so we just state the spanning vectors of the kernel:
\[
\left( \begin{array}{r} 1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0 \end{array} \right),
\left( \begin{array}{r} 0\\0\\0\\1\\1\\1\\0\\0\\0\\0\\0\\0 \end{array} \right),
\left( \begin{array}{r} 0\\0\\0\\-1\\0\\0\\1\\0\\0\\0\\0\\0 \end{array} \right),
\left( \begin{array}{r} 0\\0\\0\\0\\-1\\0\\0\\1\\0\\0\\0\\0 \end{array} \right),
\left( \begin{array}{r} 0\\0\\0\\1\\1\\0\\0\\0\\1\\0\\0\\0 \end{array} \right),
\left( \begin{array}{r} 0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\0\\0 \end{array} \right),
\left( \begin{array}{r} 0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\0 \end{array} \right),
\left( \begin{array}{r} 0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1 \end{array} \right)
\]
These vectors span the following space
\begin{align}
\label{ker d2}
\begin{array}{rcl}
\ker d_2 &=& \mathbb Z \left(  (1,0,0) v_+ \otimes v_+ + (0,1,0) v_+ \otimes v_+ + (0,0,1) v_+ \otimes v_+ \right) \oplus \\
         & & \mathbb Z \left(  (1,0,0) v_- \otimes v_+ + (0,1,0) v_- \otimes v_+ + (0,0,1) v_- \otimes v_+ \right) \oplus \\
         & & \mathbb Z \left( -(1,0,0) v_- \otimes v_+ + (1,0,0) v_+ \otimes v_- \right) \oplus \\
         & & \mathbb Z \left( -(0,1,0) v_- \otimes v_+ + (0,1,0) v_+ \otimes v_- \right) \oplus \\
         & & \mathbb Z \left(  (1,0,0) v_- \otimes v_+ + (0,1,0) v_- \otimes v_+ + (0,0,1) v_+ \otimes v_- \right) \oplus \\
         & & \mathbb Z (1,0,0) v_- \otimes v_- \oplus \\
         & & \mathbb Z (0,1,0) v_- \otimes v_- \oplus \\
         & & \mathbb Z (0,0,1) v_- \otimes v_-
\end{array}
\end{align}
Finally we need to find the image and kernel of $d_3$, which thankfully is easier than the previous matrices. It is clear from inspection that only the 1st and 4th columns of $d_3$ are linear independent, and so they span the image
\[ \image d_3 = \mathbb Z (v_- \otimes v_+ + v_+ \otimes v_-) \oplus \mathbb Z v_- \otimes v_- \]
We can compute the kernel to be spanned by the vectors
\[
\left( \begin{array}{r} 1\\1\\0\\0\\0\\0 \end{array} \right),
\left( \begin{array}{r} -1\\0\\1\\0\\0\\0 \end{array} \right),
\left( \begin{array}{r} 0\\0\\0\\1\\1\\0 \end{array} \right),
\left( \begin{array}{r} 0\\0\\0\\-1\\0\\1 \end{array} \right)
\]
These vector span the space
\begin{align*}
\ker d_3 =& \mathbb Z \left( (1,0,0) v_+ + (0,1,0) v_+ \right) \oplus \mathbb Z \left( -(1,0,0) v_+ + (0,0,1) v_+ \right) \\
          & \mathbb Z \left( (1,0,0) v_- + (0,1,0) v_- \right) \oplus \mathbb Z \left( -(1,0,0) v_- + (0,0,1) v_- \right)
\end{align*}
We now take quotients to compute the homology. The first homology group (meaning the one with the lowest homological degree) is easy enough to compute:
\[ H^{-3} = \ker d_1 = \mathbb Z v_- \otimes v_- \otimes v_- \]
The next group is more complicated to compute, mainly because a look back at $\ker d_2$ and $\image d_1$ shows that they are quite complicated. However, we see that there is a $\mathbb Z^3 v_+ \otimes v_+$ term in $\ker d_2$ and $\image d_1$, so those terms cancel when taking the quotient. Also, it is clear that the last three summands of $\ker d_2$ in \eqref{ker d2} make up all of $\mathbb Z^3 v_- \otimes v_-$ in $(V \otimes V)^3$, whereas the last three summands of $\image d_1$ in \eqref{image d1} span the subspace of $\mathbb Z^3$ generated by $(0,1,1),(1,1,0)$ and $(1,0,1)$. By our useful trick mentioned earlier, we have that the quotient of $\mathbb Z^3$ by the subspace generated by $(0,1,1),(1,1,0)$ and $(1,0,1)$ is isomorphic to $\mathbb Z/d_1 \oplus \mathbb Z/d_2 \oplus \mathbb Z/d_3$, where $d_1,d_2,d_3$ are the eigenvalues of the matrix formed by those vectors. So we have
\[ \frac{\mathbb Z^3}{\< (0,1,1),(1,1,0),(1,0,1) \>} = \mathbb Z/2 \]
Now we have to worry about the stuff left over in $\ker d_2$ and $\image d_1$. This boils down to finding the the following quotient
\[ \frac{ \< \left( \begin{array}{r} 1\\1\\0\\0\\0\\1 \end{array} \right),
             \left( \begin{array}{r} 1\\1\\1\\0\\0\\0 \end{array} \right),
             \left( \begin{array}{r} -1\\0\\0\\1\\0\\0 \end{array} \right),
             \left( \begin{array}{r} 0\\-1\\0\\0\\1\\0 \end{array} \right)
           \>}{ \<
             \left( \begin{array}{r} 1\\1\\0\\0\\0\\1 \end{array} \right),
             \left( \begin{array}{r} 1\\0\\1\\0\\1\\0 \end{array} \right),
             \left( \begin{array}{r} 0\\0\\0\\1\\1\\1 \end{array} \right)
\> } \]
We can't apply our trick in this form though. To make this nicer we can just change the basis: let $v_1,v_2,v_3,v_4$ be the vectors in the numerator (in order), then the bottom vectors can be expressed as $v_1,v_2+v_4,v_1+v_3+v_4$ respectively. Therefore determining the above quotient has become equivalent to find
\[ \frac{ \< \left( \begin{array}{r} 1\\0\\0\\0\\0\\0 \end{array} \right),
             \left( \begin{array}{r} 0\\1\\0\\0\\0\\0 \end{array} \right),
             \left( \begin{array}{r} 0\\0\\1\\0\\0\\0 \end{array} \right),
             \left( \begin{array}{r} 0\\0\\0\\1\\0\\0 \end{array} \right)
           \>}{ \<
             \left( \begin{array}{r} 1\\0\\0\\0\\0\\0 \end{array} \right),
             \left( \begin{array}{r} 0\\1\\0\\1\\0\\0 \end{array} \right),
             \left( \begin{array}{r} 1\\0\\1\\1\\0\\0 \end{array} \right)
\> } \]
The bottom two rows on these vectors is zero, so this is equivalent to determining
\[ \frac{ \< \left( \begin{array}{r} 1\\0\\0\\0 \end{array} \right),
             \left( \begin{array}{r} 0\\1\\0\\0 \end{array} \right),
             \left( \begin{array}{r} 0\\0\\1\\0 \end{array} \right),
             \left( \begin{array}{r} 0\\0\\0\\1 \end{array} \right)
           \>}{ \<
             \left( \begin{array}{r} 1\\0\\0\\0 \end{array} \right),
             \left( \begin{array}{r} 0\\1\\0\\1 \end{array} \right),
             \left( \begin{array}{r} 1\\0\\1\\1 \end{array} \right)
\> }
= \frac{\mathbb Z^4}{ \< (1,0,0,0),(0,1,0,1),(1,0,1,1) \> }
\]
Applying our trick shows that this is isomorphic to $\mathbb Z$. Compiling all of this information we have determined the next homology group
\[ H^{-2} = \mathbb Z \oplus \mathbb Z/2 \]
The next group is easier to compute. An easy inspection shows that $\ker d_3 = \image d_2$, so we have
\[ H^{-1} = \frac{\ker d_3}{\image d_2} = 0 \]
The last group is also pretty easy compute as it is reminiscent of the last homology group in the Hopf link.
\begin{align*}
H^0    =& \frac{V \otimes V}{\image d_3} = \frac{\mathbb Z v_+ \otimes v_+ \oplus \mathbb Z v_- \otimes v_+ \oplus \mathbb Z v_+ \otimes v_- \oplus \mathbb Z v_- \otimes v_-}{\mathbb Z (v_- \otimes v_+ + v_+ \otimes v_-) \oplus \mathbb Z v_- \otimes v_-} \\
       =& \mathbb Z v_+ \otimes v_+ \oplus \frac{\mathbb Z v_- \otimes v_+ \oplus \mathbb Z v_+ \otimes v_-}{\mathbb Z (v_- \otimes v_+ + v_+ \otimes v_-)}
\end{align*}
The last quotient is isomorphic to $\mathbb Z$ since it is $\mathbb Z \oplus \mathbb Z$ modulo the diagonal subgroup. Computing the quantum gradings we get the following table:
\[
\begin{tabular}{|r|c|c|c|c|}
\hline
$\Kh^{r,q}$ & $-3$ & $-2$ & $-1$ & $0$ \\
\hline
$-1$ & & & & $\mathbb Z$ \\
\hline
$-2$ & & & &  \\
\hline
$-3$ & & & & $\mathbb Z$ \\
\hline
$-4$ & & & &  \\
\hline
$-5$ & & $\mathbb Z$ & &  \\
\hline
$-6$ & & & &  \\
\hline
$-7$ & & $\mathbb Z/2$ & &  \\
\hline
$-8$ & & & &  \\
\hline
$-9$ & $\mathbb Z$ & & &  \\
\hline
\end{tabular}
\]

\end{document}

max_stars_repo_name: mbrandonw/my-math-notes

max_issues_repo_name: mbrandonw/my-math-notes

max_forks_repo_name: mbrandonw/my-math-notes