International Journal of Engineering and Advanced Technology (IJEAT)
ISSN: 2249 – 8958, Volume-8, Issue-6S3, September 2019
52
Published By:
Blue Eyes Intelligence Engineering
& Sciences Publication
Retrieval Number: F10090986S319/2019©BEIESP
DOI: 10.35940/ijeat.F1009.0986S319
Abstract: Prime number factorization is a problem in
computer science where the solution to that problem takes
super-polynomial time classically. Shor’s quantum factoring
algorithm is able to solve the problem in polynomial time by
harnessing the power of quantum computing. The
implementation of the quantum algorithm itself is not detailed
by Shor in his paper. In this paper, an approach and experiment
to implement Shor’s quantum factoring algorithm are proposed.
The implementation is done using Python and a quantum
computer simulator from ProjectQ. The testing and evaluation
are completed in two computers with different hardware
specifications. User time of the implementation is measured in
comparison with other quantum computer simulators: ProjectQ
and Quantum Computing Playground. This comparison was
done to show the performance of Shor’s algorithm when
simulated using different hardware. There is a 33%
improvement in the execution time (user time) between the two
computers with the accuracy of prime factorization in this
implementation is inversely proportional to the number of
qubits used. Further improvements upon the program that has
been developed for this paper is its accuracy in terms of finding
the factors of a number and the number of qubits used, as
previously mentioned.
Index Terms: prime factorization, projectQ, quantum
algorithm, Shor.
I. INTRODUCTION
Quantum mechanics is a fundamental theory in physics
which describes the inner workings of the universe on the
smallest energy scale [1]. This fundamental theory
establishes new understandings and possibilities previously
untapped by classical physics [2]. Today the quantum
computer is one of the biggest scientific breakthroughs in the
20th century. A quantum computer is made by infusing the
theory of quantum mechanics into computer science. It
harnesses the power of quantum mechanics to perform
computation [2], [3]. Thus, a quantum computer allows new
kinds of computations which are previously impossible to be
done in a classical computer [3].
IBM Q System One (IBM Q) is the first quantum
computer that is publicly available through an online
platform [4]. This quantum computer is able to simulate the
bondings of elements, the learning process of artificial
Revised Manuscript Received on September 22, 2019.
Adjie Wahyu Wicaksono, Department of Informatics, Universitas
Multimedia Nusantara, Tangerang - 15810, Indonesia.
Arya Wicaksana, Department of Informatics, Universitas Multimedia
Nusantara, Tangerang - 15810, Indonesia.
intelligence, and optimize the process of quantum
computation itself [4]. Major challenges in developing a
quantum computer drive engineers to create a platform that
enables the simulations of quantum computers [5]. ETH
Zurich has a publicly accessible Python library and
framework that simulates quantum computation on a
classical computer named ProjectQ [6]. This library uses its
own simulator and compiler developed by ETH Zurich to
compile and execute quantum programs on a classical
computer [6].
ProjectQ contains FermiLib, plugins for FermiLib, as well
as compatibility with OpenFermion, all of which are open-
source projects for quantum simulation algorithms. All
examples that work with these frameworks naturally work
with ProjectQ [5]. ProjectQ also provides a tutorial of Shor’s
algorithm implementation using the framework. In
comparison with another simulator such as QDK (Quantum
Development Kit) which only provide an example in the
documentation. Moreover, there is no implementation of
Shor’s algorithm available yet in neither pyQuil nor Qiskit
[5]. The availability of the implementation of Shor’s
algorithm in ProjectQ encourages another implementation
of Shor’s quantum factoring algorithm to be done using the
framework. This is due to the fact that the framework already
has sufficient support for implementing Shor’s quantum
factoring algorithm.
Quantum Computing Playground is another quantum
computer simulator that was developed by a group of Google
engineers in 2014 [7]. It uses QScript scripting language and
compiler to simulate a quantum computer and available for
public use. The scripting language is specifically built for the
Quantum Computing Playground website [7]. The simulator
is able to simulate quantum computations up to 22-qubits
and offers its own implementation of Shor’s and Grover’s
quantum algorithm for public use [7].
One of the usages of quantum computing is integer
factorization [8]. This is a big discovery in mathematics and
computation because this process takes super-polynomial
time using a classical computer [9]. In number theory, this
problem is called integer factorization problem. Integer
factorization is the process of breaking down a composite
integer into smaller ones that when multiplied back produces
the initial value [10]. In fact, this problem is used as the
fundamental security factor in the RSA cryptography system
[11].
In 1994, Peter W. Shor discovers the quantum factoring
algorithm that is able to solve
the integer factorization
Implementation of Shor’s Quantum Factoring
Algorithm using ProjectQ Framework
Adjie Wahyu Wicaksono, Arya Wicaksana