# Quantum Computing

There is probably no way to describe a quantum computer that is satisfying, or understandable to a non-quantum physicist. Gartner's definition doesn't help much:

Quantum computers use quantum mechanical states for computation. Data is held in quantum bits (qubits), which have the ability to hold all possible states simultaneously. This property, known as "superposition," gives quantum computers the ability to operate exponentially faster than conventional computers as word length is increased. The data held in qubits is influenced by data held in other qubits, even when physically separated. This effect is known as "entanglement." Achieving both superposition and entanglement is extremely challenging.

While only a handful of very simple quantum computers have been built to solve reference lab problems, quantum computing holds the promise that certain kinds of problems that are fundamentally insoluble using conventional computers, may be solved using quantum computers.

Quantum computers are not general purpose and are not universally fast: They are fast only for certain special categories of problems. Each operation performed on a quantum computer is probably slower than one on a classical computer, but the number of operations needed to achieve a result is exponentially smaller.

**Problem classes amenable to quantum computing**

Some types of problems suited for quantum computers:

- Optimization of complex paths
- Molecular modeling
- Pattern matching
- Image analysis
- Various operations in cryptography and code-breaking

**Promise of quantum computing**

If the difficulties of constructing quantum computers are overcome (and don't expect to see this soon), the results may be dramatic. Many of the algorithms we rely on today for encryption on the internet will become easy to break: We will have to re-think cryptography. On the positive side, many problems we can't solve today will become tractable as well.