Quantum computing

See also Quantum programming

Quantum computing is the use of quantum-mechanical phenomena such as superposition and entanglement to perform computation. A quantum computer is used to perform such computation, which can be implemented theoretically or physically.[1]:I-5

The field of quantum computing is actually a sub-field of quantum information science, which includes quantum cryptography and quantum communication. Quantum Computing was started in the early 1980s when Richard Feynman and Yuri Manin expressed the idea that a quantum computer had the potential to simulate things that a classical computer could not.[2][3] In 1994, Peter Shor published an algorithm that is able to efficiently solve some problems that are used in asymmetric cryptography which are considered hard for classical computers.[4]

There are two main approaches to physically implementing a quantum computer currently, analog and digital. Analog approaches are further divided into quantum simulationquantum annealing, and adiabatic quantum computation. Digital quantum computers use quantum logic gates to do computation. Both approaches use quantum bits or qubits.[1]:2-13

Qubits are fundamental to quantum computing and are somewhat analogous to bits in a classical computer. Qubits can be in a 1 or 0 quantum state. But they can also be in a superposition of the 1 and 0 states. However, when qubits are measured the result is always either a 0 or a 1; the probabilities of the two outcomes depends on the quantum state they were in.

Today’s physical quantum computers are very noisy and quantum error correction is a burgeoning field of research. Unfortunately existing hardware is so noisy that fault-tolerant quantum computing [is] still a rather distant dream.[5] As of April 2019 neither large scalable quantum hardware has been demonstrated nor have commercially useful algorithms for today’s small noisy quantum computers been published.[1] There is an increasing amount of investment in quantum computing by governments, established companies, and start-ups.[6] Both applications of near-term intermediate-scale device[5] and the demonstration of quantum supremacy[7] are actively pursued in academic and industrial research.”

Fair Use Source: https://en.wikipedia.org/wiki/Quantum_computing

Quantum programming

Quantum programming is the process of assembling sequences of instructions, called quantum programs, that are capable of running on a quantum computer. Quantum programming languages help express quantum algorithms using high-level constructs.”[1] Fair Use Source: https://en.wikipedia.org/wiki/Quantum_programming