Principles Of Quantum Computation And Information: A Comprehensive Textbook