Extension methods for performing simple, classically-inspired addition.
To add two registers, call Add(QuantumComputer, Register, Register). To inverse the operation (perform a subtraction), call InverseAdd(QuantumComputer, Register, Register). The rest of methods here are helpers used for performing these two. Nevertheless, each can be called independently.
Extension methods for performing modular exponentiation of quantum registers.
Important extensions for performing any operation referencing more than one register, e.g. C-NOT where the control bit is in different register than the target bit.
This class contains every quantum gate operation implemented in Register class, which enables performing them on qubits in different registers.
Extensions for performing the Quantum Fourier Transform.
Extensions performing Swap operations.
Simple extension for applying Hadamard gates on each qubit in Register. Such operation is called Walsh-Hadamard transform.