Challenges
Datasets
Workspaces
Papers
Discussions
Leaderboard
Log inSign up
Challenges
Datasets
Workspaces
Papers
Discussions
Leaderboard
Blog
Job Board
Q3AS

© 2026 Aqora Quantum S.A.S.

TermsPrivacyLegal Notice

Scientia Sinica Informationis

$Q|SI\rangle $ : a quantum programming environment

Ji Guan, Mingsheng Ying, Runyao Duan, Li Juan Zhou, Yang HE, Shusen Liu

Published Oct 1, 2017• 8 citations
Publisher

Abstract

This paper describes a quantum programming environment called $Q|SI\rangle $ . It is a platform created in the .NET language to support quantum programming as a quantum extension of the $\mathbf{while}$-language. This platform includes a compiler for the quantum $\mathbf{while}$-language and a chain of tools for the simulation of quantum computations, optimization of quantum circuits, and analysis and verification of quantum programs. Throughout the paper, $Q|SI\rangle $ is used to simulate quantum behaviors on classical platforms and demonstrate the combination of components. The scalable framework allows users to program customized functions on the platform. The compiler works as the core of $Q|SI\rangle $ , bridging the gap between quantum hardware and quantum software. The built-in decomposition algorithms enable universal quantum computation on current quantum hardware.

DOI
10.1360/n112017-00095

Related papers

A Comprehensive Introduction to the Intel Quantum SDK

Xin-Chuan Wu, Shavindra Premaratne, Kevin Rasch

The Intel(R) Quantum Software Development Kit (SDK) offers a comprehensive platform for developers to create quantum applications using an LLVM-based compiler with user-friendly C++ language extensions. This full-stack solution facilitates the expression and optimization of quantum circuits and includes a quantum runtime library for seamless hybrid execution between classical and quantum kernels. The runtime enables dynamic parameter determination for quantum circuits, allowing both quantum and classical components of variational algorithms to be defined within a single program, compiled once, and significantly reducing execution latency. The SDK features a suite of quantum simulators, including simulations of Intel's quantum hardware components such as qubit control processors, control electronics, and quantum dot qubits. With a unified interface, the Intel Quantum SDK allows users to target ideal qubit simulators, realistic Intel quantum hardware simulators, and future Intel quantum hardware, enabling efficient optimization, compilation, and execution of scalable hybrid quantum-classical variational algorithms.

•Aug 14, 2023•7 citations

Q#, a quantum computation package for the .NET platform

Ahmed S. Tolba, Magdi Z. Rashad, Mohamed A. El-dosuky

Quantum computing is a promising approach of computation that is based on equations from Quantum Mechanics. A simulator for quantum algorithms must be capable of performing heavy mathematical matrix transforms. The design of the simulator itself takes one of three forms: Quantum Turing Machine, Network Model or circuit model of connected gates or, Quantum Programming Language, yet, some simulators are hybrid. We studied previous simulators and then we adopt features from three simulators of different implementation languages, different paradigms, and for different platforms. They are Quantum Computing Language (QCL), QUASI, and Quantum Optics Toolbox for Matlab 5. Our simulator for quantum algorithms takes the form of a package or a programming library for Quantum computing, with a case study showing the ability of using it in the circuit model. The .NET is a promising platform for computing. VB.NET is an easy, high productive programming language with the full power and functionality provided by the .NET framework. It is highly readable, writeable, and flexible language, compared to another language such as C#.NET in many aspects. We adopted VB.NET although its shortage in built-in mathematical complex and matrix operations, compared to Matlab. For implementation, we first built a mathematical core of matrix operations. Then, we built a quantum core which contains: basic qubits and register operations, basic 1D, 2D, and 3D quantum gates, and multi-view visualization of the quantum state, then a window for demos to show you how to use and get the most of the package.

arXiv:1302.5133•Feb 20, 2013•2 citations

isQ: Towards a Practical Software Stack for Quantum Programming

Jingzhe Guo, Huazhe Lou, Riling Li +5 more

