API
The QuEST API is divided into the following modules.
 UnitariesUnitary gates
 GatesNon-unitary but norm-preserving gates, such as measurements
 OperatorsNon-physical operators which may be non-unitary, non-norm-preserving, even non-Hermitian
 DecoherenceDecoherence channels which act on density matrices to induce mixing
 Data structuresPrecision-agnostic types and data structures for representing numbers, quantum states, and operators
 CalculationsCalculations and property-getters which do not modify the studied quantum state
 State initialisationsFunctions for preparing quantum states
 QASM LoggingFunctions for recording performed gates to QASM
 DebuggingUtilities for seeding and debugging, such as state-logging
 Unit testsUnit tests of the QuEST API, using Catch2 in C++14
 Unit test utilitiesFunctions used in the unit testing