Computers that perform computations using quantum phenomena such as superposition and entanglement, are known as quantum computers. Building a quantum computer is very challenging and expensive, as it requires highly sensitive components and highly controlled environment; physical quantum computers are crippled by errors in the form of noise, faults and loss of quantum coherence.