Quantum computing is a novel paradigm for computing. Quantum mechanical systems can exist as a superposition of states and this property can be used to design computing systems that can encode several possible solutions simultaneously. Certain problems that require an exponentially large time on an ordinary computer may be solved in linear time using Quantum computers. Basic unit of information storage in a quantum computer is called the qubit. Whereas a conventional computer stores bits (which can be either 1 or 0), a state (qubit) in a quantum computer can be simultaneously both 0 and 1 (this is called superposition of states).
To create a working Quantum computer, it is necessary to create:
- A coherent superposition of states,
- Manipulate the coherence in a manner specified by the algorithm of interest and
- Read out the result. In a conventional Quantum computer, readout results in a collapse of the superposition of states into a single 'pure' state. In an ensemble Quantum computer, readout is the expectation value of the observable.
Experiments demonstrating ensemble quantum computing algorithms have been successfully implemented on NMR spectrometers. Such (an expectation value) Quantum computer can solve some problems in polynomial time that would be non deterministic polynomial time complete (NP complete) on a conventional computer. Other experimental methods have also been used to demonstrate the experimental feasibility of a Quantum computer.
- Shor, P.W (1994), "Algorithms for Quantum Computation: Discrete Logarithms and Factoring", Annual Symposium on Foundations of Computer Science 35: 124–124
- D.G.Cory, A.Fahmy, T.F.Havel (1997), "Ensemble quantum computing by NMR spectroscopy", Proceedings of the National Academy of Sciences 94 (5): 1634–1639, DOI:10.1073/pnas.94.5.1634