A quantum programming language by-extension with practical application to quantum algorithms

This thesis examines the state of quantum programming languages (QPLs) and QPLsby- extension, and presents one such Python-based QPL-by-extension called pypSQUEAK Orienting concepts from the twin threads of quantum computing — quantum mechanics and computer science — are established. We find that the quantum random access machine (QRAM) is an especially fruitful model for the consideration o f QPL design. Next, pypSQUEAK is presented through a series of increasingly sophisticated examples. Implementations of two classic quantum algorithms, the Deutsch-Jozsa algorithm and the quantum Fourier transform, are presented. Afterward, we use pypSQUEAK to investigate the effects of various error correction schemes on the fidelity of noisy quantum communications channels. This is accomplished via a Python module implementing three common error-correcting codes: the bit flip code, the phase flip code, and the Shor code. In the presence of bit flip noise, phase flip noise, and amplitude damping, we find that there axe regimes where error correction has a statistically significant impact on fidelity. However, we find no significant impact on fidelity when employing error correction in a depolarizing channel.