  The simulation of quantum circuits on classical computers is an important
problem in quantum computing. Such simulation requires representations of
distributions over very large sets of basis vectors, and recent work has used
symbolic data-structures such as Binary Decision Diagrams (BDDs) for this
purpose. In this tool paper, we present Quasimodo, an extensible, open-source
Python library for symbolic simulation of quantum circuits. Quasimodo is
specifically designed for easy extensibility to other backends. Quasimodo
allows simulations of quantum circuits, checking properties of the outputs of
quantum circuits, and debugging quantum circuits. It also allows the user to
choose from among several symbolic data-structures -- both unweighted and
weighted BDDs, and a recent structure called Context-Free-Language Ordered
Binary Decision Diagrams (CFLOBDDs) -- and can be easily extended to support
other symbolic data-structures.
