Quantum computers are able to solve certain problems faster than their classical counterparts, but the correctness of their operation depend on quantum states which are highly susceptible to outside interference. Although quantum fault tolerance can protect quantum states from noise, most schemes rely on a subset of operations which alone are insufficient for universal quantum computation. To alleviate this issue, special resources known as non-stabilizer states can be incorporated to enable the implementation of a larger set of operations, thereby achieving universality. These states, however, are usually much more expensive to obtain.
In this presentation, I will discuss a couple of ways in which we can lower our resource usage by reducing the state preparation overhead. To begin, our work examines a class of two qubit quantum circuits to determine their capability for producing non-stabilizer qubits. We find that in the presence of failure, we can perform an operation to recovery one of the input qubits to our two qubit circuits. By doing so, we avoid running a potentially costly procedure to create another copy of the input state. We then look at larger quantum circuits and find that we can arrange the quantum gates and measurements in the circuit to resemble a binary tree. As a result, the quantum circuit naturally divides into different stages of subcircuits that act on isolated groups of qubits.