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

ACM SIGPLAN Fortran Forum

Quantum computing in Fortran

Adriaan Albert Markus

Published Aug 1, 2004• 2 citations
Publisher

Abstract

Quantum computing is the delicate art of using a quantum-mechanical system to perform some kind of computation. Such a system differs in a number of significant ways from ordinary computers:• A quantum computer actually does a lot of computations at the same time, each solution is represented by a particular possible state. This is inherent to the physical properties of such a system.• Unless you are sure that you have reached the final (unique) solution, you can not "look" at the "values" of the variables in the computer program that is being run: since all solutions are possible at the same time, observing the values will influence the system and put it into one particular, but otherwise arbitrary, state.• All computations must be reversible, that is, a statement like "a = 5" can only appear in the initialization phase of a program, because the previous value will be lost. On the other hand, a statement like "a = a + 5" is reversible, since you can retrieve the original value.The properties of such a quantum computer make it possible to devise very efficient algorithms. One such algorithm, described by L. Grover (see the references), is searching in an unsorted array of items. With ordinary computers this can not be done more efficiently than in O (N) steps (an exhaustive search: each item is examined in the worst case), with this quantum algorithm, however, the number of steps needed is O (N 1/2 ).Devising quantum algorithms requires a thorough understanding of quantum mechanics, there is no doubt about that. Another question is: do we need quantum computers and special programming languages to program (or perhaps emulate) these algorithms? This article tries to show that, at least for the quantum search algorithm, a classical programming language like Fortran is quite fit (yes, the pun is fortunate).

DOI
10.1145/1024334.1024335

Related papers

Quantum computing

Harry Paul

Why quantum computing? As we all know very well, conventional (electronic) computers have enormous power which, moreover, is constantly increasing. With their help gigantic quantities of data can be handled and evaluated. This is of crucial importance, for instance, in modern high energy physics experiments. On the other hand, computers can be used to model very complex systems with the aim of predicting, for example, future developments in our environment, notably climatic changes. Thanks to their incredible speed computers are, of course, destined to treat mathematical problems for which specific algorithms exist very efficiently. To mention a simple example, the digits of π are readily evaluated up to a very high order. Last, but not least, their potential to solve differential equations numerically, even when they are nonlinear, makes computers indispensable in modern research. So, one might ask, is there any reason to look for fundamentally new ways of computing as they are seemingly offered by quantum processes? What advantages can be expected when the laws of quantum mechanics, rather than those of classical physics, are exploited for computation? Two answers were given: first, the simulation of complex quantum systems on classical computers meets serious difficulties that might be overcome with the help of quantum computers. This idea was suggested in 1982 by R. Feynman, and in the 1990s it was indeed shown by several groups of researchers that quantum mechanical systems for which no efficient simulation on a classical computer is known can be efficiently simulated on a quantum computer.

Cambridge University Press eBooks•Jun 5, 2008•0 citations

Some quantum search algorithms for arbitrary initial amplitude distribution

Hiromi Miyajima, Noritaka Shigei, Keisuke Arima

For searching any item in an unsorted database with N items, Grover's quantum searching algorithm takes only O(√N) steps, which is much faster than O(N) steps required for a classical computer. However, it is known that Grover's algorithm is effective only in the case where the initial amplitude distribution of dataset is uniform. On the other hand, Ventura has also proposed a quantum searching algorithm. The algorithm is effective only in the special case for the initial amplitude distribution. Therefore, we have proposed an effective quantum searching algorithm in another case in the previous paper. In this paper, we generalize the previous algorithm and propose several effective algorithms in several cases where initial amplitude distributions of dataset are non-uniform. Further, in order to show the effectiveness of the algorithms, we analyze their dynamics.

International Conference on Natural Computation (ICNC)•Aug 1, 2010•4 citations

5 Four myths about quantum computing

Koen Groenland

Four myths about quantum computingThis chapter relies on a bit of quantum physics jargon.See the chapter 'An introduction to the quantum world' for a quick introduction. Myth 1: Quantum computers find all solutions at onceThis myth is likely the most technical, and builds on a misinterpretation of the concept of superposition.A single qubit can be in two states at the same time (0 and 1), two qubits can represent four states (00, 01, 10, 11), and three qubits are potentially in eight unique configurations simultaneously.As we increase the number of qubits, this number of coexisting states scales exponentially!This means that a mere 1000 qubits can effectively 'store' 2 1000 unique values, all at the same time.That's an incomprehensibly large number, much more than there are atoms in the visible universe.Even the fastest computers in the world couldn't loop through all these states in a lifetime.Each of these states can be interpreted like a file on a computer, be it an Excel spreadsheet, a web page, a CAD drawing, or whatever kind of data we choose to work with.A smart computer scientist can also devise a way to make 1000 bits represent 'solutions' to a problem.For example, imagine that we want to find an optimal aeroplane wing that generates incredible lift while requiring as few materials as possible.Using quantum superposition, we might represent 2 1000 such wings simultaneously.We picked the example of aeroplane wings because simulating their aerodynamic properties requires a pretty hefty computation.Let's assume that we have written such a computer program that accurately simulates any wing.Let's call that program f .It will output 1 if the wing works well (according to whatever metric), and 0 otherwise.Surely, the program takes a very large number of computation steps, which we'll call T. The program will need some input, denoted by x , which is a 1000-bit description of all the relevant properties of a hypothetical aeroplane wing.In other words, the computer program computes f (x) = 1 if x is a fantastic wing, and f (x) = 0 if it's rubbish.Now, a quantum computer should be able to execute any classical function, right?We should be able to run f on a quantum computer, but now we have the unique feature that the 1000-qubit input can represent a humongous number of potential aeroplane wings at the same time.By doing a mere T computational steps, we can check the properties of 2 1000 solutions!

