Quantum Gates and Circuits