We introduce isQ, a new software stack for quantum programming in an imperative programming language, also named isQ. The aim of isQ is to make the programmers write quantum programs as conveniently as possible. In particular: 1) The isQ language and its compiler contain many features, including some not well supported by (most) other quantum programming platforms, e.g. classical control flow such as recursion; decomposition of selfdefined unitary gates; and oracle programming and its circuit realization. 2) To make it flexible, an isQ program can be compiled into several kinds of intermediate representation, including OpenQASM 3.0, QIR and QCIS (specially tailored for the superconducting quantum hardware at USTC). 3) Besides interfacing isQ with true superconducting hardware, a QIR simulator is also developed for demonstration and testing of isQ programs.

arXiv:2205.03866•May 8, 2022•1 citation

The architecture of a quantum programming environment

Shusen Liu

This thesis presents the architecture of quantum programming environment, called QSI, along with its related modules and several quantum experiments. The environment is based on one specific quantum language, namely quantum while-language. Some partial experimental results are also presented within QSI. The first part relates to the architecture, the designing and the implementation of quantum programming environment which provides a new, powerful and flexible environment for developing and implementing quantum programs. First, we study the possible structure of the programming environment which supports a measurement-based case statement and a measurement-based while-loop. These two program constructs are extremely convenient for describing large-scale quantum algorithms, such as quantum random walk-based algorithms. We also define a new assembly language called f-QASM (Quantum Assembly Language with feedback) as an interactive command set. The assembly language is compatible with other low-level instruction sets and can be used to directly drive quantum hardware. Moreover, the simulation of syntax of quantum program and the behaviours within the architecture on the classical computer are discussed. Finally, we consider the work-flow which contains the decomposition of unitary matrix to achieve the goal that executing on Noisy Intermediate-Scale Quantum Computer. The second part concerns the modules based on quantum programming environment: termination analysis module, detective separable unitary module and quantum control module. Along with the architecture, we bring an essential module - termination analysis module for the loop structure. It can analyze sub-bodies of quantum program and suggest the critical termination information. In addition, we improve the Jordan decomposition step in the original algorithm which consumes extended period for analyzing. This improvement also makes the module more robust on executing. A fast permutation algorithm module clarifies the re-ordering algorithm in case of qubits system. It regenerates the program (unitary operator) which is not in pre-ordered sequence. In the detective separable unitary module, we prove sufficient conditions for separable unitary and its approximate scenario. The result shows there does not exist a universal algorithm for potential parallel executing quantum programs without communications (classical or quantum communications). However, in approximate, there exists a scheme for parallel computing without the help of communication. In this part, two examples for parallel computing are given. Last, in quantum control module, an algorithm is suggested towards automatically generating quantum circuits for quantum case-statement. We believe these analysis modules can help the compiler to optimize the implementation of quantum algorithms. The third part is devoted to quantum experiment. First, we focus several experiments which can be operated directly by QSI : Qloop, BB84 protocol and Grover search algorithm. After that, with the help of IBM’s QISKit,…

•Jan 1, 2018•0 citations

OpenQL: A Portable Quantum Programming Framework for Quantum Accelerators

Nader Khammassi, I. Ashraf, J. van Someren +6 more

With the potential of quantum algorithms to solve intractable classical problems, quantum computing is rapidly evolving, and more algorithms are being developed and optimized. Expressing these quantum algorithms using a high-level language and making them executable on a quantum processor while abstracting away hardware details is a challenging task. First, a quantum programming language should provide an intuitive programming interface to describe those algorithms. Then a compiler has to transform the program into a quantum circuit, optimize it, and map it to the target quantum processor respecting the hardware constraints such as the supported quantum operations, the qubit connectivity, and the control electronics limitations. In this article, we propose a quantum programming framework named OpenQL, which includes a high-level quantum programming language and its associated quantum compiler. We present the programming interface of OpenQL, we describe the different layers of the compiler and how we can provide portability over different qubit technologies. Our experiments show that OpenQL allows the execution of the same high-level algorithm on two different qubit technologies, namely superconducting qubits and Si-Spin qubits. Besides the executable code, OpenQL also produces an intermediate quantum assembly code, which is technology independent and can be simulated using the QX simulator.

arXiv:2005.13283•ACM Journal on Emerging Technologies in Computing Systems•Dec 20, 2021•58 citations

A Quantum Computation Language-based Quantum Compiler

S. Jaya Amruth, T.M. Nigelesh, V. Sai Shruthik +2 more

