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

Revista dos Trabalhos de Iniciação Científica da UNICAMP

Implementation of Deutsch-Jozsa quantum algorithm in functional programming language

Lucas Lacava, Mariana Godoy Vazquez Miano

Published Feb 12, 2019• 0 citations
Publisher

Abstract

The goal of this research is to show the implementation of Deutsch-Jozsa quantum algorithm in functional programming language and its advantages comparing to Classical Computing. Are presented definitions and characteristics of the algorithm and the language Quipper, in which the implementation of the Deutsch-Jozsa quantum algorithm occurs.

DOI
10.20396/revpibic262018891

Related papers

Five Quantum Algorithms Using Quipper

Safat Siddiqui, Mohammed Jahirul Islam, Omar Shehab

Quipper is a recently released quantum programming language. In this report, we explore Quipper's programming framework by implementing the Deutsch's, Deutsch-Jozsa's, Simon's, Grover's, and Shor's factoring algorithms. It will help new quantum programmers in an instructive manner. We choose Quipper especially for its usability and scalability though it's an ongoing development project. We have also provided introductory concepts of Quipper and prerequisite backgrounds of the algorithms for readers' convenience. We also have written codes for oracles (black boxes or functions) for individual algorithms and tested some of them using the Quipper simulator to prove correctness and introduce the readers with the functionality. As Quipper 0.5 does not include more than \ensuremath{4 \times 4} matrix constructors for Unitary operators, we have also implemented \ensuremath{8 \times 8} and \ensuremath{16 \times 16} matrix constructors.

arXiv:1406.4481•Jun 17, 2014•4 citations

Algoritmo cuántico de Deutsch y Jozsa en GAMA

Mireya Paredes, A. Meneses Viveros, Guillermo B. Morales-Luna

An important feature of quantum computing is its inherent paralellism, allowing to process an exponential number of basic transforms with just a linear number of qubits. The Deutsch-Jozsa algorithm exemplifies the computational complexity reduction. This work reports the implementation and execution of the Deutsch-Josza quantum algoritm in GAMA, a programming language for quantum computing simulation developed by ourselves. Through this simulation, it is possible to explore all the components involved by tracing all the different configurations that each component may take.

Revista Mexicana de Física E•Jun 11, 2018•2 citations

Implementation of the Deutsch-Jozsa algorithm on an IBM quantum Computer

Sergeicheva, Skvortsov, Hismatov +1 more

The Deutsch-Jozsa algorithm has been implemented using the Qiskit software development kit and the IBM Quantum Lab. The accuracy of the algorithm is analyzed depending on the number of qubits and the results obtained on a real quantum computer and an emulator are compared.

Herald of Omsk University•Jun 10, 2025•0 citations

Comparação de desempenho do algoritmo de Deutsch-Jozsa nas linguagens quânticas Silq e Qasm

Mariana Godoy Vazquez Miano, Lucas Gomes Pinheiro, Sthefanie Costa Amaro +1 more

Due to the importance given to information in the last few decades, a performance and processing advantage of information becomes relevant, something that can be found through quantum computing. The Deutsch-Jozsa Algorithm is the first example of a quantum algorithm that offers an exponential advantage against classical algorithms, whether in a local environment or through cloud simulators. Seeking to explore the advantages of quantum computation, the Deutsch-Jozsa Algorithm was implemented in two quantum programming languages, namely the high level language Silq, focused on the execution of the algorithm on a local environment through VSCode, which offers a cleaner and friendly sintaxe as well as quantum uncomputation, and also in OpenQASM, a low level language meant to interact with quantum circuits, used to better visualize the Deutsch-Jozsa Algorithm. This paper aims to make the differences between high and low-level quantum languages clear, as well as incentivize the change to a new paradigm.

Revista Tecnológica da Fatec Americana•Nov 6, 2023•0 citations

Quipper

Alexander S. Green, Peter LeFanu Lumsdaine, Neil J. Ross +2 more

The field of quantum algorithms is vibrant. Still, there is currently a lack of programming languages for describing quantum computation on a practical scale, i.e., not just at the level of toy problems. We address this issue by introducing Quipper, a scalable, expressive, functional, higher-order quantum programming language. Quipper has been used to program a diverse set of non-trivial quantum algorithms, and can generate quantum gate representations using trillions of gates. It is geared towards a model of computation that uses a classical computer to control a quantum device, but is not dependent on any particular model of quantum hardware. Quipper has proven effective and easy to use, and opens the door towards using formal methods to analyze quantum algorithms.