Amsterdam University Press eBooks•Mar 9, 2025•0 citations

Quantum Computing: State-of-Art and Challenges

Juliana Kaizer Vizzotto

In this article we review the concept of quantum computing and briefly discuss the state-of-art and some actual challenges in the field of software (i.e. programming languages and algorithms) for quantum computing.

Workshop-School on Theoretical Computer Science•Oct 1, 2013•7 citations

Quantum algorithms: an overview

Ashley Montanaro

Abstract Quantum computers are designed to outperform standard computers by running quantum algorithms. Areas in which quantum algorithms can be applied include cryptography, search and optimisation, simulation of quantum systems and solving large systems of linear equations. Here we briefly survey some known quantum algorithms, with an emphasis on a broad overview of their applications rather than their technical details. We include a discussion of recent developments and near-term applications of quantum algorithms.

arXiv:1511.04206•npj Quantum Information•Jan 12, 2016•1,071 citations

An efficient quantum search engine on unsorted database

Heping Hu, Yingyu Zhang, Zhengding Lu

We consider the problem of finding one or more desired items out of an unsorted database. Patel has shown that if the database permits quantum queries, then mere digitization is sufficient for efficient search for one desired item. The algorithm, called factorized quantum search algorithm, presented by him can locate the desired item in an unsorted database using $O(log_{4}N)$ queries to factorized oracles. But the algorithm requires that all the property values must be distinct from each other. In this paper, we discuss how to make a database satisfy the requirements, and present a quantum search engine based on the algorithm. Our goal is achieved by introducing auxiliary files for the property values that are not distinct, and converting every complex query request into a sequence of calls to factorized quantum search algorithm. The query complexity of our algorithm is $O(P*Q*M*log_{4}N)$, where P is the number of the potential simple query requests in the complex query request, Q is the maximum number of calls to the factorized quantum search algorithm of the simple queries, M is the number of the auxiliary files for the property on which our algorithm are searching for desired items. This implies that to manage an unsorted database on an actual quantum computer is possible and efficient.

