skip to main content
10.1145/3594671.3594688acmotherconferencesArticle/Chapter ViewAbstractPublication PagesprogrammingConference Proceedingsconference-collections
research-article

Symbolic Quantum Programming for Supporting Applications of Quantum Computing Technologies

Published: 12 September 2023 Publication History

Abstract

The goal of this paper is to deliver the overview of the current state of the art, provide experience report on developing quantum software tools, and outline the perspective for developing quantum programming tools supporting symbolic programming for the needs of quantum computing technologies. The main focus of this paper is on quantum computing technologies, as they can in the most direct way benefit from developing tools enabling the symbolic manipulation of quantum circuits and providing software tools for creating, optimizing, and testing quantum programs. We deliver a short survey of the most popular approaches in the field of quantum software development, pointing their strengths and weaknesses. This helps to formulate a list of desirable characteristics which should be included in quantum computing frameworks. Next, we describe a software architecture and its preliminary implementation supporting the development of quantum programs using symbolic approach, encouraging the functional programming paradigm, and, at the same, time enabling the integration with high-performance and cloud computing. The described software consists of several packages developed to address different needs, but nevertheless sharing common design concepts. We also outline how the presented approach could be used in tasks in quantum software engineering: quantum software testing and quantum circuit construction.

References

[1]
Shaukat Ali, Tao Yue, and Rui Abreu. 2022. When software engineering meets quantum computing. Commun. ACM 65, 4 (mar 2022), 84–88. https://doi.org/10.1145/3512340
[2]
Amazon. 2021. Braket – Accelerate quantum computing research. https://aws.amazon.com/braket/quantum-computers/
[3]
European Commission. 2020. New Strategic Research Agenda on Quantum technologies. https://europa.eu/!qmrH3k.
[4]
European Innovation Council. 2022. EIC Pathfinder Challenge: Alternative approaches to Quantum Information Processing, Communication, and Sensing. https://europa.eu/!Vnrh9X.
[5]
Peter E. Falloon, Jeremy Rodriguez, and Jingbo B. Wang. 2017. QSWalk: A Mathematica package for quantum stochastic walks on arbitrary graphs. Comput. Phys. Commun.7 217 (2017), 162–170. https://doi.org/10.1016/j.cpc.2017.03.014
[6]
Sukhpal Singh Gill, Adarsh Kumar, Harvinder Singh, Manmeet Singh, Kamalpreet Kaur, Muhammad Usman, and Rajkumar Buyya. 2021. Quantum computing: A taxonomy, systematic review and future directions. Software: Practice and Experience 52, 1 (oct 2021), 66–114. https://doi.org/10.1002/spe.3039
[7]
Adam Glos, Jarosław Adam Miszczak, and Mateusz Ostaszewski. 2019. QSWalk.jl: Julia package for quantum stochastic walks analysis. Comput. Phys. Commun. 235 (2019), 414–421. https://doi.org/10.1016/j.cpc.2018.09.001
[8]
Alexander S. Green, Peter LeFanu Lumsdaine, Neil J. Ross, Peter Selinger, and Benoît Valiron. 2013. Quipper: a scalable quantum programming language. In Proceedings of the 34th ACM SIGPLAN Conference on Programming Language Design and Implementation. ACM. https://doi.org/10.1145/2491956.2462177
[9]
Aram W. Harrow and Ashley Montanaro. 2017. Quantum computational supremacy. Nature 549, 7671 (2017), 203–209. https://doi.org/10.1038/nature23458
[10]
Konrad Hinsen. 2009. The Promises of Functional Programming. Comput. Sci. Eng. 11, 4 (jul 2009), 86–90. https://doi.org/10.1109/mcse.2009.129
[11]
Thomas Häner, Damian S Steiger, Krysta Svore, and Matthias Troyer. 2018. A software methodology for compiling quantum programs. Quantum Science and Technology 3, 2 (feb 2018), 020501. https://doi.org/10.1088/2058-9565/aaa5cc
[12]
IBM. 2020. IBM’s roadmap for scaling quantum technology. https://research.ibm.com/blog/ibm-quantum-roadmap
[13]
IBM. 2022. At what cost can we simulate large quantum circuits on small quantum computers?https://research.ibm.com/blog/circuit-knitting-with-classical-communication
[14]
IBM. 2022. Quantum-centric supercomputing: The next wave of computing. https://research.ibm.com/blog/next-wave-quantum-centric-supercomputing.
[15]
IBM Qiskit. 2022. Providers Interface. https://qiskit.org/documentation/apidoc/providers.html
[16]
Intel. 2020. Quantum Simulator (Intel-QS/qHiPSTER). https://github.com/intel/intel-qs
[17]
J.R. Johansson, P.D. Nation, and Franco Nori. 2013. QuTiP 2: A Python framework for the dynamics of open quantum systems. Computer Physics Communications 184, 4 (apr 2013), 1234–1240. https://doi.org/10.1016/j.cpc.2012.11.019
[18]
Jerzy Karczmarczuk. 1999. Scientific computation and functional programming. Computing in Science & Engineering 1, 3 (1999), 64–72. https://doi.org/10.1109/5992.764217
[19]
Jerzy Karczmarczuk. 2003. Structure and interpretation of quantum mechanics. In Proceedings of the 2003 ACM SIGPLAN workshop on Haskell. ACM. https://doi.org/10.1145/871895.871901
[20]
Jerzy Karczmarczuk. 2011. Specific "scientific" data structures, and their processing. Electronic Proceedings in Theoretical Computer Science 66 (sep 2011), 195–209. https://doi.org/10.4204/eptcs.66.10
[21]
Jakob S Kottmann, Sumner Alperin-Lea, Teresa Tamayo-Mendoza, Alba Cervera-Lierta, Cyrille Lavigne, Tzu-Ching Yen, Vladyslav Verteletskyi, Philipp Schleich, Abhinav Anand, Matthias Degroote, Skylar Chaney, Maha Kesibi, Naomi Grace Curnow, Brandon Solo, Georgios Tsilimigkounakis, Claudia Zendejas-Morales, Artur F Izmaylov, and Alán Aspuru-Guzik. 2021. TEQUILA: a platform for rapid development of quantum algorithms. Quantum Science and Technology 6, 2 (mar 2021), 024009. https://doi.org/10.1088/2058-9565/abe567
[22]
Sebastian Krämer, David Plankensteiner, Laurin Ostermann, and Helmut Ritsch. 2018. QuantumOptics.jl: A Julia framework for simulating open quantum systems. Comput. Phys. Commun. 227 (jun 2018), 109–116. https://doi.org/10.1016/j.cpc.2018.02.004
[23]
Ryan LaRose. 2019. Overview and Comparison of Gate Level Quantum Software Platforms. Quantum 3 (mar 2019), 130. https://doi.org/10.22331/q-2019-03-25-130
[24]
Xiu-Zhe Luo, Jin-Guo Liu, Pan Zhang, and Lei Wang. 2020. Yao.jl: Extensible, Efficient Framework for Quantum Algorithm Design. Quantum 4 (oct 2020), 341. https://doi.org/10.22331/q-2020-10-11-341
[25]
F.L. Marquezino and R. Portugal. 2008. The QWalk simulator of quantum walks. Comput. Phys. Commun. 179, 5 (2008), 359–369. https://doi.org/10.1016/j.cpc.2008.02.019
[26]
Philip Maymin. 1996. Extending the Lambda Calculus to Express Randomized and Quantumized Algorithms. https://doi.org/10.48550/arXiv.qaunt-ph/9612052
[27]
Enaut Mendiluze, Shaukat Ali, Paolo Arcaini, and Tao Yue. 2021. Muskit: A Mutation Analysis Tool for Quantum Software Testing. In 2021 36th IEEE/ACM International Conference on Automated Software Engineering (ASE). IEEE. https://doi.org/10.1109/ase51524.2021.9678563
[28]
Jarosław Adam Miszczak. 2011. Singular Value Decomposition and matrix reorderings in quantum information theory. International Journal of Modern Physics C 22, 09 (sep 2011), 897–918. https://doi.org/10.1142/s0129183111016683
[29]
Jarosław Adam Miszczak. 2012. Generating and using truly random quantum states in Mathematica. Comput. Phys. Commun. 183, 1 (2012), 118–124. https://doi.org/10.1016/j.cpc.2011.08.002
[30]
Jarosław Adam Miszczak. 2012. High Level Structures for Quantum Computing. Springer International Publishing. https://doi.org/10.1007/978-3-031-02516-7
[31]
Jarosław Adam Miszczak. 2013. Employing online quantum random number generators for generating truly random quantum states in Mathematica. Comput. Phys. Commun. 184, 1 (2013), 257–258. https://doi.org/10.1016/j.cpc.2012.08.012
[32]
Jarosław Adam Miszczak and Michael Wahl. 2013. RandFile package for Mathematica for accessing file-based sources of randomness. https://doi.org/10.48550/arXiv.1302.2738
[33]
Jarosław Adam Miszczak, Puchała Zbigniew, and Piotr Gawron. 2011-. QI package for Mathematica computer algebra system. https://github.com/iitis/qi
[34]
Hynek MlnařÍk. 2008. LanQ – a quantum imperative programming language. https://lanq.sourceforge.net/
[35]
Hynek MlnařÍk. 2008. Semantics of Quantum Programming Language Lanq. International Journal of Quantum Information 06, supp01 (jul 2008), 733–738. https://doi.org/10.1142/s0219749908004031
[36]
Jiang Nan, Wang Zichen, and Wang Jian. 2022. Quantum Symbolic Execution. https://doi.org/10.48550/arXiv.2209.08582
[37]
NVIDIA. 2022. cuQuantum – Accelerate Quantum Computing Research. https://developer.nvidia.com/cuquantum-sdk
[38]
Peter Nyman. 2009. A Symbolic Classical Computer Language for Simulation of Quantum Algorithms. In Quantum Interaction. Springer Berlin Heidelberg, 158–173. https://doi.org/10.1007/978-3-642-00834-4_14
[39]
Bernard Ömer. 1998. A Procedural Formalism for Quantum Computing. Master’s thesis. Vienna University of Technology.
[40]
Bernard Ömer. 2000. Quantum Programming in QCL. Master’s thesis. Vienna University of Technology.
[41]
Bernard Ömer. 2003. Structured Quantum Programming. Ph. D. Dissertation. Vienna University of Technology.
[42]
Mateusz Ostaszewski, Lea M. Trenkwalder, Wojciech Masarczyk, Eleanor Scerri, and Vedran Dunjko. 2021. Reinforcement learning for optimization of variational quantum circuit architectures. In Advances in Neural Information Processing Systems, Vol. 34. Curran Associates, Inc., 18182–18194. https://doi.org/10.48550/arXiv.2103.16089
[43]
Luca Paolini, Mauro Piccolo, and Margherita Zorzi. 2019. QPCF: Higher-Order Languages and Quantum Circuits. Journal of Automated Reasoning 63, 4 (mar 2019), 941–966. https://doi.org/10.1007/s10817-019-09518-y
[44]
Pasqal SAS. 2023. Exploring the Features of Pulser Studio. https://www.pasqal.com/articles/pulser-s-1
[45]
Pasqal SAS. 2023. Pulser Studio, a no-code development platform for neutral atom quantum computing. https://pulserstudio.pasqal.cloud/
[46]
Christophe Piveteau and David Sutter. 2022. Circuit knitting with classical communication. https://doi.org/10.48550/arXiv.2205.00016
[47]
Quantiki.org. 2005-. List of QC simulators. https://www.quantiki.org/wiki/list-qc-simulators
[48]
Quantum Open Software Foundation. 2019-. Open-Source Quantum Software Projects. https://github.com/qosf/awesome-quantum-software
[49]
Rigetti Inc. 2023. Forest SDK. https://qcs.rigetti.com/sdk-downloads
[50]
Vincent Russo. 2021. toqito – Theory of quantum information toolkit: A Python package for studying quantum information. Journal of Open Source Software 6, 61 (may 2021), 3082. https://doi.org/10.21105/joss.03082
[51]
Amr Sabry. 2003. Modeling quantum computing in Haskell. In Proceedings of the 2003 ACM SIGPLAN workshop on Haskell. ACM. https://doi.org/10.1145/871895.871900
[52]
Özlem Salehi, Zeki Seskir, and Ilknur Tepe. 2022. A Computer Science-Oriented Approach to Introduce Quantum Computing to a New Audience. IEEE Transactions on Education 65, 1 (feb 2022), 1–8. https://doi.org/10.1109/te.2021.3078552
[53]
Damian S. Steiger, Thomas Häner, and Matthias Troyer. 2018. ProjectQ: an open source software framework for quantum computing. Quantum 2 (jan 2018), 49. https://doi.org/10.22331/q-2018-01-31-49
[54]
Athanasios Stratikopoulos, Ales Kubicek, Juan Fumero, and Christos Kotselidis. 2022. TornadoQSim: An open-source high-performance and modular system for Quantum Circuit Simulation. (2022). https://github.com/beehive-lab/TornadoQSim
[55]
Yasunari Suzuki, Yoshiaki Kawase, Yuya Masumura, Yuria Hiraga, Masahiro Nakadai, Jiabao Chen, Ken M. Nakanishi, Kosuke Mitarai, Ryosuke Imai, Shiro Tamiya, Takahiro Yamamoto, Tennin Yan, Toru Kawakubo, Yuya O. Nakagawa, Yohei Ibe, Youyuan Zhang, Hirotsugu Yamashita, Hikaru Yoshimura, Akihiro Hayashi, and Keisuke Fujii. 2021. Qulacs: a fast and versatile quantum circuit simulator for research purpose. Quantum 5 (oct 2021), 559. https://doi.org/10.22331/q-2021-10-06-559
[56]
Benoît Valiron, Neil J. Ross, Peter Selinger, D. Scott Alexander, and Jonathan M. Smith. 2015. Programming the quantum future. Commun. ACM 58, 8 (jul 2015), 52–61. https://doi.org/10.1145/2699415
[57]
André van Tonder. 2004. A Lambda Calculus for Quantum Computation. SIAM J. Comput. 33, 5 (jan 2004), 1109–1135. https://doi.org/10.1137/s0097539703432165
[58]
Xinyi Wang, Paolo Arcaini, Tao Yue, and Shaukat Ali. 2021. Quito: a Coverage-Guided Test Generator for Quantum Programs. In 2021 36th IEEE/ACM International Conference on Automated Software Engineering (ASE). IEEE. https://doi.org/10.1109/ase51524.2021.9678798
[59]
Xanadu Inc. 2016-. PennyLaneSoftware library for programming quantum computers. https://xanadu.ai/products/pennylane/
[60]
Jianjun Zhao. 2020. Quantum Software Engineering: Landscapes and Horizons. https://doi.org/10.48550/arXiv.2007.07047
[61]
Margherita Zorzi. 2019. Quantum Calculi—From Theory to Language Design. Applied Sciences 9, 24 (dec 2019), 5472. https://doi.org/10.3390/app9245472

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
Programming '23: Companion Proceedings of the 7th International Conference on the Art, Science, and Engineering of Programming
March 2023
134 pages
ISBN:9798400707551
DOI:10.1145/3594671
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 12 September 2023

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. computer algebra
  2. functional programming
  3. quantum computing
  4. quantum technologies
  5. symbolic manipulation

Qualifiers

  • Research-article
  • Research
  • Refereed limited

Funding Sources

  • National Science Center
  • National Information Processing Institute

Conference

<Programming> '23 Companion

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 70
    Total Downloads
  • Downloads (Last 12 months)52
  • Downloads (Last 6 weeks)1
Reflects downloads up to 06 Nov 2024

Other Metrics

Citations

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

HTML Format

View this article in HTML Format.

HTML Format

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media