The main class for quantum computation.
QuantumComputer is a singleton, which instance can be obtained by calling GetInstance method. QuantumComputer can create and delete the Register class (Registers cannot be created independently by new operator). Quantum computations can be performed by Register class, but also by QuantumComputer class, by using its extension methods located in namespace Quantum.Operations.
The basic unit needed for performing quantum computation.
QuantumComputer may have zero to many Registers, but at least one is required to perform quantum computations. Register consist of qubits, which are targets for quantum gates. To apply a quantum gate, use methods of Register class (for computation on its qubits) or extension methods of QuantumComputer class (for computation on qubits in different registers; see Quantum.Operations).
Register is not an independent class. It could be created and deleted only by QuantumComputer.
This structure represents a reference to a qubit in quantum register.