Quantum computing is a revolution in computational theory that uses the principles of quantum mechanics to perform computations that are beyond the capacity of classical computers. It works with the special features of the quantum bits or qubits to encode and transform the information in manners conventional bits cannot imagine. A quantum compiler is a software tool designed to translate high-level quantum language code into executable quantum instructions. This paper aims to develop a quantum compiler for translating Quantum Computation Language source codes into quantum bytecodes which can later be executed on a Quantum Virtual Machine. This compiler will have a combinational structure that includes a frontend for interpreting the QCL code, an intermediate representation for optimizing quantum algorithms, and a backend for generating efficient quantum bytecode. Optimization techniques will be applied to improve the functioning of the quantum circuits. The compiler will also include an error handling module to handle the errors. The successful deployment of a quantum compiler for QCL has many implications and unlocks opportunities for advancements in quantum technologies.

International Conference on Computing, Communication and Networking Technologies (ICCCNT)•Jun 24, 2024•0 citations
This paper describes a quantum programming environment called Q∣SI⟩Q|SI\rangle Q∣SI⟩ . It is a platform created in the .NET language to support quantum programming as a quantum extension of the while\mathbf{while}while-language. This platform includes a compiler for the quantum while\mathbf{while}while-language and a chain of tools for the simulation of quantum computations, optimization of quantum circuits, and analysis and verification of quantum programs. Throughout the paper, Q∣SI⟩Q|SI\rangle Q∣SI⟩ is used to simulate quantum behaviors on classical platforms and demonstrate the combination of components. The scalable framework allows users to program customized functions on the platform. The compiler works as the core of Q∣SI⟩Q|SI\rangle Q∣SI⟩ , bridging the gap between quantum hardware and quantum software. The built-in decomposition algorithms enable universal quantum computation on current quantum hardware.
The Intel(R) Quantum Software Development Kit (SDK) offers a comprehensive platform for developers to create quantum applications using an LLVM-based compiler with user-friendly C++ language extensions. This full-stack solution facilitates the expression and optimization of quantum circuits and includes a quantum runtime library for seamless hybrid execution between classical and quantum kernels. The runtime enables dynamic parameter determination for quantum circuits, allowing both quantum and classical components of variational algorithms to be defined within a single program, compiled once, and significantly reducing execution latency. The SDK features a suite of quantum simulators, including simulations of Intel's quantum hardware components such as qubit control processors, control electronics, and quantum dot qubits. With a unified interface, the Intel Quantum SDK allows users to target ideal qubit simulators, realistic Intel quantum hardware simulators, and future Intel quantum hardware, enabling efficient optimization, compilation, and execution of scalable hybrid quantum-classical variational algorithms.
Quantum computing is a promising approach of computation that is based on equations from Quantum Mechanics. A simulator for quantum algorithms must be capable of performing heavy mathematical matrix transforms. The design of the simulator itself takes one of three forms: Quantum Turing Machine, Network Model or circuit model of connected gates or, Quantum Programming Language, yet, some simulators are hybrid. We studied previous simulators and then we adopt features from three simulators of different implementation languages, different paradigms, and for different platforms. They are Quantum Computing Language (QCL), QUASI, and Quantum Optics Toolbox for Matlab 5. Our simulator for quantum algorithms takes the form of a package or a programming library for Quantum computing, with a case study showing the ability of using it in the circuit model. The .NET is a promising platform for computing. VB.NET is an easy, high productive programming language with the full power and functionality provided by the .NET framework. It is highly readable, writeable, and flexible language, compared to another language such as C#.NET in many aspects. We adopted VB.NET although its shortage in built-in mathematical complex and matrix operations, compared to Matlab. For implementation, we first built a mathematical core of matrix operations. Then, we built a quantum core which contains: basic qubits and register operations, basic 1D, 2D, and 3D quantum gates, and multi-view visualization of the quantum state, then a window for demos to show you how to use and get the most of the package.
We introduce isQ, a new software stack for quantum programming in an imperative programming language, also named isQ. The aim of isQ is to make the programmers write quantum programs as conveniently as possible. In particular: 1) The isQ language and its compiler contain many features, including some not well supported by (most) other quantum programming platforms, e.g. classical control flow such as recursion; decomposition of selfdefined unitary gates; and oracle programming and its circuit realization. 2) To make it flexible, an isQ program can be compiled into several kinds of intermediate representation, including OpenQASM 3.0, QIR and QCIS (specially tailored for the superconducting quantum hardware at USTC). 3) Besides interfacing isQ with true superconducting hardware, a QIR simulator is also developed for demonstration and testing of isQ programs.
This thesis presents the architecture of quantum programming environment, called QSI, along with its related modules and several quantum experiments. The environment is based on one specific quantum language, namely quantum while-language. Some partial experimental results are also presented within QSI. The first part relates to the architecture, the designing and the implementation of quantum programming environment which provides a new, powerful and flexible environment for developing and implementing quantum programs. First, we study the possible structure of the programming environment which supports a measurement-based case statement and a measurement-based while-loop. These two program constructs are extremely convenient for describing large-scale quantum algorithms, such as quantum random walk-based algorithms. We also define a new assembly language called f-QASM (Quantum Assembly Language with feedback) as an interactive command set. The assembly language is compatible with other low-level instruction sets and can be used to directly drive quantum hardware. Moreover, the simulation of syntax of quantum program and the behaviours within the architecture on the classical computer are discussed. Finally, we consider the work-flow which contains the decomposition of unitary matrix to achieve the goal that executing on Noisy Intermediate-Scale Quantum Computer. The second part concerns the modules based on quantum programming environment: termination analysis module, detective separable unitary module and quantum control module. Along with the architecture, we bring an essential module - termination analysis module for the loop structure. It can analyze sub-bodies of quantum program and suggest the critical termination information. In addition, we improve the Jordan decomposition step in the original algorithm which consumes extended period for analyzing. This improvement also makes the module more robust on executing. A fast permutation algorithm module clarifies the re-ordering algorithm in case of qubits system. It regenerates the program (unitary operator) which is not in pre-ordered sequence. In the detective separable unitary module, we prove sufficient conditions for separable unitary and its approximate scenario. The result shows there does not exist a universal algorithm for potential parallel executing quantum programs without communications (classical or quantum communications). However, in approximate, there exists a scheme for parallel computing without the help of communication. In this part, two examples for parallel computing are given. Last, in quantum control module, an algorithm is suggested towards automatically generating quantum circuits for quantum case-statement. We believe these analysis modules can help the compiler to optimize the implementation of quantum algorithms. The third part is devoted to quantum experiment. First, we focus several experiments which can be operated directly by QSI : Qloop, BB84 protocol and Grover search algorithm. After that, with the help of IBM’s QISKit,…
With the potential of quantum algorithms to solve intractable classical problems, quantum computing is rapidly evolving, and more algorithms are being developed and optimized. Expressing these quantum algorithms using a high-level language and making them executable on a quantum processor while abstracting away hardware details is a challenging task. First, a quantum programming language should provide an intuitive programming interface to describe those algorithms. Then a compiler has to transform the program into a quantum circuit, optimize it, and map it to the target quantum processor respecting the hardware constraints such as the supported quantum operations, the qubit connectivity, and the control electronics limitations. In this article, we propose a quantum programming framework named OpenQL, which includes a high-level quantum programming language and its associated quantum compiler. We present the programming interface of OpenQL, we describe the different layers of the compiler and how we can provide portability over different qubit technologies. Our experiments show that OpenQL allows the execution of the same high-level algorithm on two different qubit technologies, namely superconducting qubits and Si-Spin qubits. Besides the executable code, OpenQL also produces an intermediate quantum assembly code, which is technology independent and can be simulated using the QX simulator.
Quantum computing is a revolution in computational theory that uses the principles of quantum mechanics to perform computations that are beyond the capacity of classical computers. It works with the special features of the quantum bits or qubits to encode and transform the information in manners conventional bits cannot imagine. A quantum compiler is a software tool designed to translate high-level quantum language code into executable quantum instructions. This paper aims to develop a quantum compiler for translating Quantum Computation Language source codes into quantum bytecodes which can later be executed on a Quantum Virtual Machine. This compiler will have a combinational structure that includes a frontend for interpreting the QCL code, an intermediate representation for optimizing quantum algorithms, and a backend for generating efficient quantum bytecode. Optimization techniques will be applied to improve the functioning of the quantum circuits. The compiler will also include an error handling module to handle the errors. The successful deployment of a quantum compiler for QCL has many implications and unlocks opportunities for advancements in quantum technologies.