  We present a comprehensive study of quantum simulation methods and quantum
simulators for classical computers. We first study an exhaustive set of 150+
simulators and quantum libraries. Then, we short-list the simulators that are
actively maintained and enable simulation of quantum algorithms for more than
10 qubits. As a result, we realize that most efficient and actively maintained
simulators have been developed after 2010. We also provide a taxonomy of the
most important simulation methods, namely Schrodinger-based, Feynman path
integrals, Heisenberg-based, and hybrid methods. We observe that most
simulators fall in the category of Schrodinger-based approaches. However, there
are a few efficient simulators belonging to other categories. We also make note
that quantum frameworks form their own class of software tools that provide
more flexibility for algorithm designers with a choice of simulators/simulation
method. Another contribution of this study includes the use and classification
of optimization methods used in a variety of simulators. We observe that some
state-of-the-art simulators utilize a combination of software and hardware
optimization techniques to scale up the simulation of quantum circuits. We
summarize this study by providing a roadmap for future research that can
further enhance the use of quantum simulators in education and research.
