Quantum computers may tackle problems beyond the capabilities of current computers. However, only small scale quantum devices are currently available. This introduces a need for fast and accurate simulation methods and tools.In this work, a series of tools for simulating quantum computers are developed. Existing techniques are built upon, and new algorithms are developed. A classical preprocessing step is introduced, allowing for optimizations throughout the simulation process. These developments create a coherent approach towards the simulation of quantum circuits, that can be used by any researcher to improve the simulation process for any quantum circuit, allowing more qubits, more quantum gates and faster development times.