Principles of Quantum Fault Detection
Total Page:16
File Type:pdf, Size:1020Kb
Principles of Quantum Fault Diagnostics J. Biamonte, J. Allen, M. Lukac, M. Perkowski
Portland Quantum Logic Department of Electrical Engineering, Portland State University, Portland, Oregon, 97207-0751, USA
4 Keywords: Quantum Computing, Quantum Fault Localization, Quantum Test, Quantum error – correction, Quantum error - detection 0 0 2 / Abstract: The diagnostic problem of fault localization for quantum circuits is considered for the first time. 8
/ In this study we introduce an algorithm used to identify and localize errors in quantum circuits; we apply
8 our algorithm to example circuits using known errors that occur in quantum circuits [ 3, 4, 5], and we
l define the quantum fault model. An overview is presented contrasting classical test theory with the new
a quantum test theory presented here. Two new types of faults having no parallel in other types of circuit
n technology are presented, named and formalized in this work. We introduce and define the quantum fault
r table, and categorize its entries; a method is presented illustrating how to construct a class of statistical
u decision diagrams from entries in a quantum fault table. o
J This study has been motivated for the following reasons: (1) various quantum error-correcting codes have been developed, but no research has been done on the problem of formulating a general approach for h minimizing the number of tests needed to identify errors in the quantum circuit itself, (2) such research c may lead to the development of improved error-correcting codes, (3) physicists currently resort to r exhaustively testing quantum circuits, where all possible inputs and outputs are compared; based on the a current trends in quantum computing technology, quantum circuits will soon be larger than what is e
s feasible to test exhaustively, forcing a need for the diagnostic testing method introduced here, and finally
e (4) Quantum test set generation has been mentioned in the literature several times, yet at the time of this writing no in depth study has been done [13, 12]. R r i a N c 1. Introduction and Overview...... 2 M 2. The problem of Testing a Quantum Circuit...... 3
: 2.1. Selecting a Quantum Fault Model...... 4 o 2.2. The existence of complete test sets...... 5 t
3. Generation of the Quantum Fault Table...... 6
d 3.1. The Quantum Covering Problem...... 7
e 4. Localization of Faults...... 8 t
t 4.1. Fault Trees...... 9 i 4.2. Testing CAD Tool and Simulations – Q-Fault...... 10 5. Conclusion...... 10 m 6. Acknowledgements...... 10 b Work Cited...... 11 u 7. Appendix 1: Metrics...... 12 S
1 1. Introduction and Overview
n classical circuit design an error in a circuit is I In classical circuits the phrase “probabilistic fault” typically referred to as a fault – in this paper we (with contributions from [6, 7, 8, 9]) and the phrase use the word error and fault interchangeably when “deterministic fault” (with contributions from [6, referring to both classical and quantum circuits. In 7, 8, 9]), should not be used when referring to a classical circuits we represent the occurrence of fault in a quantum circuit, we will show that this faults digitally as the inversion of one or more bits terminology is incorrect. It is the authors’ hope that of information at one or more locations in the the new types of faults defined here will be coined circuit [6, 7, 11]. In analog circuits a fault is “quantum faults”, as is the case for the remainder manifested by lost signal integrity at one or more of this paper. stages in the circuit. The detection of faults broudly falls in two distinct types of tests: (1) Although it may seem as if testing quantum circuits Parametric tests, as those typically adapted by an is similar to testing reversible circuits, there is analog test engineer, taking into account actually little specific similarity between the two. parametric measures [6]. (2) Logical test [6], An in-depth study of quantum circuits leads one to (known also as functional test [6,7,8,9]) in which understand that although quantum circuits are by the functional output of a system is compared with definition reversible, the fundamental differences the expected output value for a given input test [6, between the inner workings of quantum gates and 7, 8, 9]. the gates used in other implementations of reversible logic have a drastic impact on testing. A quantum computer can suffer from three general For example, a study recently done in [13] noted types of errors; measurement, preperation, or that, “Each test vector covers exactly half of the evolution. In this work, we concern ourselves with possible faults, and each fault is covered by exactly Logical testing as applied to quantum circuits, half of the possible test vectors.” However, we where we inspect the logical data processed by the found that a similar property of symmetry does not quantum circuit and compare this data with the exist in quantum circuits. On the other hand, the expected values allowing us to make a judgement theories used in testing classical logic circuits form on the quantum circuits functionality. the foundation for the new types of theories that we develop and present here, especially in [6, 7, 8, 9, To further narrow the category of logical testing, 10, 11]. we now form three catagories of fault occurance where both classical and quantum circuits suffer: Most research to date (called Quantum error- (1) faults inherent in the circuit by manufacturing correction [1, 2, 4, 5]) amounts to correcting a errors (system faults [6], Manufacturing faults [6], phase or Pauli rotation fault through error- Physical malfunctions/defects [6, 7, 9]), (2) faults correcting codes, “… [Errors] can be characterized introduced by the programmer (design errors [6], by the application of a linear combination of the Conceptual Errors [6], programming errors/bugs) Pauli spin matrices…” [2]. In order to prevent and (3) random errors caused by the environment quantum errors of this certain type, elegant codes (transient failures [6], soft errors [6, 8], random (such as those mentioned in [1, 2, 3, 5, 6]), have errors [13], probabilistic faults). been developed, surprisingly these codes ignore the idea of a global phase error [14]. Our approach As noted, similarity exists between the categories involves testing for any type of quantum error that of classical circuit faults and quantum circuit faults can be represented with a fault model. It is listed so far, with the following very notable believed that the methods introduced in this work exceptions: (1) A quantum circuit may have a fault can also be used to help design quantum circuits always present that is never detectable when that are more tolerant to random errors (fault measured and (2) A quantum circuit may always tolerant quantum circuits), system errors [2], and have a fault present that is only detectable in some the error of global phase [14,1]. percentage of measurements. This gives rise to a new definition needed to represent faults with these properties, observed so far only in quantum circuits.
2 We organized this paper as follows: Section 2 presents several decision diagrams representing addresses general issues related to diagnostic localization trees, and then we conclude our work testing of quantum circuits. An overview of the by discussing future plans for a CAD tool based on different quantum fault models are presented, and QuIDDpro [15]. The appendix contains a brief contrasted with known classical properties, and the introduction to quantum circuits. (if the test set is discussed. In section 3 we present our introduction to quantum circuits is not published algorithm in the most general form, creating a with this document, it can be found online at: quantum fault table. We follow this with a www.ece.pdx.edu/~biamonte ). discussion of the covering problem. Section 4
2. The problem of Testing a Quantum Circuit method is to find a minimal test set to locate all the raditionally the Test Generation Problem is faults in the circuit. The minimal test set is found T using an algorithm to solve the covering problem thought of as the generation of a sequence of tests, from a location table. The size of this table limits (test set) that when applied to a circuit and the applicability of this approach to relatively small compared with the circuit’s output, will either problems. Therefore we concentrate here only on verify that the circuit is correct or will determine the Adaptive Tree Method [16], which dynamically that it contains one or more faults [6]. In other solves the covering problem and generates a fault words, testing is the verification of functionality, tree. and running the ideal test set amounts to complete system verification. In this paper we do not address the issue of testing a quantum circuit that has as its function a certain It is the typical case that certain single tests can expected probability of any number of basis states verify the existence of a fault at multiple locations when read, instead we address only circuits that are in a circuit at the same time, thus it is often the goal supposed to function with the identical output when to choose the fewest tests possible needed to measured any number of times. To solve the determine all possible errors. On the other hand, if problem of localizing faults in quantum circuits, we a circuit was found not to pass a certain test, a must perform several steps that will be explained in method referred to commonly as fault diagnostics greater detail in the following sections: (1) can be employed. Fault diagnostics amounts to calculate the ideal (expected) value of the circuit finding a logical set of tests that will allow a circuit under test, (2) choose a fault model that best engineer to gain a better understanding as to why describes the error predicted to be present in a the circuit is malfunctioning. Fault localization is a given circuit (In the most general case an arbitrary method typically used in classical circuits that we 2 x 2 matrix), (3) determine the locations in the adapted to quantum circuits. In the diagnostic circuit that the error is believed to be located in, method of fault localization a test set is developed (4) place the gate representing the fault model at that ideally will allow a circuit engineer to know each location in the circuit (from 3), and generate the location and type of fault present in a circuit. separate calculations for each placement, (5) generate fault table that contains a column for For the diagnostic method of fault localization there every fault inserted in the circuit, a row for every are typically two general methods used in classical possible input vector to the circuit, and a cell that circuits: (1) single-fault-model [16], and (2) the contains the output of the circuit under the multiple-fault-model [16]. We address the single conditions of the column,(6) apply the algorithm fault model in this paper, leaving the multiple-fault- presented in section 4 to the fault table generating model for latter discussion. The two most popular a decision diagram that contains instructions of approaches to Fault Localization are (1) Preset how to localize faults present in the circuit, and (7) Method and (2) Adaptive Tree Method [17]: In apply the test set (input) listed in the decision literature, both methods start from a fault table diagram to localize (where possible) and detect the which has tests (input vectors) as rows and all faults present in an actual quantum circuit. possible faults as columns.1 The goal of the preset
1 The quantum fault table has been extended dimensionally adding the output value measured from reading a circuit to the classical circuit.
3 2.1. Selecting a Quantum Fault Model phase and rotation faults) and the Hadamard and n classical binary CMOS circuits a stuck-at fault π/8-Gate (for faults resulting from superposition I and quantum effects). model has been used successfully for the last 50 years. However, one must be very careful while With the gates from table 1 as our fault model we adapting this model to a new technology. For noticed some very interesting results that have no instance for many years a fault model that rarely parallel in the classical theory of testability; we occurred in actual multi-valued CMOS circuits was present these classically unparalleled results of a standard fault model used by many researchers testability: until it was proven to actually occur more rarely than other faults. Most researchers developed very LEMMA 1: Certain faults can always be present in general methods, potentially applicable to arbitrary a circuit yet never detectable. technology, (as those presented here), so their work was easily adapted. In classical binary CMOS PROF FOR LEMMA 1: Let us consider the case circuits, the following fault models are in wide use of a single Qubit, whose probability of being today to test functionality and to perform diagnostic measured in basis state|0> or basis state |1> is left methods [6, 7, 11]: unchanged with a phase shift. Stuck-at faults Stuck Open Faults The Lie group SO(3), the group of rotations in Single stuck-at faults Bridging Faults three-dimensional space maps to U(2), the unitary Multiple stuck-at faults Delay Faults group that represents all single Qubits. In addition, the Pauli matrices are a realization (and, In constructing a quantum fault model one must in fact, the lowest-dimensional realization) of pay special attention to the historic lesson already infinitesimal rotations in three-dimensional space. learned from classical testing, since quantum computers are still in their beginning stages of In quantum mechanics, the Pauli matrices development. Although we can say with no represent the generators of rotation acting on non- certainty what technological implementation of the relativistic particles with spin 1/2. The state of the first commercial quantum computer the future particles are represented as two-component holds, we can say with certainty that this Spinors, which is the fundamental representation of implementation will impact the fault model used. U(2) (the unitary group U(2), defines the current Although this is the first diagnostic method that state of a Qubit, according to the first postulate of adapts similar established theories of testability to quantum mechanics[1,2]). quantum circuits, physicists have already in use what could be considered a fault model. Ample An interesting property of spin 1/2 particles is that literature including [3, 4, 5] presents error- they must be rotated by an angle of 4π in order to correcting codes, and these codes help the system return to their original configuration. This is due to recover from errors of phase-shift and rotations, the fact that SU(2) and SO(3) are not globally and it is often mentioned [3, 4, 5, 1, 2] that Qubits isomorphic, even though their infinitesimal can become entangled with the environment generators su(2) and so(3) are isomorphic. SU(2) causing errors to occur[4, 5, 6, 2]. [18] Presents a is actually a "double cover" of SO(3), meaning that study on the occurrence of non-unitary faults. The each element of SO(3) actually corresponds to two point here is to again mention that a need is already elements in SU(2). present for diagnostic methods such as this, and to give justification as to why we chose the fault Since SO(3) is the rotational group in R3, and we model used in this paper. We believe the most can map SO(3) to U(2), we are able to think of any general fault model is inserting 2 x 2 matrices as unitary gate as a rotation about the Bloch sphere. gates into quantum circuits. The removal of a In fact U(2) preserves all rotations from R3. From unitary quantum gate can be modeled as placing the the group SO(3) it is clear that rotations (around inverse gate next to the gate that is to be removed. for instance) do not change the distance between Clearly, for a given gate G, provided G is unitary, zˆ the certain planes or certain basis, these are the removal of G is simply the insertion of G† unaffected by the rotation. If the measurement directly after G such that, G†G=I. Formally for this basis is chosen to be Eigen states |0> and |1> in work we selected all of the Pauli operators (for the U(2) than what we refer to as a phase shift is such
4 a rotation that does not change the distance from a states is the correct state and the other is certain basis and therefore does not impact erroneous. When a pure basis is read its value will measurement.. depend on a certain probability of being the correct state, or the incorrect state. More formally we assume that out Qubit exists in the state: More formally we assume that out Qubit exists in the state: 0 1 0 1 A simple example is clearer than the more general case, however both proofs are straightforward. Let If we place our Qubit in a superposition by us act on our Qubit with a phase shift (Pauli-Z): applying the Hadamard transform, such that: 1 1 1 1 1 0 2 1 1 2 0 1 If we measure from basis |0> and note that the ideal circuit has 0 , in this case, we have1/2 2 Since 2 2 , and 2 , we preserve as the probability of erroneous measure, if the fault the fact that, 2 2 1and leave the is indeed present. ◊ probability amplitude unchanged. ◊ Gates Inserted As Additional Gates used faults: often in quantum circuits: LEMMA 2: Certain faults can always be present in a circuit but only detectable a percentage of time Hadamard (H), Feynman (F), Controlled when measured. Pauli-X (X), Pauli- square root of NOT(V) and Y (Y), and Pauli-Z controlled square root of PROF FOR LEMMA 2: Let us state that the (Z) NOT Hermitian gate(V+) occurrence of a fault is deterministic, detection or measurement of the fault is probabilistic. Table 1 – gates used for circuit construction and as As example, suppose a Qubit enters an entangled fault models state or a state of superposition, where one of the
2.2. The existence of complete test sets simple case one can make no statements as to the he optimum test set will detect all possible probability that a fault is present at location X in T the circuit prior to running a given test. It is only faults that can be present in the device with the running the test that allows us to make one of the least number of test vectors; this is known as high following statements: (1) the fault is definitely not defect coverage for both classical and quantum present at location X, or (2) the fault is definitely circuits [6]. In general when we perform a given present at location X (since the probability of test, we are attempting to determine to a certain detection of a fault is 100%, if the fault is indeed degree of assurance whether or not a fault is present). present. For example, let us assume that we have defined a location in a theoretical quantum circuit Now if we perform the same calculations for a fault as location X. at location X, and this time determine that the fault we inserted only occurs with a given probability If we insert a fault at location X and perform a denoted by P(x), prior to running any single test we calculation telling us that the fault we inserted can make no statement related to the occurrence of amounts to a bit flip when measured, then if we P(x). However, after running any number of tests measured an actual circuit and find the binary we can say one of two things: (1) the fault is output has been inverted (based on our model), we definitely present at location X, or (2) we are able can say that we have determined that the fault exists to judge the probability of the assumption of the at X (we have localized X). However, even in this
5 occurrence of the fault at location X based on question of whether or not a fault is truly present in passed experimental outcome. In other words, we the quantum circuit. are only able to judge our assumption to a given percentage, and this assumption never answers the 3. Generation of the Quantum Fault Table In this section we describe the basic steps used in a certain basis. It now becomes clear as to what our algorithm to generate the quantum fault table. input vector creates an outcome other than that Quantum Fault table Construction begins with the expected from ideal calculations made in the first selection of a circuit that has either been proven or step. For example let us illustrate the principle just suspected to not function correctly. *Fault outlined with a simple example. Table 2 below diagnostics requires more time and tester memory, illustrates a constructed fault table were a Pauli-X and is generally much slower and unnecessary if fault was inserted at location XN, where N the simpler case of verification is all that is needed. corresponds to the location of the fault (locations 1- (We refer the reader to [17] for in-depth 9 in circuit). information relating to testing quantum circuits without diagnostics). 1 2 3
The first step to generate a quantum fault table is to 4 5 6 7 model the circuit in question and calculate the ideal + result stored in the circuits Qubit memory register V 8 V 9 V (state vector). This calculation is used to determine the probability of measuring each individual state Figure 1 – The locations that the fault is suspected to reside for all possible input test vectors. From these calculations the Pauli-X fault table A decision must now be made defining all locations directly follows: From the Pauli-X fault table it is that the fault is thought to reside. We illustrate this clear to see that the input test vector is located as a by numbering locations in the circuit in Figure 1 column to the left, followed by the correct output of (locations 1-9). After we number the locations of the circuit. In the top row the faults are also named, possible faults, we are free to insert any given fault XN, where N is a number between 1 and 9 to signify model into any of the nine locations of the circuit. the location in the circuit we inserted the fault. For all of the locations in the circuit where a fault is suspected to reside, the quantum circuits state matrix is recalculated, and we store the possible output as well as the probability of measurement in
Construct quantum fault table:
Select circuit to analyze Calculate ideal output value for all possible inputs and store in fault table Select all possible locations that the fault could reside Select fault model
For all locations in the circuit Insert fault model Calculate new output value after fault was inserted Record the measurement state probability in given cell End Algorithm to construct fault table
6 Input Correc X1 X2 X3 X4 , X5 X6 , X8 ,
t X7 X9 Output 0 0 0 0 1 0 0 0 | |000> | |100> | | | | 0 0 0 0 0 1 0 0 000> 100> 100>50% 010>50% 010> 001> 1 j 1 j | | 0 0 0 0 0 0 2 2 2 2 101>50% 011>50% 1 j 1 j | |001> | |101> | | | | 0 0 0 0 0 0 001> 101> 101>50% 011>50% 011> 000> X 2 2 2 2 | | 2 1 0 0 0 0 0 0 0 100>50% 010>50% 0 1 0 0 0 0 0 0 | |010> | | | | | | 1 j 1 j 010> 111> 111>50% 111>50% 000>50% 000> 011> 0 0 0 0 0 0 | | | 2 2 2 2 110>50% 110>50% 001>50% 1 j 1 j 0 0 0 0 0 0 | |011> | | | | | | 2 2 2 2 011> 110> 110>50% 110>50% 001>50% 001> 010> | | | 111>50% 111>50% 000>50% | |100> | |000> | | | | 100> 000> 000>50% 110>50% 110> 101> | | 001>50% 111>50% | |101> | |001> | | | | 101> 001> 001>50% 111>50% 111> 100> | | 000>50% 110>50% | |111> | | | | | | 110> 010> 010>50% 010>50% 101>50% 101> 110> | | | 011>50% 011>50% 100>50% | |110> | | | | | | 111> 011> 011>50% 011>50% 100>50% 100> 111> | | | 010>50% 010>50% 101>50% Table 2 – Pauli-X fault table Equation 1 –Pauli-X inserted at location 2 from figure 1. Note: j is a complex number. 3.1. The Quantum Covering Problem The general theory behind fault localization is that (Let’s assume we are only using locations 1 and 2, if we know the expected output of a circuit, we for possible fault locations from figure 1) We will
insert a fault at some location in the quantum circuit examine a particular case by pointing out X1 having and note the changes of outputs between this new a different output than the correct output for all faulty circuit and the expected correct circuit. If we possible input test vectors (|000> through |111>). If then run a test on a real circuit and find the same we supply input |000> and get output |100> we
output as in the faulty case that we calculated, then know that we have either fault X1, X2. To localize by our method we determined that the same fault as between X1 and X2 we can supply an input of |010> we inserted into our theoretical circuit for multiple times. If at any iteration of supplying calculations is (or was) present in the actual circuit. input |010> we read |110> as output we know that
Let us examine the fault table from our last X2 exists and not X1 (note we are using the single example to further this point. fault model).
From the fault tables presented in section 3, it is However, if we continue to measure |111> as clear that many of the faults are detectable. Our output when the state of the system is projected algorithm is a very simple greedy algorithm that onto basis |010> we can ascertain a certain level of
relies on our ability to perform some simple metrics percentage that X1 is present and not X2. For on the table. In table 3 we see the Pauli-X table example, if we input |010> 10 times and measure |
with some added metrics, all of which are explained 111> each time as output we know that if X2 was in in the table. fact present, the circuit would behave in this manor 100 x (1/2)10 percent of the time ( 0.1% ).
7 In the first stage of the algorithm we attempt to split several test vectors that are equivalent to each the tree to give it the most breadth using a greedy other, such that we cannot localize between them. algorithm. After the tree is split each node of the tree can either be a terminal node, where no more Create Tree: iterations can be applied to localize between further { examine metrics on each test faults, or otherwise. In the later case, a subsection select test with highest number of unique entries of the fault table is analyzed, and the test vector that and lowest number of multiple entries has the minimum overlap between all of the faults create nodes corresponding to each possible output still present in the node is selected. This is best For all nodes: NodeItterator( all nodes ): illustrated with the outline of our algorithm as if node is terminal node return shown at the end of this section: find optimum disjoint set corresponding to node construct new nodes The goal of our algorithm is simply to localize for all each node constructed call NodeItterator } between faults, however, in many cases there exists Greedy Algorithm to solve quantum covering problem
Pauli-X Unique Overlapping Unique
X1 X2 X3 X4 , X5 X6, X7 X8, X9 Entries: Entries: Correct Input Correct (Number – (Number – cover (P)) Output: Output P) Y/N – (P) | |000> |100> |100> |100>50% |010>50% |010> |001> 1 – 1 1 – 3 (1,1,0.5) Y 000> |101>50% |011>50% 2 – 0.5 1 – 2 (0.5,1) | |001> |101> |101> |101>50% |011>50% |011> |000> 1 – 1 1 – 3 (1,1,0.5) Y 001> |100>50% |010>50% 2 – 0.5 1 – 2 (0.5,1) | |010> |111> |111>50% |111>50% |000>50% |000> |011> 1 – 1 1 – 3 (1,0.5,0.5) Y 010> |110>50% |110>50% |001>50% 1 – 0.5 2 – 2 (0.5,0.5) (0.5,1) | |011> |110> |110>50% |110>50% |001>50% |001> |010> 1 – 1 1 – 3 (1,0.5,0.5) Y 011> |111>50% |111>50% |000>50% 1 – 0.5 2 – 2 (0.5,0.5) (0.5,1) | |100> |000> |000> |000>50% |110>50% |110> |101> 1 – 1 1 – 3 (1,1,0.5) Y 100> |001>50% |111>50% 2 – 0.5 1 – 2 (0.5,1) | |101> |001> |001> |001>50% |111>50% |111> |100> 1 – 1 1 – 3 (1,1,0.5) Y 101> |000>50% |110>50% 2 – 0.5 1 – 2 (0.5,1) | |111> |010> |010>50% |010>50% |101>50% |101> |110> 1 – 1 1 – 3 (1,0.5,0.5) Y 110> |011>50% |011>50% |100>50% 1 – 0.5 2 – 2 (0.5,0.5) (0.5,1) | |110> |011> |011>50% |011>50% |100>50% |100> |111> 1 – 1 1 – 3 (1,0.5,0.5) Y 111> |010>50% |010>50% |101>50% 1 – 0.5 2 – 2 (0.5,0.5) (0.5,1) Table 3 – Fault table for Pauli-Y fault inserted as depicted in Figure 1
Explanation of Table-3: The Unique entries column is given by the number of unique entries followed by a dash and then the probability of detection for a given fault, if actually present. The overlapping entries column is a metric relating the number of entries that are not correct and not unique (this means you can not localize between them generally for a corresponding test vector). The number of over lap is followed by a dash, then the number of entries that overlap is given, and following in brackets are the probabilities for all given overlapping entries. 4. Localization of Faults A solution to the covering problems leads its self the circuit is inside the node, and the numbers on directly to the construction of trees, a graphical the edges are the output of the circuit, for a given simplification used to illustrate exactly the test to branching condition. For example, if we supply as run and the steps to take provided a given output, input to the circuit a test vector of |010>, and have and to localize between faults. as output 011 we know that a Pauli-Z fault is present at location 8 (from figure 1). However, if Explanation of Figure 2: Figure 2 is a tree created we measure as output 010, we can have any number from inserting the Pauli-Z fault as depicted in of faults or a good circuit, and it is not until we run Figure 1. From this tree it is clear that the input to
8 another test (|100>) can we localize between all detectable faults and that of a good circuit.
Pauli-Z |010> Input Correct Z1-Z7 Z8 Z9 Output (Same as 011 010 correct output) |000> |000> |000> |000> |000> |001> |001> |001> |001> |001> Z8 |100> |010> |010> |010> |011> |010> |011> |011> |011> |010> |011> |100> |100> |100> |100> |101> 101 else |101> |101> |101> |101> |100> |110> |111> |111> |110> |110> |111> |110> |110> |111> |111>
Z(1-7)? Z9 Table 4 – Fault table for Pauli-Z fault inserted as depicted in figure 1 Figure 2 – (Tree to localize between Pauli-Z faults for circuit in question)
9 4.1. Fault Trees The quantum-covering problem is different than in the classical case as result of the introduction of The output branching condition is drawn on each positive fractions inserted into the fault table. This edge. All nodes with feed back edges correspond section presents trees generated from the algorithm to iterative testing, where one has to run a given test presented in section 3. The input of the circuit is any number of times before past outcome will shown in the center of each node, as is the terminal allow one to make a judgment as to whether or not indication, where a fault can be localized no a fault is present, with a given probability of further. assurance.
111
X1,X2,X3 |000> |110> 100 001 000 111 |010> X8,X9 001
010 010 H2 110 X2,X3 (X4,X5),(X6,X7) H1,H3 101 011 111 000 |100> |000> 010 010 |110> 101 011 (H4,H5),(H6,H7) 110 001 011 011 |110> 111 100 101 X3 X4,X5 H8,H9
H3 |101> 100 100
Pauli-X 101 (Tree to localize between Pauli-X faults)
H8
(Note, the edges that loop back illustrate iterative H4,H5 testing where probabilities are involved in the determination of a given fault) Hadamard (Tree to localize between Hadamard faults)
Hadamard
H1 H2 H3 H4 , H5 H6 , H7 H8 H9 Input Correct Output |000> |000> |000>50% |000>50% |000>50% |000>50% |000>50% |000>50% |000>50% |100>50% |110>25% |100>25% |010>25% |010>50% |001>50% |001>50% |111>25% |101>25% |011>25% |001> |001> |001>50% |001>50% |001>50% |001>50% |001>50% |001>50% |001>50% |101>50% |110>25% |100>25% |010>25% |011>50% |000>50% |000>50% |111>25% |101>25% |011>25% |010> |010> |010>50% |010>50% |010>50% |010>50% |010>50% |011> |010>50% |111>50% |100>25% |111>25% |000>25% |000>50% |011>50% |101>25% |110>25% |001>25% |011> |011> |011>50% |011>50% |011>50% |011>50% |011>50% |010> |011>50% |110>50% |100>25% |110>25% |001>25% |001>50% |010>50% |101>25% |111>25% |000>25% |100> |100> |100>50% |100>50% |100>50% |100>50% |100>50% |100>50% |101> |000>50% |010>25% |000>25% |110>25% |110>50% |101>50% |011>25% |001>25% |111>25% |101> |101> |101>50% |101>50% |101>50% |101>50% |101>50% |101>50% |100> |001>50% |010>25% |001>25% |111>25% |111>50% |100>50% |011>25% |000>25% |110>25% |110> |111> |111>50% |111>50% |111>50% |111>50% |111>50% |110> |110> |010>50% |000>25% |010>25% |101>25% |101>50% |001>25% |011>25% |100>25% |111> |110> |110>50% |110>50% |110>50% |110>50% |110>50% |111> |111> |011>50% |000>25% |011>25% |100>25% |100>50% |001>25% |010>25% |101>25% Hadamard Fault Table
10 4.2. Testing CAD Tool and Simulations – Q-Fault The simulations in this work were done on The author is willing to construct test trees for QuIDDpro [15]. The end result of this work is a circuits provided by our readers. The binary functional software package that verifies all results executable as well as the source code will not be contained in this paper, as a plug in to QuIDDpro. made available, due to our license agreement with However, the algorithm presented here can be the University of Michigan. applied by hand and is completely ready to be used.
5. Conclusion In this paper we presented a solution to the open We feel that the elegance of this method is its problem of quantum fault diagnostics. The authors simplicity and hope that the usefulness of what is (Perkowski, Biamonte) founded this area of study presented here will somehow stand apart from the with their introductory work in [12]. This work was common approach of error correcting codes, that a finalized continuation of [12], and marks the first are however less general then the presented useful diagnostic method available for actual approach. This work is by no means the optimal quantum computers other than the exhaustive solution, since the covering problem is well known approach. to be NP. However, the algorithm presented has good heuristics and solves the problem completely, In this work we defined the quantum fault model. just not optimally. Fault models are always very technology dependent, and our future work will result in the In closing, we would like to say that this is a very development of a working software package to deep area of study, and now that one solution exists perform the algorithm automatically, using and the problem of fault diagnostics is no longer technology dependent fault models. what can be thought of as an open problem, we are sure many solutions will soon be discovered. 6. Acknowledgements A preliminary version of this paper was presented This work was supported by Ronald E. McNair at the INQ research conference, Portland Oregon, Post baccalaureate Achievement Program of May 2004, with John Buell as a coauthor. Portland State University. The views and conclusions contained herein are those of the We would like to thank George Viamontes for authors and should not be interpreted as providing us QuIDDPro beta version 1.1.1, the necessarily representing official policies of world’s fastest quantum simulation tool that he is endorsements, either expressed or implied, of the developing for his PhD thesis at the University of Ronald E. McNair Post baccalaureate Achievement Michigan [15]. Program of Portland State University, or Portland State University. ◊
11 7. Work Cited 1. M. Nielsen, I. Chuang, “Quantum Computing and Quantum Information”, Cambridge University Press, 2000 2. C. Williams, S. Clearwater, “Explorations in Quantum Computing”, Springer Press, 1997 3. Ashikhmin, A., Barg, A., Knill, E., and Litsyn, S. Quantum error detection I: Statement of the problem. IEEE Trans. Inf. Theory, to appear, 1999. arXiv, quant-ph/9906126. 4. Ashikhmin, A., Barg, A., Knill, E., and Litsyn, S. Quantum error detection II: Bounds. IEEE Trans. Inf. Theory, to appear, 1999. arXiv, quant-ph/9906131. 5. Bennett, C. H., DiVincenzo, D. P., Smolin, J. A., and Wootters, W. K. Mixed state entanglement and quantum error-correcting codes. Phys. Rev. A, 54:3824, 1996. arXiv, quant-ph/9604024. 6. C. Landrault, Translated by M. A. Perkowski, “Test and Design For Test” http://www.ee.pdx.edu/~mperkows/CLASS_TEST_99/inx.html 7. S. Reddy, “Easily Testable Realizations for Logic Functions”. 1972, 8. T. Sasao, “Easily Testable Realizations for Generalized Reed-Muller Expressions”, 1997 9. E. McCluskey and Ch-W. Tseng, ``Stuck-Fault Tests vs. Actual Defects.'' 10. R. Butler, B. Keller, S.Paliwal, R. Schooner, J.Swenton, ``Design and Implementation of a Parallel Automatic Test Pattern Generation Algorithm with Low Test Vector Count ''. 11. A.M. Brosa and J. Figueras, ``Digital Signature Proposal for Mixed-Signal Circuits''. 12. S. Aligala, S. Ratakonda, K. Narayan, K. Nagarajan, M. Lukac, J. Biamonte and M. Perkowski, Deterministic and Probabilistic Test Generation for Binary and Ternary Quantum Circuits, Proceedings of ULSI 2004 symposium, Toronto, Canada, in May 13. K. Patel, J. Hayes, I. Markov, Fault Testing for Reversible Circuits, to appear in IEEE Trans. on CAD, quant-ph/0404003 14. S. Kak, The Initialization Problem in Quantum Computing, Foundations of Physics, vol 29, pp. 267-279, 1999 15. G. Viamontes, I. Markov, J. Hayes, Improving Gate-Level Simulation of Quantum Circuits, Quantum Information Processing, vol. 2(5), pp. 347-380, October 2003, quant-ph/0309060 16. K. Ramasamy, R. Tagare, E. Perkins and M. Perkowski, Fault localization in reversible circuits is easier than for classical circuits, IWLS proceedings, 2003 17. Z. Kohavi, Switching and Finite Automata Theory, McGraw Hill, 1978 18. S. Bettelli, Quantitative model for the effective decoherence of a quantum computer with imperfect unitary operations, Physical Review A 69,042310 (2004) (14 pages) 19. J. Biamonte, J. Allan, M. Lukac, M. Perkwoski, Principles of Quantum Fault Detection, to be submitted to IEEE Transactions on Computing 2004
12 8. Appendix 1: Metrics Hadamard Pauli-Z Pauli-Y Pauli-X Input Unique Overlapping Unique Unique Overlapping Unique Unique Overlapping Unique Unique Overlapping Unique Entries: Entries: Correct Entries: Entries: Correct Entries: Entries: Correct Entries: Entries: Correct (Number – Output: Output: (Number – (Number – cover Output: (Number – (Number – cover Output: P) P) (P)) Y/N – (P) P) (P)) Y/N – (P) |000> 4 – 0.25 1 – 8 (1,0.5 ,0.5,0.5, N – 0 1 – 10 N – 1 – 1 3 – 2 (1,0.5)(0.5,1) Y 1 – 1 1 – 3 (1,1,0.5) Y 0.5,0.5,0.5,0.5) (1,1,0.5,0.5, (1,1,1,1,1,1,1,1,1,1) (1,1,1,1,1,1,1,1,1,1) 2 – 0.5 (1,1) 2 – 0.5 1 – 2 (0.5,1) 2 – 2 (0.5,0.25)(0.25,0.5) 0.5,0.5,0.5,0.5) (0.5,0.5) |001> 4 – 0.25 1 – 8 (1,1,0.5,0.5, N 0 1 – 10 N – 1 – 1 3 – 2 (1,0.5)(0.5,1) Y 1 – 1 1 – 3 (1,1,0.5) Y 0.5,0.5,0.5,0.5) (1,1,1,1,1,1,1,1,1,1) (1,1,1,1,1,1,1,1,1,1) 2 – 0.5 (1,1) 2 – 0.5 1 – 2 (0.5,1) 3 – 2 (0.5,0.25)(0.25,0.5) (0.5,0.5) |010> 4 – 0.25 1 – 7 (1, 0.5, 0.5, 0.5, 0.5, 0.5, N 1 – 1 1 – 9 (1,1,1,1,1,1,1,1,1) N – (1,1,1,1,1,1,1,1,1) 1 – 1 3 – 2 (1,1)(1,0.5) N – (1,1) 1 – 1 1 – 3 (1,0.5,0.5) Y 0.5) 2 – 0.5 (0.5,1) 1 – 0.5 2 – 2 (0.5,0.5) 3 – 2 (0.5, 0.25)(0.25,0.5) (0.5,1) (1,0.5) |011> 4 – 0.25 1 – 7 (1, 0.5, 0.5, 0.5, 0.5, 0.5, N 1 – 1 1 – 9 (1,1,1,1,1,1,1,1,1) N – (1,1,1,1,1,1,1,1,1) 1 – 1 3 – 2 (1,1)(1,0.5) N – (1,1) 1 – 1 1 – 3 (1,0.5,0.5) Y 0.5) 2 – 0.5 (0.5,1) 1 – 0.5 2 – 2 (0.5,0.5) 3 – 2 (0.5, 0.25)(0.25,0.5) (0.5,1) (1,0.5) |100> 4 – 0.25 1 – 7 (1, 0.5, 0.5, 0.5, 0.5, 0.5, N 1 – 1 1 – 9 (1,1,1,1,1,1,1,1,1) N – (1,1,1,1,1,1,1,1,1) 1 – 1 3 – 2 (1,1)(1,0.5) N – (1,1) 1 – 1 1 – 3 (1,1,0.5) Y 0.5) 2 – 0.5 (0.5,1) 2 – 0.5 1 – 2 (0.5,1) 3 – 2 (0.5, 0.25)(0.25,0.5) (1,0.5) |101> 4 – 0.25 1 – 7 (1, 0.5, 0.5, 0.5, 0.5, 0.5, N 1 – 1 1 – 9 (1,1,1,1,1,1,1,1,1) N – (1,1,1,1,1,1,1,1,1) 1 – 1 3 – 2 (1,1)(1,0.5) N – (1,1) 1 – 1 1 – 3 (1,1,0.5) Y 0.5) 2 – 0.5 (0.5,1) 2 – 0.5 1 – 2 (0.5,1) 3 – 2 (0.5, 0.25)(0.25,0.5) (1,0.5) |110> 4 – 0.25 1 – 6 (1, 0.5, 0.5, 0.5, 0.5, 0.5) N 0 1 – 10 N – 1 – 1 1 – 3 (1,1,1) N – 1 – 1 1 – 3 (1,0.5,0.5) Y 3 – 2 (0.5, 0.25)(0.25,0.5) (1,1,1,1,1,1,1,1,1,1) (1,1,1,1,1,1,1,1,1,1) 2 – 0.5 2 – 2 (1,0.5)(0.5,1) (1,1,1) 1 – 0.5 2 – 2 (0.5,0.5) (1,1) (0.5,1) |111> 4 – 0.25 1 – 6 (1, 0.5, 0.5, 0.5, 0.5, 0.5) N 0 1 – 8 (1,1,1,1,1,1,1,1) N – (1,1,1,1,1,1,1,1) 1 – 1 1 – 3 (1,1,1) N – 1 – 1 1 – 3 (1,0.5,0.5) Y 3 – 2 (0.5, 0.25)(0.25,0.5) 1 – 2 (1,1) 2 – 0.5 2 – 2 (1,0.5)(0.5,1) (1,1,1) 1 – 0.5 2 – 2 (0.5,0.5) (1,1) (0.5,1)
The above table shows the metrics calculated on each of the faults inserted into the circuit (Locations 1-9, Figure 1, Faults: Pauli-X, Pauli-Y, Pauli-Z, Hadamard)
13