A quantum computer is a computer that operates on and/or incorporates aspects of quantum theory. Quantum computers are largely theoretical because of the massive amount of data needed to make them perform significantly, although some practical models have been developed, and current research is attempting to realize some of the theory of quantum computing.
Quantum computers may also be called probabilistic or nondeterministic computers.
One of the basic characteristics of quantum computing relates to the units used for data manipulation. In a conventional computer, these units are bits, which are binary values. In quantum computing and quantum computer models, the basic units are qubits, which can have a zero or a one value, or one of several additional values. The problem of representing these qubits in a data storage space is one of the essential barriers to practical quantum computer design.
Another characteristic of quantum computers relates to command structures. A traditional and linear computer has only one command for a given state; this command is described as deterministic. Models like the nondeterministic Turing machine (NTM) provide more than one possible command response to a given state. This is a fundamental aspect of quantum computer design.
In general, quantum computers use concepts like entanglement, or other ideas that enhance the structure of basic models, from qubits to larger nondeterministic concepts or ideas about how quantum mechanics can be applied to a computing model.