Demystifying Quantum Software Engineering: Building a Quantum Future

Radja Mermoul
6 min readAug 30, 2023

--

The Global Quantum Project _WOMANIUM 2023

I. Introduction:

Quantum computation is one of the more developed applications of quantum mechanics. Quantum computers replace the digital binary of classical computer by quantum bits, qubits, a superposition of 0’s and 1’s. And promises to solve many problems in more efficient way better than classical solutions.

Quantum computers use quantum gates as fundamental building blocks to manipulate qubits and perform quantum computations.

The most utilized quantum gates, and their corresponding symbols and unitary matrices.

Quantum circuits are the sequences of quantum gates. A quantum gate can have one input and one output, or multiple inputs and multiple outputs. It can also be reversible; which means no information can be lost in quantum computing. In quantum computing, unitary gates are utilized to maintain the probabilities of all possible measurement results adding up to 1. This guarantees that the probability amplitudes are conserved, which is a core principle in quantum mechanics.

An explanation of how quantum circuits are designed.

Quantum computers are expected to be powerful calculators, with the ability to tackle complex, data-heavy problems, such as optimization, encryption, machine learning and data analysis. Additionally, they are anticipated to accurately simulate physical phenomena in fields such as physics, chemistry and materials science.

Quantum computing is started with initialised a set of qubits. Then applied a series of quantum gates to qubits . At the end, the necessary measurements are taken to perform the computations.

Now that we’ve explored the fundamental building blocks of quantum computing, let’s delve into an equally critical aspect of this revolutionary field — quantum software engineering, which involves creating algorithms and software designed to take full advantage of the power of quantum computers.

II. What is Quantum Software Engeneering?

Around 20 years ago, the idea of quantum programming languages was developed in theoretical contexts as practical quantum hardware was not yet available. However, this has changed significantly with the emergence of actual quantum computers, which are now accessible to anyone with an internet connection. Collaborative efforts between industry and academia have led to the creation of compact quantum devices that operate on the circuit model of quantum computing. While these devices are currently small, noisy, and less powerful than classical computers, they are a promising step towards a future where computational capabilities for complex problems in fields such as chemistry, machine learning, optimization, finance, and more will be unparalleled.

Quantum software engineering is a specialized field that focuses on developing, designing, and maintaining software solutions for quantum computers. Also focuses on creating and implementing quantum algorithms, correcting errors in quantum code. The cloud-based quantum computing technology has already been used to calculate the energy binding two atoms together and for testing machine learning algorithms. Furthermore, quantum computing software is now compatible with many classical programming languages (such as: Python, C++,see the table bellow), opening up new possibilities for software engineers.

This table was taken from [1].

III. Companies and their Quantum Software Platforms: few examples

III.1 QuEra:

QuEra is a startup company that specializes in Quantum Computing with Neutral Atoms, also known as QuEra. They use neutral atoms as the fundamental component for qubits (quantum bits).

This was taken from [Building Quantum Computers with Neutral Atoms | QuEra] it is a very discription of their quantum computer.

QuEra Computing is a leading provider in this field, aiming to build highly scalable quantum computers. They using Julia extensively to build their software, using Julia for the simulation. Julia is a programming language developed with a focus, on computing, for tasks that involve numerical and scientific computation. It is designed to provide high level functionality and exceptional performance. The language was designed to fulfill the requirement for a programming language that offers the simplicity of languages such as Python and the swiftness of languages such as C or Fortran.

QuEra Computing has developed Bloqade, an open-source emulator and SDK that is specifically designed to take advantage of the unique benefits of neutral-atom arrays in quantum computing. This powerful tool is ideal for benchmarking and designing quantum algorithms.

QuEra has developed a 256-qubit quantum computer (Aquila) that can tackle optimization problems. One such problem that the computer can solve is the Maximum Independent Set (MIS) problem, which involves finding the largest subset of vertices in a graph where none of the vertices are connected by an edge.

This problem is difficult for classical computers, especially for large and complex graphs. QuEra’s quantum computer has the ability to solve such optimization problems, which is significant because many real-world applications, such as optimizing store locations, can be formulated as MIS problems. QuEra hopes to use the power of quantum computing to provide efficient solutions to these optimization challenges and potentially revolutionize industries that rely on complex decision-making processes.

Additionally, QuEra offers resources to advance research in these two fields quantum machine learning, and quantum simulation.

III.2 Terra and QMware:

Terra Quantum , a startup cpmapny, is developing technology to achieve “quantum advantage” using software and workflows that simulate qubits on classical High-Performance Computing (HPC) resources. They have three business units: algorithms, computing, and security. Terra Quantum established QMware , a leading cloud computing company, as a joint venture offering access to simulated qubits via a cloud platform. This approach addresses the limitations of today’s noisy intermediate scale quantum (NISQ) systems.

Terra are using a new approach to superconductivity to develop QPUs (Quantum Processing Units) that can be scaled up for use in future industrial and consumer devices.

This was taken from Quantum Computing — Next-level performance, today. (terraquantum.swiss)

QMware’s Software Development Kit (SDK) , <basiq>, simplifies quantum software development by ensuring compatibility with different hardware configurations. Moreover, the SDK includes pre-built quantum programs focused on optimization, simulation, and machine learning, along with helpful how-to manuals for integrating code into quantum computing projects. Its adaptability is advantageous for hybrid quantum computing applications and includes pre-built programs, manuals on integrating code into projects, and access to a simulator using CPU or GPU backends.

IV . Summarize:

We have just completed a thorough exploration of quantum software, delving into the mysterious connection between classical computing and the quantum world. Our journey began by examining the concept of quantum software itself, and from there, we delved into the QuEra company, including Bloqade, Julia, and Aquila, each showcasing the limitless potential of quantum algorithms. But our journey didn’t stop there; we also explored the cutting-edge work being done by Terra Quantum and QMware, who are collaborating to develop hybrid quantum computing that promises to revolutionize various industries with quantum advantage until quantum hardware reaches its full potential.

As we close this chapter, be assured that this is just the beginning of our exploration into quantum software platforms. In part 2 of our series, we will delve even deeper, uncovering new horizons, and shedding light on the latest developments in the ever-evolving quantum landscape.

Stay tuned for our next installment as we continue our quest to decipher the intricacies of quantum software platforms, and the transformative impact they hold. The quantum revolution is unfolding before our eyes, and we are committed to bringing you along on this exciting journey.

V. References:

[1]. Zhao, J. (2020). Quantum software engineering: Landscapes and horizons. arXiv preprint arXiv:2007.07047.

[2]. Akbar, M. A., Khan, A. A., Mahmood, S., & Rafi, S. (2022). Quantum Software Engineering: A New Genre of Computing. arXiv preprint arXiv:2211.13990.

[3]. LaRose, R. (2019). Overview and comparison of gate level quantum software platforms. Quantum, 3, 130.

[4]. Quantum Computing — Next-level performance, today. (terraquantum.swiss)

[6]. Quantum SDK | Software Development Kit | quantum algorithms (qm-ware.com)

[7]. WOMANIUM 2023, ZOOM lectures. (100) WOMANIUM — YouTube

--

--

Radja Mermoul

"Girls who code are the girls who lead" My Instagram @radja.quantumtech