\chapter{Built-in Quantum Applications}\label{ch:apps} This section describes the apps provided with this software, in the `Algorithms/' directory. \begin{enumerate} \item Cat-State Preparation: Prepares an $n$-bit quantum register in the maximally entangled Cat-State. The app is parameterized by $n$. \item Quantum Fourier Transform (QFT): Performs quantum Fourier transform on an $n$-bit number. The app is parameterized by $n$. \item Square Root: Uses a quantum concept called \emph{amplitude amplification} to find the square root of an $n$-bit number with the Grover's search technique\cite{Grover}. The app is parameterized by $n$. \item Binary Welded Tree: Uses quantum random walk algorithm to find a path between an entry and exit node of a binary welded tree \cite{ref:bwt}. The app is parameterized by the height of the tree ($n$) and a time parameter ($s$) within which to find the solution. \item Ground State Estimation: Uses quantum phase estimation algorithm to estimate the ground state energy of a molecule \cite{ref:gse}. The app is parameterized by the size of the molecule in terms of its molecular weight (M). \item Triangle Finding Problem: Finds a triangle within a dense, undirected graph \cite{ref:tfp}. The app is parameterized by the number of nodes $n$ in the graph. \item Boolean Formula: Uses the quantum algorithm described in~\cite{ref:boolean_formula}, to compute a winning strategy for the game of Hex. The app is parameterized by size of the Hex board $(x,y)$. \item Class Number: A problem from computational algebraic number theory, to compute the class group of a real quadratic number field \cite{DBLP:conf/stoc/Hallgren05}. The app is parameterized by $p$, the number of digits after the radix point for floating point numbers used in computation. \item Secure Hash Algorithm 1: An implementation of the reverse cryptographic hash function \cite{ref:sha1}. The message is decrypted by using the SHA-1 function as the oracle in a Grovers search algorithm. The app is parameterized by the size of the message in bits ($n$). \item Shor's Factoring Algorithm: Performs factorization using the Quantum Fourier Transform \cite{Shor}. The app is parameterized by $n$, the size in bits of the number to factor. \end{enumerate}