# The newsynth package

**This is a package candidate release!** Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.

**Warnings:**

- From version 1.23 cabal supports specifiying explicit dependencies for Custom setup scripts. Consider using cabal-version >= 1.23 and adding a 'custom-setup' section with a 'setup-depends' field that specifies the dependencies of the Setup.hs script itself. The 'setup-depends' field uses the same syntax as 'build-depends', so a simple example would be 'setup-depends: base, Cabal'.
- Exposed modules use unallocated top-level names: Quantum

A library of algorithms for exact and approximate synthesis of quantum circuits over the Clifford+T gate set. This includes, among other things:

`Quantum.Synthesis.GridSynth`: an efficient single-qubit approximate synthesis algorithm. From N. J. Ross and P. Selinger, "Optimal ancilla-free Clifford+*T*approximation of*z*-rotations", http://arxiv.org/abs/1403.2975.`Quantum.Synthesis.MultiQubitSynthesis`: multi-qubit exact synthesis algorithms. From B. Giles and P. Selinger, "Exact synthesis of multiqubit Clifford+*T*circuits", Physical Review A 87, 032332, 2013, http://arxiv.org/abs/1212.0506.`Quantum.Synthesis.CliffordT`: the computation of Matsumoto-Amano normal forms. From K. Matsumoto and K. Amano, "Representation of Quantum Circuits with Clifford and π/8 Gates", http://arxiv.org/abs/0806.3834.`Quantum.Synthesis.RotationDecomposition`: an algorithm for decomposing multi-qubit unitary operators into one- and two-level unitaries. See e.g. Section 4.5.1 of M. A. Nielsen and I. L. Chuang, "Quantum Computation and Quantum Information", Cambridge University Press, 2002.

This package also provides an easy-to-use command line tool for single-qubit approximate synthesis.

## Properties

Versions | 0.1.0.0, 0.1.1.0, 0.2, 0.2.0.1, 0.3, 0.3.0.1, 0.3.0.2, 0.3.0.3, 0.3.0.3 |
---|---|

Change log | ChangeLog |

Dependencies | base (>=4.5 && <5), containers (>=0.5), fixedprec (>=0.2.2), newsynth, random (>=1.0), superdoc (>=0.1), time (>=1.4) [details] |

License | GPL-3 |

Copyright | Copyright (c) 2012-2016 Neil J. Ross and Peter Selinger |

Author | Neil J. Ross, Peter Selinger |

Maintainer | selinger@mathstat.dal.ca |

Category | Quantum |

Home page | http://www.mathstat.dal.ca/~selinger/newsynth/ |

Executables | gridsynth |

Uploaded | Wed Jul 27 14:48:50 UTC 2016 by PeterSelinger |

## Modules

*Quantum**Synthesis*- Quantum.Synthesis.ArcTan2
- Quantum.Synthesis.Clifford
- Quantum.Synthesis.CliffordT
- Quantum.Synthesis.Diophantine
- Quantum.Synthesis.EuclideanDomain
- Quantum.Synthesis.EulerAngles
- Quantum.Synthesis.GridProblems
- Quantum.Synthesis.GridSynth
- Quantum.Synthesis.LaTeX
- Quantum.Synthesis.Matrix
- Quantum.Synthesis.MultiQubitSynthesis
- Quantum.Synthesis.Newsynth
- Quantum.Synthesis.QuadraticEquation
- Quantum.Synthesis.Ring
- Quantum.Synthesis.RotationDecomposition
- Quantum.Synthesis.StepComp
- Quantum.Synthesis.SymReal
- Quantum.Synthesis.ToReal

[Index]

## Downloads

- newsynth-0.3.0.3.tar.gz [browse] (Cabal source package)
- Package description (included in the package)

#### Maintainers' corner

For package maintainers and hackage trustees