Quantum Computer Theory