
%%% Local Variables: 
%%% mode: latex
%%% TeX-master: "PREPROP"
%%% End: 

\newpage
\subsection*{Original WPs (to be deleted)}
\label{sec:original-wps-to}

\subsection{Work Packages \REM{1page per WP}}
\label{sec:work-packages}

\wp{Programming language support}\label{wp:frontend}
\emph{Leader:} Valiron.
\emph{Others:} Allouche, Goubault de Brugiere, Jacobs, Marchand, Staton.

\noindent
\emph{AIM:} We will produce several front-end modules which generate
\azx terms from source-code of existing quantum programming languages.
Initially we target \emph{Quipper}
  \cite{Alexander-S.-Green:2013fk}, Python
  \cite{Steiger2016ProjectQ:-An-Op}, and QASM
  \cite{Cross2017Open-Quantum-As}, though other languages may be supported
  opportunistically.
We will also define an open interface to \azx, to permit other
projects to use \azx as part of their software pipeline.
%~\footnote{\url{https://projectq.ch/}}).

\noindent \emph{Objectives:}
\begin{objectives}
\item Basic compilation from HLL to \azx, based on the circuit
  translation. \label{obj:trans1}
\item Advanced compilation from HLL to parametric \azx, building  on \ref{obj:betterboxes}.
 \label{obj:trans2}
\item Define an open API and file format for \azx. \label{obj:API}
\end{objectives}

\wp{Machines and models} \label{wp:backends}
\emph{Leader}:  Abramsky.
\emph{Others}: Allouche, Benjamin, De Beaudrap, Goubault de Brugiere,
Kissinger, Marchand.

\noindent
\emph{AIM:} Produce characterisations of idealised and realistic
target architectures to guide program transformations.  For each
target we will (i) Model which operations are possible on the target
and what architectural limitations are in effect; and (ii) Devise
target-appropriate annotations and cost models to use for
optimisation.  Target architectures during the project are:
\begin{objectives}
\item Idealised quantum circuits (with size constraints) (output:
  QASM \cite{Cross2017Open-Quantum-As})\label{obj:circuit-model}
\item Idealised MBQC (with size constraints) (output: the
  Measurement Calculus \cite{DanosV:meac}).\label{obj:mbqc-model}
\item Classical HPC simulator (ATOS-Bull) \label{obj:HPC-sim-model}
\item Circuit QED / Superconducting qubits (QuTech)\label{obj:delft-model}
\item NQIT (Oxford)\label{obj:NQIT-model}
\item Define open API for back-end modules.
\end{objectives}

\newpage
\wp{Representation and Reasoning in AZX} \label{wp:theory}
\emph{Leader:} Coecke.
\emph{Others:} de Beaudrap, Duncan, Jacobs, Jeandel, Kissinger, Perdrix, Vilmart.

\noindent  
\emph{AIM:} We extend the existing theory of the \zxcalculus to
support the advanced features required by \azx, and devise practical
techniques for exploiting them, in support of \ref{wp:usefulstuff} and
\ref{wp:backends}.

% in two ways:
% to describe the classical control parameters in quantum programs, and to 
% accommodate annotations for machine models and cost models for optimization, bridging between  %We will also further improve our understanding of the ZX-calculu
% s, aiming towards a complete set of rules, and built analogues for arbitrary dimensions.

\noindent \emph{Objectives:}
\begin{objectives}
\item New axioms to treat Clifford + T and supplementarity beyond the
  \zxcalculus, and effective normalisation and decision procedures for
  reasoning about the tensor network layer. \label{obj:axioms}
  % Improved axioms for transforming \azx, building on the axioms for
  % One aim is completeness: all valid transformations are derivable
  % from the axioms.
  % Note completeness for small width circuits is still very useful for us!
\item Develop annotations and augmented rewrites on the tensor network
  to express \emph{discrete} operational properties such as layout
  topology, temporal sequence or causal dependency.\label{obj:annotate1}
% ; ``zones'' corresponding to different implementing
%   technology in hybrid architecture.
\item Develop annotations for \emph{quantitative} properties such as 
  gate/measurement timings and fidelities, qubit-level decoherence
  times, or  entanglement/mutual
  information measures.\label{obj:annotate2}
\item Parametric \azx: representation of uniform parametric families
  of \azx-terms, and rewriting principles to prove equivalences
  between them.\label{obj:betterboxes}
% generalizing 
%   !-boxes~\cite[\S14.2]{Coecke2017Picturing-Quant} to support features such as generalised supplementarity.  
\end{objectives}

\wp{Compiling Quantum Software with AZX}\label{wp:usefulstuff}
\emph{Leader:} Kissinger.
\emph{Others:} Abramsky, de Beaudrap, Duncan, Jeandel, Perdrix, Staton, Vilmart.

\noindent
\emph{AIM:} We will take the language- and platform-independent \azx
representation of a quantum program and rewrite it to a form
well-adapted for execution on a given platform.

\noindent \emph{Objectives:}
\begin{objectives}
\item Perform generic optimisations that are independent of specific annotations
  or machine model.  For example: gate count minimisation. \label{obj:basic-opt}
\item Transform a ``logical'' \azx term to a fault-tolerant version
  of the same program, with respect to a specified error correcting code/scheme.\label{obj:ECC}
\item Transform a platform-independent \azx term to a ``runnable''
  version which can be translated into operations available on a
  specific machine.\label{obj:runnable}
\item Perform architecture-specific optimisations of \azx terms based on timing, gate set/fidelity, and topological constraints.\label{obj:opt-machine}
\end{objectives}
