\section{The naive Simulator} A quite big part of the simulations interesting for students and researchers is not covered by stabilizer states and stabilizer circuits. In particular the phase estimation algorithm is essential for many applications. Being able to simulate such an algorithm is essential for education. \subsection{Core Design} The core of the simulator are states represented as numpy arrays \cite{numpy_array} as a both fast, safe and handy storage. They can be modified and viewed without overhead using python and allow fast modification using so-called NumPy ufuncs\cite{numpy_ufunc}. All gates are implemented as NumPy ufuncs and map an $N$ qbit simulator state consisting of a $2^N$ dimensional quantum mechanical state and an $N$ dimensional classical state to a new $2^N$ dimensional quantum mechanical state and an $N$ dimensional classical state. A $N$ qbit quantum mechanical state is the outer (kronecker) product of the $N$ single qbuit state FIXME: source. The