Design of an Efficient Quantum Circuit Simulator Sourabh Maity A K Choudhury School of IT University of Calcutta Kolkata, India e-mail: maity.sourabh13@gmail.com Arunima Pal A K Choudhury School of IT University of Calcutta Kolkata, India e-mail: palarunima17@gmail.com Tanaya Roy A K Choudhury School of IT University of Calcutta Kolkata, India e-mail: tanaya.roy_2008@yahoo.co.in Sudhindu Bikash Mandal A K Choudhury School of IT University of Calcutta Kolkata, India e-mail: sudhindu.mandal@gmail.com Amlan Chakrabarti A K Choudhury School of IT University of Calcutta Kolkata, India e-mail: acakcs@caluniv.ac.in AbstractWork is in progress throughout the globe to efficiently use the potential of the quantum theory of computation over their classical counterpart and hence there is a need of building quantum computing hardware. The target of building quantum computers can be achieved if we have better tools for the design of quantum hardware. Quantum circuit simulators are tools for the logic verification of quantum circuits and they can be an essential component of quantum CAD tools in the future. This work is the extension of the previous work by the authors [6], in order to increase the efficiency of the simulator and to incorporate more components in the gate library. In this paper we have proposed an efficient simulator which can simulate a quantum circuit specified using the proposed quantum hardware descriptive language (QHDL). Keywords- Quantum Circuit Simulator, QHDL, Gate level, Bit level, Gate level matrix, Circuit matrix, Vision matrix. I. INTRODUCTION The theory of quantum computing relies greatly on the understanding of quantum circuits containing quantum gates and finds it’s applications on the computational problems. In the classical environment the bit is the fundamental concept of classical computation and classical information. The smallest information-bearing unit is called a bit. It contains either 0 or 1 but only one of them at a particular time instance. In compliance with the first postulate, the simplest quantum system can be described by means of a two-dimensional complex valued vector in a two-dimensional Hilbert space. We call it “qubit”. Column vector v will be denoted by |v> and pronounced as “ket v” according to Dirac and the literature. A qubit has two computational basis vectors |0> and |1> of the Hilbert space corresponding to the classical bit values 0 and 1 and an arbitrary state | Ψ> of a qubit is nothing else than a linearly weighted combination of the computational basis vectors + >= + > = 1 0 0 1 1 | 0 | b a b a ψ (1) Where the weighting factors a, b Є C are the so-called probability amplitudes, thus they must satisfy 1 | | | | 2 2 = + b a (2) This is in full harmony with the third postulate which states when measuring qubit we will obtain |0> with probability |a| 2 and |1> with probability |b| 2 , respectively. A qubit can have both the logical value, i.e. it is in the both computational basis state at the same time and the measurement allows the qubit to collapse into one of them. This completely differs from the classical approach. Computational basis states are orthogonal therefore from a practical point of view computational basis vectors of a photon can be represented by horizontal (Ľ) and vertical (ļ) polarization or for an electron, spin up () and spin down (Ļ) can play these roles. Unlike a classical computer in which a bit has exactly one value from the set {0,1}, a qubit represents both states simultaneously. The maximum number of possible states depends on the number of qubits i.e., n qubits can represent 2 n states. So a 2-qubit vector can simultaneously represent the states |00>, |01>, |10>, |11> and the probability of their occurrence depends on the complex amplitude value Ψ =C 0 |00>+C 1 |01>+C 2 |10>+C 3 |11>.