  The stabiliser formalism plays a central role in quantum computing, error
correction, and fault-tolerance. Stabiliser states are used to encode
computational basis states. Clifford gates are those which can be easily
performed fault-tolerantly in the most common error correction schemes. Their
mathematical properties are the subject of significant research interest.
  Conversions between and verifications of different specifications of
stabiliser states and Clifford gates are important components of many classical
algorithms in quantum information, e.g. for gate synthesis, circuit
optimisation, and for simulating quantum circuits. These core functions are
also used in the numerical experiments critical to formulating and testing
mathematical conjectures on the stabiliser formalism.
  We develop novel mathematical insights concerning stabiliser states and
Clifford gates that significantly clarify their descriptions. We then utilise
these to provide ten new fast algorithms which offer asymptotic advantages over
any existing implementations. We show how to rapidly verify that a vector is a
stabiliser state, and interconvert between its specification as amplitudes, a
quadratic form, and a check matrix. These methods are leveraged to rapidly
check if a given unitary matrix is a Clifford gate and to interconvert between
the matrix of a Clifford gate and its compact specification as a stabiliser
tableau.
  For example, we extract the stabiliser tableau of a Clifford gate matrix with
$N^2$ entries in $O(N \log N)$ time. Remarkably, it is not necessary to read
all the elements of a Clifford matrix to extract its stabiliser tableau. This
is an asymptotic speedup over the best-known method that is superexponential in
the number of qubits.
  We provide example implementations of our algorithms in Python.