arXiv:1304.3390•ACM SIGPLAN Notices•Jun 16, 2013•156 citations

Quipper

Alexander S. Green, Peter LeFanu Lumsdaine, Neil J. Ross +2 more

The field of quantum algorithms is vibrant. Still, there is currently a lack of programming languages for describing quantum computation on a practical scale, i.e., not just at the level of toy problems. We address this issue by introducing Quipper, a scalable, expressive, functional, higher-order quantum programming language. Quipper has been used to program a diverse set of non-trivial quantum algorithms, and can generate quantum gate representations using trillions of gates. It is geared towards a model of computation that uses a classical computer to control a quantum device, but is not dependent on any particular model of quantum hardware. Quipper has proven effective and easy to use, and opens the door towards using formal methods to analyze quantum algorithms.

ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI)•Jun 11, 2013•333 citations
The goal of this research is to show the implementation of Deutsch-Jozsa quantum algorithm in functional programming language and its advantages comparing to Classical Computing. Are presented definitions and characteristics of the algorithm and the language Quipper, in which the implementation of the Deutsch-Jozsa quantum algorithm occurs.
Quipper is a recently released quantum programming language. In this report, we explore Quipper's programming framework by implementing the Deutsch's, Deutsch-Jozsa's, Simon's, Grover's, and Shor's factoring algorithms. It will help new quantum programmers in an instructive manner. We choose Quipper especially for its usability and scalability though it's an ongoing development project. We have also provided introductory concepts of Quipper and prerequisite backgrounds of the algorithms for readers' convenience. We also have written codes for oracles (black boxes or functions) for individual algorithms and tested some of them using the Quipper simulator to prove correctness and introduce the readers with the functionality. As Quipper 0.5 does not include more than \ensuremath{4 \times 4} matrix constructors for Unitary operators, we have also implemented \ensuremath{8 \times 8} and \ensuremath{16 \times 16} matrix constructors.
An important feature of quantum computing is its inherent paralellism, allowing to process an exponential number of basic transforms with just a linear number of qubits. The Deutsch-Jozsa algorithm exemplifies the computational complexity reduction. This work reports the implementation and execution of the Deutsch-Josza quantum algoritm in GAMA, a programming language for quantum computing simulation developed by ourselves. Through this simulation, it is possible to explore all the components involved by tracing all the different configurations that each component may take.
Due to the importance given to information in the last few decades, a performance and processing advantage of information becomes relevant, something that can be found through quantum computing. The Deutsch-Jozsa Algorithm is the first example of a quantum algorithm that offers an exponential advantage against classical algorithms, whether in a local environment or through cloud simulators. Seeking to explore the advantages of quantum computation, the Deutsch-Jozsa Algorithm was implemented in two quantum programming languages, namely the high level language Silq, focused on the execution of the algorithm on a local environment through VSCode, which offers a cleaner and friendly sintaxe as well as quantum uncomputation, and also in OpenQASM, a low level language meant to interact with quantum circuits, used to better visualize the Deutsch-Jozsa Algorithm. This paper aims to make the differences between high and low-level quantum languages clear, as well as incentivize the change to a new paradigm.
The field of quantum algorithms is vibrant. Still, there is currently a lack of programming languages for describing quantum computation on a practical scale, i.e., not just at the level of toy problems. We address this issue by introducing Quipper, a scalable, expressive, functional, higher-order quantum programming language. Quipper has been used to program a diverse set of non-trivial quantum algorithms, and can generate quantum gate representations using trillions of gates. It is geared towards a model of computation that uses a classical computer to control a quantum device, but is not dependent on any particular model of quantum hardware. Quipper has proven effective and easy to use, and opens the door towards using formal methods to analyze quantum algorithms.
The field of quantum algorithms is vibrant. Still, there is currently a lack of programming languages for describing quantum computation on a practical scale, i.e., not just at the level of toy problems. We address this issue by introducing Quipper, a scalable, expressive, functional, higher-order quantum programming language. Quipper has been used to program a diverse set of non-trivial quantum algorithms, and can generate quantum gate representations using trillions of gates. It is geared towards a model of computation that uses a classical computer to control a quantum device, but is not dependent on any particular model of quantum hardware. Quipper has proven effective and easy to use, and opens the door towards using formal methods to analyze quantum algorithms.