% Encoding: UTF-8

@misc{ibmqx,
    title = {IBM Quantum Experience},
    howpublished = {\url{https://quantum-computing.ibm.com/}},
    note = {Accessed: 2020-05-04}
}

@misc{cross2021openqasm,
       title={OpenQASM 3: A broader and deeper quantum assembly language},
       author={Andrew W. Cross and Ali Javadi-Abhari and Thomas Alexander and Niel de Beaudrap and Lev S. Bishop and Steven Heidel and Colm A. Ryan and John Smolin and Jay M. Gambetta and Blake R. Johnson},
       year={2021},
       eprint={2104.14722},
       archivePrefix={arXiv},
       primaryClass={quant-ph}
 }

@article{steane99,
    author = {A. M. Steane},
    title = {Space, Time, Parallelism and Noise Requirements for Reliable Quantum Computing},
    journal = {Fortschritte der Physik},
    volume = {46},
    number = {443},
    year = {1999}
}

@article{abo08,
    author = {D. Aharonov and M. Ben-Or},
    title = {Fault-Tolerant Quantum Computation with Constant Error Rate},
    journal = {SIAM J. Comput.},
    volume = {38},
    number = {4},
    pages = {1207--1282},
    year = {2008}
}

@article{fwh12,
    title = {Towards Practical Classical Processing for the Surface Code},
    author = {A. G. Fowler and A. C. Whiteside and L. C. L. Hollenberg},
    journal = {Phys. Rev. Lett.},
    volume = {108},
    number = {180501},
    year = {2012}
}

@article{dataflow04,
    author = {W. M. Johnston and J. R. Paul Hanna and R. J. Millar},
    title = {Advances in dataflow programming languages},
    journal = {ACM Computing Surveys},
    volume = {36},
    number = {1},
    year = {2004}
}

@article{delfosse20,
    author = {N. Delfosse},
    title = {Hierarchical decoding to reduce hardware requirements for quantum computing},
    journal = {arXiv:2001.11427},
    year = {2020}
}

@article{das20,
    author = {P. Das and C. A. Pattison and S. Manne and D. Carmean and K. Svore and M. Qureshi and N. Delfosse},
    title = {A Scalable Decoder Micro-architecture for Fault-Tolerant Quantum Computing},
    journal = {arXiv:2001.06598},
    year = {2020}
}

@article{eqasm19,
    title = {eQASM: An Executable Quantum Instruction Set Architecture},
    author = {X. Fu and L. Riesebos and M. A. Rol and J. van Straten and J. van Someren and N. Khammassi and I. Ashraf and R. F. L. Vermeulen and V. Newsum and K. K. L. Loh and J. C. de Sterke and W. J. Vlothuizen and R. N. Schouten and C. G. Almudever and L. DiCarlo and K. Bertels},
    journal = {Proc. 25th International Symposium on High-Performance Computer Architecture (HPCA19)},
    year = {2019}
}

@article{jaqal20,
    author = {A. J. Landahl and D. S. Lobser and B. C. A. Morrison and K. M. Rudinger and A. E. Russo and J. W. Van Der Wall and P. Maunz},
    title = {Jaqal, the Quantum Assembly Language for QSCOUT},
    journal = {arXiv:2003.09382},
    year = {2020}
}

@article{selinger04,
    author = {P. Selinger},
    title = {A brief survey of quantum programming languages},
    journal = {Proc. Seventh Int'l Symp. Functional and Logic Programming},
    pages = {1--6},
    year = {2004}
}

@article{gay06,
    title = {Quantum programming languages: survey and bibliography},
    author = {S.~Gay},
    journal = {Math. Structures in Computer Science},
    volume = {16},
    pages = {581--600},
    year = {2006}
}

@article{haner16,
    author = {T.~H\"aner and D.~Steiger and K.~Svore and M.~Troyer},
    title = {A software methodology for compiling quantum programs},
    journal = {arxiv:1604.01401},
    year = {2016}
}

@article{ws14,
    author = {D.~Wecker and K.~Svore},
    title = {{LIQ$Ui|\rangle$}: A software design architecture and domain-specific language for quantum computing},
    journal = {arXiv:1402.4467},
    year = {2014}
}

@misc{liquid,
    author = {{LIQ$Ui|\rangle$}: {T}he {L}anguage {I}ntegrated {Q}uantum {O}perations {S}imulator},
    journal = {\url{http://stationq.github.io/Liquid/}},
    year = {accessed November 2016}
}

@article{scaffold,
    author = {A.~JavadiAbhari and S.~Patil and D.~Kudrow and J.~Heckey and A.~Lvov and F.~Chong and M.~Martonosi},
    title = {{ScaffCC}: a framework for compilation and analysis of quantum computing programs},
    journal = {ACM International Conference on Computing Frontiers (CF 2014)},
    year = {2014}
}

@misc{scaffcc,
    title = {Compilation, analysis and optimization framework for the {S}caffold quantum programming language},
    journal = {\url{https://github.com/epiqc/ScaffCC}},
    year = {accessed November 2016}
}

@article{CBSG17,
	author = {A. W. Cross and L. Bishop and J. Smolin and J. Gambetta},
	title = {Open quantum assembly language},
	journal = {arXiv:1707.03429},
	year = {2017}
}

@inproceedings{Amy19,
	author = {M. Amy},
	title = {Sized types for low-level quantum metaprogramming},
	editor = {Thomsen M., Soeken M.},
	organization = {Reversible Computation. RC 2019.},
	booktitle = {Lecture Notes in Computer Science, vol 11497.},
	publisher = {Springer},
	year = {2019}
}

@article{Knill96pseudo,
	author = {E. Knill},
	title = {Conventions for quantum pseudocode},
	journal = {Tech. Rep. LAUR-96-2724,  Los  Alamos  National  Laboratory},
	year = {1996}
}

@article{svore06,
	author = {K. M. Svore and A.  W.  Cross and I.  L.  Chuang and A.  V.  Aho and I. L. Markov},
	title = {A Layered Software Architecture for Quantum Computing Design Tools},
	journal = {Computer},
	volume = {39},
	number = {1},
	pages = {74-–83},
	year = {2006}
}

@article{Mis11,
	author = {J. A. Miszczak},
	title = {Models of quantum computation and quantum programming languages},
	journal = {Bull. Pol. Acad. Sci.-Tech. Sci.},
	volume = {59},
	number = {3},
	year = {2011},
	pages = {305--324}
}

@article{Flowchart11,
	author = {M. Ying and Y. Feng},
	title = {A Flowchart Language for Quantum Programming},
	journal = {IEEE Trans. Software Engineering},
	volume = {37},
	number = {4},
	year = {2011}
}

@article{Reqasm,
	author = {N. de Beaudrap},
	title = {REQASM: a recursive extension to OPENQASM},
	journal = {private communication},
	year = {2019}
}

@article{BCS03,
    author = {S. Bettelli and T. Calarco and L. Serafini},
    title = {Toward an Architecture for Quantum Programming},
    journal = {The European Physical J. D},
    volume = {25},
    pages = {181--200},
    year = {2003}
}

@book{NC00,
    author = {M.A. Nielsen and I.L. Chuang},
    title = {Quantum Computation and Quantum Information},
    publisher = {Cambridge Univ. Press},
    year = {2000}
}

@article{valiron15,
    author = {B.~Valiron and N.~Ross and P.~Selinger and D.~Scott Alexander and J.~Smith},
    title = {Programming the quantum future},
    journal = {Communications of the ACM},
    volume = {58},
    number = {8},
    pages = {52--61},
    year = {2015}
}

@misc{quipper,
    title = {The {Q}uipper {L}anguage},
    journal = {\url{http://www.mathstat.dal.ca/~selinger/quipper/}},
    year = {accessed November 2016}
}

@article{green13,
    author = {A.~S. Green and P.~LeFanu Lumsdaine and N.~J. Ross and P.~Selinger and B.~Valiron},
    title = {Quipper: a scalable quantum programming language},
    journal = {ACM SIGPLAN Notices},
    volume = {48},
    number = {6},
    pages = {333--342},
    year = {2013}
}

@article{steiger16,
    author = {M.~Troyer and D.~S.~Steiger and T.~H\"aner},
    title = {{P}roject{Q}: An open source software framework for quantum
  computing},
    journal = {arXiv:1612.08091},
    year = {2016}
}

@misc{projectq,
    title = {{P}roject{Q}},
    journal = {\url{https://projectq.ch}},
    year = {accessed January 2017}
}

@article{omer03,
    author = {B.~Omer},
    title = {Structured quantum programming},
    journal = {Vienna University of Technology, Ph. D. thesis},
    year = {2003}
}

@misc{qcl,
    author = {B.~Omer},
    title = {{QCL} -- a programming language for quantum computers},
    journal = {\url{http://tph.tuwien.ac.at/~oemer/qcl.html}},
    year = {1998, accessed November 2016}
}

@misc{quiddpro,
    author = {G.~Viamontes and H.~Garcia and I.~Markov and J.~Hayes},
    title = {{QuIDDPro}: High-performance quantum circuit simulation},
    journal = {\url{http://vlsicad.eecs.umich.edu/Quantum/qp/}},
    year = {2004, accessed November 2016}
}

@article{viamontes05,
    author = {G.~F. Viamontes and I.~L. Markov and J.~P. Hayes},
    title = {Graph-based simulation of quantum computation in the density matrix representation},
    journal = {Quant. Inf. Comp.},
    volume = {5},
    number = {2},
    pages = {113--130},
    year = {2005}

}

@article{chiselq,
    author = {X.~Liu and J.~Kubiatowicz},
    title = {{Chisel-Q}: designing quantum circuits with a {S}cala embedded language},
    journal = {IEEE 31st International Conference on Computer Design (ICCD)},
    year = {2013}
}

@misc{chisel,
    title = {Chisel: constructing hardware in a {S}cala embedded language},
    journal = {\url{https://chisel.eecs.berkeley.edu/}},
    year = {accessed November 2016}
}

@misc{Quil,
    title = {Quil},
    journal = {\url{https://github.com/rigetticomputing/pyquil}},
    year = {2017}
}


@article{smith16,
    author = {R.~Smith and M.~Curtis and W.~Zeng},
    title = {A practical quantum instruction set architecture},
    journal = {arXiv:1608.03355},
    year = {2016}
}

@misc{qasm2circ,
    author = {I. Chuang},
    title = {qasm2circ},
    journal = {\url{http://www.media.mit.edu/quanta/qasm2circ/}},
    year = {2005, accessed November 2016}
}

@misc{qasmtools,
    author = {A. W. Cross},
    title = {qasm-tools},
    journal = {\url{http://www.media.mit.edu/quanta/quanta-web/projects/qasm-tools/}},
    year = {2005, accessed November 2016}
}

@article{quale,
    author = {S.~Balensiefer and L.~Kreger-Stickles and M.~Oskin},
    title = {{QUALE}: quantum architecture layout evaluator},
    journal = {Proc. SPIE 5815, Quantum information and computation III},
    volume = {103},
    year = {2005}
}

@article{dousti16,
    author = {M.~Dousti and A.~Shafaei and M.~Pedram},
    title = {{S}quash 2: a hierarchical scalable quantum mapper considering ancilla sharing},
    journal = {Quant. Inf. Comp.},
    volume = {16},
    number = {4},
    year = {2016}
}

@article{barenco95,
    author = {A.~Barenco and C.~Bennett and R.~Cleve and D.~DiVincenzo and N.~Margolus and P.~Shor and T.~Sleator and J.~Smolin and H.~Weinfurter},
    title = {Elementary gates for quantum computation},
    journal = {Phys. Rev. A},
    volume = {52},
    number = {3457},
    year = {1995}
}

@book{mermin,
    author = {N.~D. Mermin},
    title = {Quantum Computer Science},
    publisher = {Cambridge},
    year = {2007}
}

@article{cuccaro04,
    author = {S.~Cuccaro and T.~Draper and S.~Kutin and D.~Moulton},
    title = {A new quantum ripple-carry addition circuit},
    journal = {arXiv:quant-ph/0410184},
    year = {2004}
}

@misc{qpic,
    author = {T.~Draper and S.~Kutin},
    title = {$\langle\mathrm{q}|\mathrm{pic}\rangle$: Quantum circuit diagrams in latex},
    journal = {\url{https://github.com/qpic/qpic}},
    year = {2016, accessed November 2016}
}


@incollection{wilkesBestWayDesign1989,
  title = {The Best Way to Design an Automatic Calculating Machine},
  booktitle = {The Early {{British}} Computer Conferences},
  author = {Wilkes, M. V.},
  year = {1989},
  month = may,
  pages = {182--184},
  publisher = {{MIT Press}},
  address = {{Cambridge, MA, USA}},
  isbn = {978-0-262-23136-7}
}

@book{knuth1984texbook,
  title={The texbook},
  author={Knuth, Donald Ervin and Bibby, Duane},
  volume={3},
  year={1984},
  publisher={Addison-Wesley Reading}
}

@misc{wikipediaUnicode,
  author = "Wikipedia contributors",
  title = "Unicode character property, General Category --- {Wikipedia}{,} The Free Encyclopedia",
  year = "2022",
  url = "https://en.wikipedia.org/w/index.php?title=Unicode_character_property&oldid=1114571327#General_Category",
  note = "[Online; accessed 14-December-2022]"
}

@misc{khammassi18,
      title={cQASM v1.0: Towards a Common Quantum Assembly Language},
      author={N. Khammassi and G. G. Guerreschi and I. Ashraf and J. W. Hogaboam and C. G. Almudever and K. Bertels},
      year={2018},
      eprint={1805.09607},
      archivePrefix={arXiv},
      primaryClass={quant-ph}
}

@article{desef2020yquant,
  title={yquant: Typesetting quantum circuits in a human-readable language},
  author={Desef, Benjamin},
  journal={arXiv preprint arXiv:2007.12931},
  year={2020}
}

@article{peruzzo2014variational,
   title={A variational eigenvalue solver on a photonic quantum processor},
   volume={5},
   ISSN={2041-1723},
   url={http://dx.doi.org/10.1038/ncomms5213},
   DOI={10.1038/ncomms5213},
   number={1},
   journal={Nature Communications},
   publisher={Springer Science and Business Media LLC},
   author={Peruzzo, Alberto and McClean, Jarrod and Shadbolt, Peter and Yung, Man-Hong and Zhou, Xiao-Qi and Love, Peter J. and Aspuru-Guzik, Alán and O’Brien, Jeremy L.},
   year={2014},
   month={Jul}
}

@article{levine2019,
    author = {H.~Levine and A.~Keesling and G.~Semeghini and A.~Omran and T.T.~Wang and S.~Ebadi and H.~Bernien and M.~Greiner and V.~Vuleti{\'{c}} and H.~Pichler and M.D.~Lukin},
    title = {Parallel Implementation of High-Fidelity Multiqubit Gates with Neutral Atoms},
    journal = {Phys. Rev. Lett.},
    volume = {123},
    number = {17},
    year = {2019}
}

@article{mckay2018,
    author = {D.C.~Mckay and and T.~Alexander and L.~Bello and M.J.~Biercuk and L.~Bishop and J.~Chen and J.M.~Chow and D.C.~Antonio and D.~Egger and S.~Filipp and J.~Gomez and M.~Hush and A.~Javadi-Abhari and D.~Moreda and P.~Nation and B.~Paulovicks and E.~Winston and C.J.~Wood and J.~Wootton and J.M.~Gambetta},
    title = {Qiskit Backend Specifications for OpenQASM and OpenPulse Experiments},
    year = {2018},
    eprint = {1809.03452v1},
    archivePrefix = {arXiv},
    primaryClass={quant-ph},
    journal= {Arxiv}
}


@article{alexanderQiskitPulseProgramming2020a,
  title = {Qiskit Pulse: Programming Quantum Computers through the Cloud with Pulses},
  shorttitle = {Qiskit Pulse},
  author = {Alexander, Thomas and Kanazawa, Naoki and Egger, Daniel J. and Capelluto, Lauren and Wood, Christopher J. and {Javadi-Abhari}, Ali and McKay, David C.},
  year = {2020},
  month = aug,
  volume = {5},
  pages = {044006},
  publisher = {{IOP Publishing}},
  issn = {2058-9565},
  doi = {10.1088/2058-9565/aba404},
  abstract = {The quantum circuit model is an abstraction that hides the underlying physical implementation of gates and measurements on a quantum computer. For precise control of real quantum hardware, the ability to execute pulse and readout-level instructions is required. To that end, we introduce Qiskit Pulse, a pulse-level programming paradigm implemented as a module within Qiskit-Terra [1]. To demonstrate the capabilities of Qiskit Pulse, we calibrate both un-echoed and echoed variants of the cross-resonance entangling gate with a pair of qubits on an IBM Quantum system accessible through the cloud. We perform Hamiltonian characterization of both single and two-pulse variants of the cross-resonance entangling gate with varying amplitudes on a cloud-based IBM Quantum system. We then transform these calibrated sequences into a high-fidelity CNOT gate by applying pre and post local-rotations to the qubits, achieving average gate fidelities of F = 0.981 and F = 0.979 for the un-echoed and echoed respectively. This is comparable to the standard backend CNOT fidelity of FCX = 0.984. Furthermore, to illustrate how users can access their results at different levels of the readout chain, we build a custom discriminator to investigate qubit readout correlations. Qiskit Pulse allows users to explore advanced control schemes such as optimal control theory, dynamical decoupling, and error mitigation that are not available within the circuit model.},
  file = {/Users/thomas/Zotero/storage/9T2I8LM7/Alexander et al. - 2020 - Qiskit pulse programming quantum computers throug.pdf},
  journal = {Quantum Science and Technology},
  language = {en},
  number = {4}
}

@misc{DiCarloLabDelftPycQEDPy32021,
  title = {{{DiCarloLab}}-{{Delft}}/{{PycQED}}\_py3},
  year = {2021},
  month = may,
  abstract = {Python3 version of PycQED using QCoDeS as backend},
  copyright = {MIT},
  howpublished = {DiCarlo Lab}
}

@misc{ExperimentalMicroarchitectureSuperconducting,
  title = {An Experimental Microarchitecture for a Superconducting Quantum Processor | {{Proceedings}} of the 50th {{Annual IEEE}}/{{ACM International Symposium}} on {{Microarchitecture}}},
  file = {/Users/thomas/Zotero/storage/SL9Z43CX/3123939.html},
  howpublished = {https://dl.acm.org/doi/10.1145/3123939.3123952}
}

@article{freyProgrammingFullStack2021,
  title = {Programming the Full Stack of an Open-Access Quantum Computer},
  author = {Frey, Virginia and Rademacher, Richard and {Durso-Sabina}, Elijah and Greenberg, Noah and Videnov, Nikolay and Day, Matthew L. and Islam, Rajibul and Senko, Crystal},
  year = {2021},
  month = jun,
  abstract = {We present a new quantum programming language called "Quala" that enables true full-stack programming of quantum hardware. Quala allows seamless integration of abstraction layers such as the digital circuit layer and the analog control pulse waveform layer. Additionally, the language supports user-issued low-level hardware instructions like FPGA actions. Mid-circuit measurements and branching decision logic support real-time, adaptive programs. This flexibility allows users to write code for everything from quantum error correction to analog quantum simulation. The combination of a user-facing calibration database and a powerful symbolic algebra framework provides users with an unprecedented level of expressiveness and transparency. We display the salient characteristics of the language structure and describe how the accompanying compiler can translate programs written in any abstraction layer into precisely timed hardware commands. We intend for this language to bridge the gap between circuit-level programming and physical operations on real hardware while maintaining full transparency in each level of the stack. This eliminates the need for "behind-the-scenes" compilation and provides users with insights into the day-to-day calibration routines.},
  archiveprefix = {arXiv},
  eprint = {2106.06549},
  eprinttype = {arxiv},
  file = {/Users/thomas/Zotero/storage/89S4XZWC/Frey et al. - 2021 - Programming the full stack of an open-access quant.pdf;/Users/thomas/Zotero/storage/H5IEVPTB/2106.html},
  journal = {arXiv:2106.06549 [quant-ph]},
  keywords = {Quantum Physics},
  primaryclass = {quant-ph}
}

@article{nguyenEnablingPulselevelProgramming2020,
  title = {Enabling {{Pulse}}-Level {{Programming}}, {{Compilation}}, and {{Execution}} in {{XACC}}},
  author = {Nguyen, Thien and McCaskey, Alexander},
  year = {2020},
  month = mar,
  abstract = {Noisy gate-model quantum processing units (QPUs) are currently available from vendors over the cloud, and digital quantum programming approaches exist to run low-depth circuits on physical hardware. These digital representations are ultimately lowered to pulse-level instructions by vendor quantum control systems to affect unitary evolution representative of the submitted digital circuit. Vendors are beginning to open this pulse-level control system to the public via specified interfaces. Robust programming methodologies, software frameworks, and backend simulation technologies for this analog model of quantum computation will prove critical to advancing pulse-level control research and development. Prototypical use cases for this include error mitigation, optimal pulse control, and physics-inspired pulse construction. Here we present an extension to the XACC quantum-classical software framework that enables pulse-level programming for superconducting, gate-model quantum computers, and a novel, general, and extensible pulse-level simulation backend for XACC that scales on classical compute clusters via MPI. Our work enables custom backend Hamiltonian definitions and gate-level compilation to available pulses with a focus on performance and scalability. We end with a demonstration of this capability, and show how to use XACC for pertinent pulse-level programming tasks.},
  archiveprefix = {arXiv},
  eprint = {2003.11971},
  eprinttype = {arxiv},
  file = {/Users/thomas/Zotero/storage/YU7N5IH8/Nguyen and McCaskey - 2020 - Enabling Pulse-level Programming, Compilation, and.pdf;/Users/thomas/Zotero/storage/PDA3SVRK/2003.html},
  journal = {arXiv:2003.11971 [physics, physics:quant-ph]},
  keywords = {Physics - Computational Physics,Quantum Physics},
  primaryclass = {physics, physics:quant-ph}
}

@misc{QuillangQuil2021,
  title = {Quil-Lang/Quil},
  year = {2021},
  month = jun,
  abstract = {Specification of Quil: A Practical Quantum Instruction Set Architecture},
  copyright = {Apache-2.0},
  howpublished = {quil-lang},
  keywords = {forest,quantum-computing,quantum-programming,quil}
}