arXiv:0904.3060•Apr 20, 2009•0 citations
Quantum computing is the delicate art of using a quantum-mechanical system to perform some kind of computation. Such a system differs in a number of significant ways from ordinary computers:• A quantum computer actually does a lot of computations at the same time, each solution is represented by a particular possible state. This is inherent to the physical properties of such a system.• Unless you are sure that you have reached the final (unique) solution, you can not "look" at the "values" of the variables in the computer program that is being run: since all solutions are possible at the same time, observing the values will influence the system and put it into one particular, but otherwise arbitrary, state.• All computations must be reversible, that is, a statement like "a = 5" can only appear in the initialization phase of a program, because the previous value will be lost. On the other hand, a statement like "a = a + 5" is reversible, since you can retrieve the original value.The properties of such a quantum computer make it possible to devise very efficient algorithms. One such algorithm, described by L. Grover (see the references), is searching in an unsorted array of items. With ordinary computers this can not be done more efficiently than in O (N) steps (an exhaustive search: each item is examined in the worst case), with this quantum algorithm, however, the number of steps needed is O (N 1/2 ).Devising quantum algorithms requires a thorough understanding of quantum mechanics, there is no doubt about that. Another question is: do we need quantum computers and special programming languages to program (or perhaps emulate) these algorithms? This article tries to show that, at least for the quantum search algorithm, a classical programming language like Fortran is quite fit (yes, the pun is fortunate).
Why quantum computing? As we all know very well, conventional (electronic) computers have enormous power which, moreover, is constantly increasing. With their help gigantic quantities of data can be handled and evaluated. This is of crucial importance, for instance, in modern high energy physics experiments. On the other hand, computers can be used to model very complex systems with the aim of predicting, for example, future developments in our environment, notably climatic changes. Thanks to their incredible speed computers are, of course, destined to treat mathematical problems for which specific algorithms exist very efficiently. To mention a simple example, the digits of π are readily evaluated up to a very high order. Last, but not least, their potential to solve differential equations numerically, even when they are nonlinear, makes computers indispensable in modern research. So, one might ask, is there any reason to look for fundamentally new ways of computing as they are seemingly offered by quantum processes? What advantages can be expected when the laws of quantum mechanics, rather than those of classical physics, are exploited for computation? Two answers were given: first, the simulation of complex quantum systems on classical computers meets serious difficulties that might be overcome with the help of quantum computers. This idea was suggested in 1982 by R. Feynman, and in the 1990s it was indeed shown by several groups of researchers that quantum mechanical systems for which no efficient simulation on a classical computer is known can be efficiently simulated on a quantum computer.
For searching any item in an unsorted database with N items, Grover's quantum searching algorithm takes only O(√N) steps, which is much faster than O(N) steps required for a classical computer. However, it is known that Grover's algorithm is effective only in the case where the initial amplitude distribution of dataset is uniform. On the other hand, Ventura has also proposed a quantum searching algorithm. The algorithm is effective only in the special case for the initial amplitude distribution. Therefore, we have proposed an effective quantum searching algorithm in another case in the previous paper. In this paper, we generalize the previous algorithm and propose several effective algorithms in several cases where initial amplitude distributions of dataset are non-uniform. Further, in order to show the effectiveness of the algorithms, we analyze their dynamics.
Four myths about quantum computingThis chapter relies on a bit of quantum physics jargon.See the chapter 'An introduction to the quantum world' for a quick introduction. Myth 1: Quantum computers find all solutions at onceThis myth is likely the most technical, and builds on a misinterpretation of the concept of superposition.A single qubit can be in two states at the same time (0 and 1), two qubits can represent four states (00, 01, 10, 11), and three qubits are potentially in eight unique configurations simultaneously.As we increase the number of qubits, this number of coexisting states scales exponentially!This means that a mere 1000 qubits can effectively 'store' 2 1000 unique values, all at the same time.That's an incomprehensibly large number, much more than there are atoms in the visible universe.Even the fastest computers in the world couldn't loop through all these states in a lifetime.Each of these states can be interpreted like a file on a computer, be it an Excel spreadsheet, a web page, a CAD drawing, or whatever kind of data we choose to work with.A smart computer scientist can also devise a way to make 1000 bits represent 'solutions' to a problem.For example, imagine that we want to find an optimal aeroplane wing that generates incredible lift while requiring as few materials as possible.Using quantum superposition, we might represent 2 1000 such wings simultaneously.We picked the example of aeroplane wings because simulating their aerodynamic properties requires a pretty hefty computation.Let's assume that we have written such a computer program that accurately simulates any wing.Let's call that program f .It will output 1 if the wing works well (according to whatever metric), and 0 otherwise.Surely, the program takes a very large number of computation steps, which we'll call T. The program will need some input, denoted by x , which is a 1000-bit description of all the relevant properties of a hypothetical aeroplane wing.In other words, the computer program computes f (x) = 1 if x is a fantastic wing, and f (x) = 0 if it's rubbish.Now, a quantum computer should be able to execute any classical function, right?We should be able to run f on a quantum computer, but now we have the unique feature that the 1000-qubit input can represent a humongous number of potential aeroplane wings at the same time.By doing a mere T computational steps, we can check the properties of 2 1000 solutions!
Abstract Quantum computers are designed to outperform standard computers by running quantum algorithms. Areas in which quantum algorithms can be applied include cryptography, search and optimisation, simulation of quantum systems and solving large systems of linear equations. Here we briefly survey some known quantum algorithms, with an emphasis on a broad overview of their applications rather than their technical details. We include a discussion of recent developments and near-term applications of quantum algorithms.
We consider the problem of finding one or more desired items out of an unsorted database. Patel has shown that if the database permits quantum queries, then mere digitization is sufficient for efficient search for one desired item. The algorithm, called factorized quantum search algorithm, presented by him can locate the desired item in an unsorted database using O(log4N)O(log_{4}N)O(log4​N) queries to factorized oracles. But the algorithm requires that all the property values must be distinct from each other. In this paper, we discuss how to make a database satisfy the requirements, and present a quantum search engine based on the algorithm. Our goal is achieved by introducing auxiliary files for the property values that are not distinct, and converting every complex query request into a sequence of calls to factorized quantum search algorithm. The query complexity of our algorithm is O(P∗Q∗M∗log4N)O(P*Q*M*log_{4}N)O(P∗Q∗M∗log4​N), where P is the number of the potential simple query requests in the complex query request, Q is the maximum number of calls to the factorized quantum search algorithm of the simple queries, M is the number of the auxiliary files for the property on which our algorithm are searching for desired items. This implies that to manage an unsorted database on an actual quantum computer is possible and efficient.