US20150339417A1 - Methods For General Stabilizer-Based Quantum Computing Simulation - Google Patents

Methods For General Stabilizer-Based Quantum Computing Simulation Download PDF

Info

Publication number
US20150339417A1
US20150339417A1 US14/719,884 US201514719884A US2015339417A1 US 20150339417 A1 US20150339417 A1 US 20150339417A1 US 201514719884 A US201514719884 A US 201514719884A US 2015339417 A1 US2015339417 A1 US 2015339417A1
Authority
US
United States
Prior art keywords
stabilizer
matrix
quantum
states
state
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
US14/719,884
Other versions
US9477796B2 (en
Inventor
Hector J. Garcia-Ramirez
Igor L. Markov
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
University of Michigan
Original Assignee
University of Michigan
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by University of Michigan filed Critical University of Michigan
Priority to US14/719,884 priority Critical patent/US9477796B2/en
Assigned to THE REGENTS OF THE UNIVERSITY OF MICHIGAN reassignment THE REGENTS OF THE UNIVERSITY OF MICHIGAN ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: MARKOV, IGOR L., GARCIA-RAMIREZ, HECTOR J.
Assigned to AFRL/RIJ reassignment AFRL/RIJ CONFIRMATORY LICENSE (SEE DOCUMENT FOR DETAILS). Assignors: UNIVERSITY OF MICHIGAN
Publication of US20150339417A1 publication Critical patent/US20150339417A1/en
Application granted granted Critical
Publication of US9477796B2 publication Critical patent/US9477796B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • G06F17/5009
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N10/00Quantum computing, i.e. information processing based on quantum-mechanical phenomena
    • G06N99/002
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B82NANOTECHNOLOGY
    • B82YSPECIFIC USES OR APPLICATIONS OF NANOSTRUCTURES; MEASUREMENT OR ANALYSIS OF NANOSTRUCTURES; MANUFACTURE OR TREATMENT OF NANOSTRUCTURES
    • B82Y10/00Nanotechnology for information processing, storage or transmission, e.g. quantum computing or single electron logic

Definitions

  • the invention relates generally to methods for simulating quantum computing operations on classical computers and, more particularly, to methods for efficiently simulating general quantum states by superposition of stabilizer states.
  • Quantum information processing manipulates quantum states rather than conventional 0-1 bits. It has been demonstrated with a variety of physical technologies (NMR, ion traps, Josephson junctions in superconductors, optics, etc.) and used in recently developed commercial products. Algorithms such as Shor's factoring algorithm and Grover's search algorithm apply the principles of quantum information to carry out certain computations asymptotically more efficiently than classical computers. Quantum computers hold great potential for complex computations in computational chemistry, biology, medicine, physics, and other fields. These developments have fueled research efforts to design, build and program scalable quantum computers. Due to the high volatility of quantum information, quantum error-correcting codes and effective fault-tolerant architectures are necessary to build reliable quantum computers.
  • quantum algorithms are described in terms of quantum circuits and, similar to conventional digital circuits, require functional simulation to determine the best fault-tolerant design choices given limited resources.
  • high-performance simulation is a key component in quantum design that facilitates analysis of trade-offs between performance and accuracy.
  • Quantum circuit simulation Simulating quantum circuits on a classical computer is a difficult problem.
  • the matrices representing quantum gates, and the vectors that model quantum states grow exponentially with an increase in the number of qubits the quantum analogue of the classical computing bit.
  • Several software packages have been developed for quantum circuit simulation including Oemer's Quantum Computation Language (QCL) and Viamontes' Quantum Information Decision Diagrams (QuIDD) implemented in the QuIDDPro package. While QCL simulates circuits directly using state vectors, QuIDDPro uses a variant of binary decision diagrams to store state vectors more compactly in some cases. Since the state-vector representation requires excessive computational resources in general, simulation-based reliability studies (e.g.
  • One embodiment includes a method for maintaining global phases during simulation of at least one quantum gate of a quantum computer using a classical computer.
  • the method includes the following: receiving a quantum state that is a superposition of a plurality of stabilizer states (wherein the quantum state is represented by a stabilizer matrix associated with the plurality of stabilizer states, a plurality of phase vectors representing each of the stabilizer states, and an amplitude vector with each entry in the amplitude vector representing a global phase associated with one of the plurality of phase vectors); receiving a matrix representation of the at least one quantum gate; and determining the effect of the at least one quantum gate on the quantum state in a plurality of iterations, each of which includes: applying one of the plurality of phase vectors to the stabilizer matrix, determining an input basis state associated with the one phase vector applied to the stabilizer matrix, determining an input non-zero amplitude associated with the input basis state, determining a first
  • Another embodiment includes a tangible, non-transitory computer-readable medium storing instructions for maintaining global phases during simulation of at least one quantum gate of a quantum computer using a classical computer that, when executed by one or more processors of the classical computer, cause the classical computer to perform corresponding operations.
  • At least one quantum gate of the quantum computer is not a stabilizer gate (i.e., the quantum gate is not a Hadamard, phase, or CNOT gate).
  • the a set of the quantum gates may form a universal set for quantum computation (e.g., a set including a Hadamard gate and a Toffoli gate).
  • the stabilizer matrix may be in canonical form, which greatly simplifies operations such as implementation of gates and measurement.
  • further embodiments may include compressing the received quantum state into a stabilizer frame (containing the stabilizer matrix, the plurality of phase vectors, and the amplitude vector), and then determining the effect of a plurality of the quantum gates on the quantum state using the stabilizer frame without uncompressing the stabilizer frame for measurement until the plurality of quantum gates have been applied to the quantum state.
  • a general quantum circuit containing a plurality of (stabilizer or non-stabilizer) quantum gates may be simulated efficiently while the quantum state remains compressed (i.e., represented by a stabilizer frame).
  • a linear combination of a plurality of mutually orthogonal stabilizer frames i.e., a muliframe representation
  • Another embodiment includes a method for orthogonalization of a linear combination of stabilizer states during simulation of a quantum circuit using a classical computer.
  • the method includes the following: receiving a linear combination of stabilizer states (wherein the linear combination includes a plurality of stabilizer states represented by canonical stabilizer matrices and a plurality of coefficients associated with the plurality of stabilizer states); and orthogonalizing the linear combination of stabilizer states in each of one or more iterations, each of which includes: identifying a column in which at least two of the canonical stabilizer matrices contain different types of Pauli literals, decomposing each of the stabilizer matrices that contain an X or Y Pauli literal in the identified column into a first matrix and a second matrix (wherein the first matrix and the second matrix represent stabilizer states that are nearest neighbors of the stabilizer state associated with the decomposed stabilizer matrix), determining a first global phase factor of the first matrix and a second global phase factor of the second matrix associated with each of the decomposed stabilizer
  • Another embodiment includes a tangible, non-transitory computer-readable medium storing instructions for orthogonalization of a linear combination of stabilizer states during simulation of a quantum circuit using a classical computer that, when executed by one or more processors of the classical computer, cause the classical computer to perform corresponding operations.
  • decomposing each of the stabilizer matrices may further include (i) identifying a row in the stabilizer matrix that contains an X or Y Pauli literal in the identified column, (ii) causing every other row in the stabilizer matrix that commutes with the identified row to anticommute with the identified row, (iii) creating the first matrix from the revised stabilizer matrix by replacing the row with a first new row containing a positive Z Pauli literal in the identified column, and (iv) creating the second matrix from the revised stabilizer matrix by replacing the row with a second new row containing a negative Z Pauli literal in the identified column. This will preserve the form of the stabilizer matrix and remove redundant literals.
  • the linear combination of stabilizer states may comprise a linear combination of stabilizer frames representing a quantum state
  • the method or computer readable medium may further determine the effect of at least one quantum gate on the linear combination of stabilizer states by applying a matrix representation of the quantum gate to each of the stabilizer frames.
  • the one or more quantum gates may include at least one measurement gate, and determining the effect of the measurement gate may include determining an outcome probability of a state using normalized outcome probabilities of the state in each of the frames.
  • at least one of the quantum gates is not a stabilizer gate (i.e., the quantum gate is not a Hadamard, phase, or CNOT gate).
  • the operations of the other embodiments may be implemented in parallel on at least two groups, with each of the groups containing at least one of the stabilizer frames.
  • FIG. 1 illustrates an exemplary form of a stabilizer matrix in canonical form.
  • FIG. 2 illustrates an exemplary form of a stabilizer matrix in basis form.
  • FIG. 3 illustrates an exemplary stabilizer frame representing a quantum state as a superposition of stabilizer states.
  • FIG. 4 illustrates an exemplary simulation of the effect of a Toffoli gate on a quantum state using a stabilizer frame.
  • FIG. 5 illustrates a flow diagram of an exemplary global phase maintenance method.
  • FIG. 7 illustrates a flow diagram of an exemplary decomposition method.
  • FIG. 8 illustrates an exemplary multiframe representation of a quantum state.
  • FIG. 9 illustrates a flow diagram of an exemplary parallel simulation method.
  • FIG. 10 illustrates an exemplary block diagram of a computer system on which the methods and techniques described herein may be implemented in accordance with the described embodiments.
  • the invention as described herein relates to the simulation of quantum computing circuits using a classical computer.
  • the term “classical computer” means any general use or specialized computer based on classical physics that processes data using one or more processors by implementing executable instructions stored in a computer-readable medium. This may include one or more personal computers, laptops, servers, or special-purpose computing devices.
  • the term “classical computer” is used in contrast to quantum computers, which are based on quantum physics. Throughout this specification, actions not otherwise attributed to a device should be understood to be performed using a classical computer. In some embodiments, this may include implementation by a software program or module executed by the one or more processors of the one or more classical computers. Simulation of quantum circuits using classical computers is advantageous in the development and testing of quantum computers and related quantum computing devices. Additionally, or alternatively, the methods described herein may be useful in adapting algorithms developed for quantum computers for implementation on classical computers.
  • Stabilizer circuits form an important subclass of quantum circuits that can be simulated efficiently on classical computers.
  • Stabilizer circuits are exclusively composed of stabilizer gates—Hadamard (H), Phase (R), and controlled-NOT (CNOT) gates followed by one-qubit measurements in the computational basis.
  • Such circuits may be applied to a computational basis state (e.g.,
  • Stabilizer states have extensive applications in quantum error-correcting codes and effective fault-tolerant architectures.
  • Stabilizer circuits can be efficiently simulated in polynomial-time by keeping track of the Pauli operators that stabilize the quantum state.
  • Such stabilizer operators are maintained during simulation and uniquely represent stabilizer states up to an unobservable global phase, significantly reducing the computational resources needed to simulate stabilizer circuits using vector-based representations. This represents an exponential improvement over vector-based quantum circuit simulations. Although the stabilizer operators obtain this increase in speed, the global phases of the computational states are not maintained numerically in such simulations. As described below, we develop a method of efficiently maintaining the global phase and expand the scope of circuits that can be simulated using stabilizer states.
  • Quantum information processes are often modeled using quantum circuits and represented by diagrams.
  • Quantum circuits are sequences of gate operations that act on some register of qubits—the basic unit of information in a quantum system.
  • is a two-dimensional complex-valued vector.
  • qubits can be in a superposition of the 0 and 1 states.
  • ⁇ 0
  • 0 (1,0) T and
  • 1 (0,1) T are the two-dimensional computational basis states and ⁇ i are probability amplitudes that satisfy
  • 2 1.
  • An n-qubit register is the tensor product of n single qubits and thus is modeled by a complex vector
  • b i , where each b i is a binary string representing the value i of each basis state. Furthermore, ⁇ n satisfies ⁇ i 0 2 n ⁇ 1
  • 2 1.
  • Each gate operation or quantum gate is a unitary matrix that operates on a small subset of the qubits in
  • the quantum analogue of a NOT gate is the linear operator
  • the two-qubit CNOT operator flips the second qubit (target) if and only if the first qubit (control) is set to 1, e.g.,
  • H Hadamard gate
  • the final stabilizer gate is the phase gate (R), which applies a phase-shift factor of e i if the qubit is in the
  • the dynamics involved in observing a quantum state are described by non-unitary measurement operators.
  • quantum measurements including projective measurements in the computational basis (i.e., measurements with respect to the basis states, viz. the distances of the measured states from the
  • the corresponding measurement operators are
  • is given by the inner product ⁇
  • 0 ⁇ 0
  • 1 is
  • the output states obtained after performing computational-basis measurements are called “cofactors,” and are states of the form
  • the norms of cofactors and the original state are subject to the Pythagorean theorem. We denote the
  • ⁇ c 0 and
  • ⁇ c 1 , respectively, where c is the index of the measured qubit.
  • the stabilizer formalism presents a method of representing quantum states by keeping track of their symmetries, rather than their complex-valued vectors and amplitudes.
  • the symmetries are linear operators for which the states are 1-eigenvectors. Algebraically, symmetries form group structures, which can be specified compactly by group generators.
  • a unitary operator U stabilizes a state
  • the one-qubit states stabilized by the Pauli matrices are:
  • Table I is a multiplication table of the Pauli operators X, Y, and Z and the identity matrix I. It should be noted that the Pauli matrices X, Y, and Z and the identity matrix I form a closed group under matrix multiplication with the multiplicative factors ⁇ 1 and ⁇ 1.
  • the tensor-product symbol may be omitted for brevity, so P is denoted by a string of I, X, Y, or Z characters and a separate integer value k for the phase i k .
  • the term “Pauli literal” refers to any of the characters X, Y, or Z and the term “literal” refers to any of the characters I, X, Y, or Z.
  • 4 n+1 , n can have at most log 2
  • the stabilizer formalism is of particular importance because it allows simulations of quantum computers to represent an n-qubit quantum state
  • an arbitrary n-qubit stabilizer state can be represented by a stabilizer matrix whose rows represent a set of generators Q 1 , . . . , Q n for S(
  • a “stabilizer matrix” is a matrix whose rows represent a set of generators Q 1 , . . . , Q n for the stabilizer group S(
  • ⁇ ) is a string of n Pauli literals
  • the size of the stabilizer matrix is n ⁇ n. Therefore, the storage cost of the stabilizer matrix is O(n 2 ) in the worst case, which is an exponential improvement over the up to O(2 n ) storage cost of vector-based simulations.
  • ⁇ ) implies that the leading phase of Q i can only be ⁇ 1 and not ⁇ i because Q i 2 cannot be ⁇ I, which does not stabilize any state.
  • the phases of all of the generator vectors Q i can thus be stored in a phase vector ⁇ of n entries, with each entry representing either a + or a ⁇ phase.
  • stabilizer states are uniquely determined by their stabilizer groups n , the sets of generators Q i in the stabilizer matrices may be selected in different ways. For example, the state
  • M 1 - + ⁇ [ Y Y Z Z ] .
  • Any stabilizer matrix can be rearranged by elementary row operations to obtain a particular matrix structure, including reduced row echelon form (canonical form), without modifying the stabilizer state. Such elementary row operations include transposition (swapping the order of rows) and multiplication (left-multiplying a row by another row).
  • a stabilizer matrix can be reduced to canonical form as illustrated in FIG. 1 .
  • the canonical form of a stabilizer matrix contains an X-block and a Z-block, such that the X-block contains a minimal set of rows with X or Y Pauli literals.
  • the Z-block contains rows that only include Z Pauli literals and I literals, and the Z-block likewise contains a minimal set of rows with Z Pauli literals. Additionally, the number of Pauli literals in each of the X-block and the Z-block is minimal.
  • the X-block and the Z-block respectively, contain an X-diagonal and a Z-diagonal.
  • the Gaussian elimination procedure may implement the following Algorithm 1 in Table II to obtain the canonical form of the stabilizer matrix .
  • Algorithm 1 starts with the stabilizer matrix and iteratively determines which row operations to apply based on the Pauli literals contained in the first row and column of an increasingly smaller submatrix A of the full stabilizer matrix . After the appropriate row operations are applied to the submatrix A, the dimensions of the submatrix A are reduced for the next iteration.
  • Algorithm 1 performs the process in two parts. First, the algorithm positions the X and Y Pauli literals at the top of the stabilizer matrix . Second, the algorithm positions the Z Pauli literals at the bottom of the stabilizer matrix .
  • n ⁇ n stabilizer matrix with rows indexed by i ⁇ 1, . . . , n ⁇ and columns indexed by j ⁇ 1, . . . , n ⁇ , where i and j are the indices associated with the first row and column, respectively, of the submatrix A.
  • i and j are the indices associated with the first row and column, respectively, of the submatrix A.
  • the following steps are iteratively performed. First, identify a row R k with index k ⁇ 1, . . . , n ⁇ in the submatix A whose j th literal is X or Y, and swap row R k with row R i .
  • n ⁇ such that m ⁇ i that has an X or Y Pauli literal in the j th column, and left-multiply the row R m by row R i to set the j th literal of row R m to Z or I.
  • the second part of the algorithm then iterates over j by implementing the following steps.
  • a stabilizer matrix allows us to simulate quantum circuits efficiently (as described below) by maintaining the structure of the stabilizer matrix.
  • deterministic computational basis states e.g.,
  • the canonical stabilizer matrix will contain only Z and I literals because each qubit is either
  • FIG. 2 illustrates the form of a stabilizer matrix in basis form. Because the basis state is deterministic, the basis form stabilizer matrix has only Z Pauli literals along its diagonal, and only I literals in every other position.
  • the leading ⁇ signs indicate the entries in the associated phase vector ⁇ may be either + or ⁇ for each row.
  • the ⁇ sign of each row j and its corresponding Z j literal designates whether the state of the j th qubit in the basis state
  • H, R, and CNOT gates can be simulated directly using stabilizers, these gates are commonly called “stabilizer gates,” and circuits including only stabilizer gates are referred to as unitary “stabilizer circuits.”
  • any qubit j in a stabilizer state is either in a state of
  • Deterministic and random outcomes may be differentiated in ⁇ (n) time by searching for X or Y Pauli literals in the j th column of . Where such X or Y literals are found, the j th qubit must be in superposition, and the outcome is random with equal probability (e.g., (p(
  • 0) p(
  • 1 ) 0.5). Where such X or Y literals are not found, the j th qubit is deterministic (e.g., p(
  • 0) 1 or p(
  • 1 ) 1).
  • the j th qubit may be updated using any known means of obtaining a random binary measurement (e.g., equivalent to the flip of an unbiased coin) may be used to obtain a deterministic outcome for the j th qubit.
  • a random number generator may be used to determine whether the j th qubit should be updated to
  • the phase of row Z j is set in the phase vector ⁇ of to match the deterministic state of qubit j (e.g.,
  • the sign of the Z literal that stabilizes the qubit must be determined.
  • Gaussian elimination may be applied to reduce the stabilizer matrix to row-echelon form. This removes redundant literals from the stabilizer matrix , allowing identification of row Z j with a Z literal in its j th column and I literals elsewhere. Alternatively, if is maintained in reduced row-echelon form, the row Z j is simply identified. Once row Z j is identified, the phase of the Z literal associated with the j th qubit is determined from the corresponding entry in the phase vector ⁇ .
  • 0 are considered phase-equivalent because e i ⁇ does not affect the statistics of measurement. Since the stabilizer formalism simulates stabilizer gates using their action by conjugation, such global phases are not maintained. For example, a basis state of
  • 1 should yield i
  • the global phase i is not maintained by the stabilizer formalism. Since global phases are unobservable, they do not need to be maintained when simulating a single stabilizer state. When dealing with superpositions of stabilizer states, however, the global phases must be maintained because the global phases become relative.
  • simulation of a quantum computer may include at least one quantum gate of the quantum computer that is not a stabilizer gate.
  • the Hadamard (H) and Toffoli (TOF) gates do form a universal set.
  • the TOF gate is a 3-qubit gate that maps (c 1 , c 2 , t) to (c 1 , c 2 , t ⁇ (c 1 c 2 )), having the effect of a controlled-CNOT gate.
  • the H gate is a stabilizer gate, but the TOF gate is not.
  • ⁇ 1
  • 1 is a superposition of the two stabilizer states
  • any state decomposition in a computational basis state is a stabilizer decomposition. Note that if
  • 2
  • an n-qubit “stabilizer frame” is a set of k ⁇ 2 n stabilizer states ⁇
  • is equal to k.
  • FIG. 3 represents a state
  • ⁇ (
  • the stabilizer matrix can be combined with the set of phase vectors ⁇ to obtain
  • the action of the TOF gate may be computed as follows:
  • phase vector ⁇ c 1 c 2 11 and the phase vector-stabilizer matrix combination
  • the controlled-phase gate R( ⁇ ) ct can also be simulated using stabilizer frames.
  • may be computed as follows:
  • the outcome probability when measuring the output of a circuit simulated using the stabilizer frame is equal to the sum of the outcome probabilities of each state
  • P x m denotes the measurement operators P 0 and P 1 discussed above.
  • the probability p(x) ⁇ can then be used to determine an outcome state
  • the frame may then be cofactored such that only the states consistent with the measurement remain in the frame .
  • each global phase ⁇ j is updated using a global phase maintenance method in accordance with the description herein.
  • FIG. 5 illustrates a flow diagram of an exemplary global phase maintenance method 500 .
  • the method 500 begins at block 502 , when a representation of a quantum state
  • ⁇ and a quantum gate U may be stabilizer or non-stabilizer states or gates.
  • the classical computer may then determine a stabilizer frame representing the quantum state
  • the stabilizer frame includes one or more stabilizer matrices , a plurality of phase vectors ⁇ j corresponding to the k stabilizer states in , and an amplitude vector a corresponding to the phase vectors ⁇ j .
  • may be received as a stabilizer frame , in which case block 504 may be removed.
  • the classical computer then iterates through the stabilizer states in for all j ⁇ 1, . . . , k ⁇ .
  • the classical computer sets the leading phases of stabilizer matrix to the values in phase vector ⁇ j to produce stabilizer matrix ⁇ j for some j ⁇ 1, . . . , k ⁇ that has yet to be updated by application of the quantum gate U.
  • the classical computer determines an input basis state
  • b is determined at block 512 .
  • the classical computer computes the action of the quantum gate U on the basis state as U( ⁇
  • b ) ⁇ ′
  • the first output non-zero amplitude ⁇ ′ is obtained from the output basis state
  • the classical computer determines a second non-zero amplitude ⁇ of basis state
  • the global phase ⁇ j in the amplitude vector ⁇ is updated at block 518 as
  • a j a j ⁇ ⁇ ′ ⁇ .
  • the non-zero amplitude may be determined as the sum of a real and a complex non-zero amplitude in block 512 .
  • the generator set for is ⁇ YI,IX ⁇ .
  • the action of the H gate at block 514 is computed as
  • ⁇ ′ ( 1 - i ) 2 .
  • the global phase may then be adjusted by the global phase factor
  • Gaussian elimination may be used to determine the non-zero amplitudes ⁇ , ⁇ ′, and ⁇ .
  • the non-zero amplitudes ⁇ , ⁇ ′, and ⁇ may be sampled from the leading phases ⁇ j and the literals of where the stabilizer matrix is in row-echelon form.
  • Performing Gaussian elimination on all stabilizer matrices in requires O(n 3
  • the overall runtime for simulating a single stabilizer gate is up to O(n 2 +n
  • is a “nearest-neighbor” of a stabilizer state
  • ⁇ ⁇ 1 if and only if
  • any two stabilizer states have an equal number of nearest neighbor stabilizer states.
  • has 4(2 n ⁇ 1) nearest-neighbor stabilizer states of the form
  • Algorithm 2 applies a decomposition procedure to all matrices i ⁇ M in lines 11-20, thereby making column j equivalent up to a phase-vector permutation in each of the matrices in M.
  • FIG. 6 illustrates a flow diagram of an exemplary orthogonalization method 600 .
  • the stabilizer states may be represented by one or more frames or in another manner, in which case the classical computer may next determine the stabilizer matrices in M and coefficients in C from the linear combination of stabilizer states.
  • the stabilizer matrices in M may not be in canonical form, in which case the process described above or other known techniques may be used to put the matrices into canonical form.
  • the classical computer determines whether all matrices i ⁇ M are similar. As used herein, a plurality of stabilizer matrices are “similar” if the matrices are equivalent up to a phase-vector permutation. The classical computer may determine whether all matrices i ⁇ M are similar in a variety of ways, including comparing the matrices by known techniques. Alternatively, an iterative mechanism (e.g., a loop counter) may be used in some embodiments, such as the embodiment in Table V.
  • an iterative mechanism e.g., a loop counter
  • the method 600 ends. Until all matrices i ⁇ M are similar, the classical computer iterates through blocks 604 - 616 to identify dissimilarities and decompose the dissimilar matrices into similar matrices.
  • the classical computer identifies a pivot column by determining a column containing different types of Pauli literals in at least two matrices in M.
  • the process may compare the literals of a test column in each matrix i ⁇ M only until a first pair of matrices in M with different types of Pauli literals is identified using known techniques.
  • the classical computer may compare one or more columns in each matrix i ⁇ M until a column is located where two or more matrices in M differ either in the types of Pauli literals contained therein or in the rows in which the Pauli literals are located.
  • the classical computer may identify one or more matrices i ⁇ M containing at least one X or Y Pauli literal in column j. Each matrix i ⁇ M is then decomposed into two of its nearest-neighbor stabilizer states at block 610 .
  • FIG. 7 illustrates a flow diagram of an exemplary decomposition method 700 for decomposing state 10 ) represented by a matrix i ⁇ M with an X or Y Pauli literal in its j th column into its two nearest-neighbor stabilizer states defined by
  • a stabilizer matrix i with an X or Y literal in its j th column is received. This may be the same matrix identified in block 608 of method 600 .
  • the classical computer identifies one row R j within the matrix i with an X or Y literal in its j th column. It should be noted that the row R j anticommutes with a Pauli operator Z j , which is a row vector containing a Z literal in its j th column and I literals elsewhere.
  • any additional rows W j ⁇ R j in i containing an X or Y literal in their j th columns may be made to commute with Z j by multiplication by R j .
  • the classical computer determines whether there is another row W j ⁇ R j in matrix i that anticommutes with Pauli operator Z j . Where such a row is found, the classical computer multiplies the row W j by the row R j to make it commute with the Pauli operator Z j .
  • Block 706 and 708 are repeated until no further rows W j are found, at which point the matrix i is decomposed into two matrices representing orthogonal nearest-neighbor stabilizer states of
  • the classical computer decomposes the matrix i ⁇ M into a first matrix ⁇ by replacing the row R j with Z j .
  • the classical computer similarly decomposes the matrix i into a second matrix ⁇ by replacing the row R j with the row ⁇ Z j .
  • the steps implemented at blocks 710 and 712 are equivalent to applying ⁇ Z j -measurement projectors to
  • the first matrix ⁇ and the second matrix ⁇ represent the nearest-neighbor stabilizer states
  • ⁇ ⁇ ⁇ ( I - Z j ) ⁇ ⁇ ⁇ ⁇ 2 .
  • first and second matrices ⁇ and ⁇ are similar and that
  • the first and second matrices ⁇ and ⁇ are orthogonal.
  • are deterministic with states
  • ⁇ represented by matrix i has been decomposed into orthogonal stabilizer states
  • the global phase factors ⁇ and ⁇ of the first and second matrices ⁇ and ⁇ are determined using the procedure described in the global phase maintenance method 500 as applied to the matrix i and coefficient c i .
  • the classical computer sets the coefficients c ⁇ ⁇ C and c ⁇ ⁇ C of the first and second matrices ⁇ and ⁇ as
  • the classical computer replaces the matrix i ⁇ M and c i ⁇ C with the first and second matrices ⁇ and ⁇ and their respective coefficients c ⁇ and c ⁇ .
  • the method 600 terminates.
  • a multiframe representation reduces the total number of states required to represent
  • FIG. 8 illustrates an exemplary multiframe representation of a state
  • the stabilizer matrix 1 is obtained from stabilizer matrix by conjugating the first column of by an H gate.
  • the stabilizer matrix 2 is obtained from stabilizer matrix by first conjugating the first column of by an H gate, then conjugating the first and third columns of modified by a CNOT gate.
  • the output of this coalescing process is a list of frames 1 and 1 that together represent the same superposition as the original frame .
  • Orthogonality may be maintained by selecting only candidate pairs such that the new frames generated from the set of coalesced phase vectors are mutually orthogonal.
  • the phase vectors ⁇ i are sorted such that candidate pairs ⁇ r
  • ⁇ j are positioned next to each other. Then, the following two steps are repeated until no candidate pairs remain. First, coalesce candidate pairs into a new set of phase vectors ⁇ ′. Next, create a new frame ′ consisting of the phase vectors ⁇ ′ and the stabilizer matrix C C ⁇ . The output of this coalescing procedure is a list of n-qubit frame ⁇ ′ 1 , ′ 2 , . . . , ′ s ⁇ that together represent the same superposition as the original input frame .
  • the runtime of the coalescing procedure is dominated by the sorting of the phase vectors, where each phase-vector comparison takes ⁇ (n) time. Therefore, the overall run time is O(nk log k) in the worst case for a single frame with k phase vectors.
  • the single-frame operations are applied to each frame separately as discussed above.
  • the following additional steps may be required. First, apply the coalescing procedure to each frame and insert the newly coalesced frames into the list ′. Second, merge frames in ′ with equivalent stabilizer matrices . Then, repeat the first and second steps until no new frames are generated.
  • the frame-based operations described herein lend themselves to multi-threaded implementation for parallel simulation. Only the orthogonalization procedure creates a bottleneck by requiring operations involving multiple frames.
  • the other processes and methods described above may be implemented by one or more processors of a classical computer executing instructions pertaining to one of a number of frames or phase vectors. Thus, the efficiency of processing and memory usage of the classical computer system may be further improved by the following methods.
  • FIG. 9 illustrates a flow diagram of an exemplary parallel simulation method 900 .
  • the method 900 begins at block 902 , where the initial basis state
  • may consist of one or more of a deterministic vector of qubits (e.g.,
  • is decomposed into an orthogonal superposition of stabilizer states
  • the classical computer determines whether any gates U ⁇ C remain to be simulated. While at least one gate U remains, the classical computer determines whether the gate U is a stabilizer gate (e.g., H, R, or CNOT) at block 908 .
  • a stabilizer gate e.g., H, R, or CNOT
  • gate U is a stabilizer gate
  • the updated list of stabilizer frames may then be stored at block 905 and used as the input in the next iteration of the process.
  • the classical computer determines whether the gate U is a measurement gate at block 912 . Where gate U is a measurement gate, the classical computer determines the outcome state at block 912 and may record the measurement results at block 916 .
  • a random number generator or other known methods of sampling a random distribution to determine a discrete outcome from a probability distribution may be used to determine a discrete outcome at block 914 , as discussed above. After determining the outcome state at block 914 , the results of measurement may be used to update the list of stabilizer frames at block 910 .
  • the iteration continues by applying the gate U to each frame in the list of stabilizer frames at block 918 using the frame-based simulation techniques discussed above, expanding the set of phase vectors in each frame in .
  • the global phase may be maintained during simulation of non-stabilizer gates (e.g, Toffoli or controlled-R( ⁇ ) gates) using the techniques discussed with respect to method 500 .
  • non-stabilizer gates e.g, Toffoli or controlled-R( ⁇ ) gates
  • candidate pairs of phase vectors ⁇ in each frame in the list are coalesced into new frames at block 920 .
  • Frames with equivalent matrices are then merged to eliminate redundancies at block 922 .
  • the classical computer may then determine whether to continue the coalescing procedure at block 924 by determining whether any candidate pairs remain, as discussed above. When all frames in have been coalesced, the classical computer next determines whether the frames in are orthogonal at block 926 .
  • Orthogonality of the stabilizer matrices i ⁇ M corresponding to the frames i in may be determined using known methods (e.g., inner product computation). In some embodiments, the canonical structure of the stabilizer matrices in may be used to reduce the number of matrix comparisons required.
  • the preceding methods are designed to be implemented by a classical computer to simulate the operation of a quantum computer, which is advantageous in the design and testing of quantum circuits and algorithms.
  • the matrix, vector, and logic operations discussed herein may be performed on a classical computer, including specialized computing systems or commercially available personal computers, laptop computers, servers, or mainframes.
  • the operations performed by the classical computer may also be performed by a program or programs implemented on one or more computers. In some embodiments, some or all of the operations may be performed by more than one computer communicatively connected through a network.
  • FIG. 10 illustrates an exemplary block diagram of a computer system 1000 on which the methods and techniques described herein may be implemented in accordance with the described embodiments.
  • the computer system 1000 includes a computing device in the form of a computer 1010 .
  • Components of the computer 1010 may include, but are not limited to, a processing unit 1020 , a system memory 1030 , and a system bus 1021 that couples various system components including the system memory to the processing unit 1020 .
  • the system bus 1021 may be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures.
  • such architectures include the Industry Standard Architecture (ISA) bus, Micro Channel Architecture (MCA) bus, Enhanced ISA (EISA) bus, Video Electronics Standards Association (VESA) local bus, and Peripheral Component Interconnect (PCI) bus (also known as Mezzanine bus).
  • ISA Industry Standard Architecture
  • MCA Micro Channel Architecture
  • EISA Enhanced ISA
  • VESA Video Electronics Standards Association
  • PCI Peripheral Component Interconnect
  • Computer 1010 typically includes a variety of computer readable media.
  • Computer readable media can be any available media that can be accessed by computer 1010 and includes both transitory and non-transitory media, and both removable and non-removable media.
  • Computer readable media may include non-transitory computer storage media.
  • Computer storage media includes volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules, or other data.
  • Non-transitory computer storage media includes, but is not limited to, RAM, ROM, EEPROM, FLASH memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can accessed by computer 1010 .
  • the system memory 1030 includes computer storage media in the form of volatile and/or nonvolatile memory such as read only memory (ROM) 1031 and random access memory (RAM) 1032 .
  • ROM read only memory
  • RAM random access memory
  • BIOS basic input/output system
  • RAM 1032 typically contains data and/or program modules that are immediately accessible to and/or presently being operated on by processing unit 1020 .
  • FIG. 10 illustrates operating system 1034 , application programs 1035 , other program modules 1036 , and program data 1037 .
  • the computer 1010 may also include other removable or non-removable, volatile or nonvolatile computer storage media.
  • FIG. 10 illustrates a hard disk drive 1041 that reads from or writes to non-removable, nonvolatile magnetic media, a magnetic disk drive 1051 that reads from or writes to a removable, nonvolatile magnetic disk 1052 , and an optical disk drive 1055 that reads from or writes to a removable, nonvolatile optical disk 1056 such as a CD ROM or other optical media.
  • removable or non-removable, volatile or nonvolatile computer storage media that can be used in the exemplary operating environment include, but are not limited to, magnetic tape cassettes, flash memory cards, digital versatile disks, digital video tape, solid state RAM, solid state ROM, and the like.
  • the hard disk drive 1041 is typically connected to the system bus 1021 through a non-removable memory interface such as interface 1040
  • magnetic disk drive 1051 and optical disk drive 1055 are typically connected to the system bus 1021 by a removable memory interface, such as interface 1050 .
  • the drives and their associated computer storage media discussed above and illustrated in FIG. 10 provide storage of computer readable instructions, data structures, program modules and other data for the computer 1010 .
  • hard disk drive 1041 is illustrated as storing operating system 1044 , application programs 1045 , other program modules 1046 , and program data 1047 .
  • operating system 1044 application programs 1045 , other program modules 1046 , and program data 1047 are given different numbers here to illustrate that, at a minimum, they are different copies.
  • a user may enter commands and information into the computer 1010 through input devices such as a keyboard 1062 and cursor control device 1061 , commonly referred to as a mouse, trackball or touch pad.
  • input devices such as a keyboard 1062 and cursor control device 1061 , commonly referred to as a mouse, trackball or touch pad.
  • a monitor 1091 or other type of display device is also connected to the system bus 1021 via an interface, such as a graphics controller 1090 .
  • computers may also include other peripheral output devices such as printer 1096 , which may be connected through an output peripheral interface 1095 .
  • the computer 1010 may operate in a networked environment using logical connections to one or more remote computers, such as a remote computer 1080 .
  • the remote computer 1080 may be a personal computer, a server, a router, a network PC, a peer device or other common network node, and typically includes many or all of the elements described above relative to the computer 1010 , although only a memory storage device 1081 has been illustrated in FIG. 10 .
  • the logical connections depicted in FIG. 10 include a local area network (LAN) 1071 and a wide area network (WAN) 1073 , but may also include other networks.
  • LAN local area network
  • WAN wide area network
  • the computer 1010 When used in a LAN networking environment, the computer 1010 is connected to the LAN 1071 through a network interface or adapter 1070 .
  • the computer 1010 When used in a WAN networking environment, the computer 1010 typically includes a modem 1072 or other means for establishing communications over the WAN 1073 , such as the Internet.
  • the modem 1072 which may be internal or external, may be connected to the system bus 1021 via the input interface 1060 , or other appropriate mechanism.
  • program modules depicted relative to the computer 1010 may be stored in the remote memory storage device 1081 .
  • FIG. 10 illustrates remote application programs 1085 as residing on memory device 1081 .
  • the communications connections 1070 , 1072 allow the device to communicate with other devices.
  • the communications connections 1070 , 1072 are an example of communication media.
  • the communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media.
  • a “modulated data signal” may be a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal.
  • communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media.
  • processors may be temporarily configured (e.g., by software) or permanently configured to perform the relevant operations. Whether temporarily or permanently configured, such processors may constitute processor-implemented modules that operate to perform one or more operations or functions.
  • the modules referred to herein may, in some example embodiments, comprise processor-implemented modules.
  • processor may include central processing units (CPUs), it may also include equivalent general or special-purpose circuits, such as field programmable gate arrays (FPGAs) or graphics processing units (GPUs).
  • CPUs central processing units
  • FPGAs field programmable gate arrays
  • GPUs graphics processing units
  • the methods or routines described herein may be at least partially processor-implemented. For example, at least some of the operations of a method may be performed by one or more processors or processor-implemented hardware modules. The performance of certain of the operations may be distributed among the one or more processors, not only residing within a single machine, but deployed across a number of machines. In some example embodiments, the processor or processors may be located in a single location, while in other embodiments the processors may be distributed across a number of locations.
  • any reference to “one embodiment” or “an embodiment” means that a particular element, feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment.
  • the appearances of the phrase “in one embodiment” in various places in the specification are not necessarily all referring to the same embodiment.
  • Coupled and “connected” along with their derivatives.
  • some embodiments may be described using the term “coupled” to indicate that two or more elements are in direct physical or electrical contact.
  • the term “coupled,” however, may also mean that two or more elements are not in direct contact with each other, but yet still co-operate or interact with each other.
  • the embodiments are not limited in this context.
  • the terms “comprises,” “comprising,” “includes,” “including,” “has,” “having” or any other variation thereof, are intended to cover a non-exclusive inclusion.
  • a process, method, article, or apparatus that comprises a list of elements is not necessarily limited to only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus.
  • “or” refers to an inclusive or and not to an exclusive or. For example, a condition A or B is satisfied by any one of the following: A is true (or present) and B is false (or not present), A is false (or not present) and B is true (or present), and both A and B are true (or present).
  • a method for maintaining global phases to improve processing efficiency or reduce memory usage during simulation of at least one quantum gate of a quantum computer using a classical computer comprising: receiving, at a processor of the classical computer, a quantum state that is a superposition of a plurality of stabilizer states, wherein the quantum state is represented by a stabilizer matrix associated with the plurality of stabilizer states, a plurality of phase vectors representing each of the stabilizer states, and an amplitude vector, wherein each entry in the amplitude vector represents a global phase associated with one of the plurality of phase vectors; receiving, at a processor of the classical computer, a matrix representation of the at least one quantum gate; and determining, by a processor of the classical computer, the effect of the at least one quantum gate on the quantum state in a plurality of iterations, each iteration including: applying, by a processor of the classical computer, one of the plurality of phase vectors to the stabilizer matrix; determining, by a processor of the classical computer, an input basis state associated with the one phase
  • receiving the quantum state that is a superposition of the plurality of stabilizer states further comprises compressing, by a processor of the classical computer, the quantum state into a stabilizer frame representing the quantum state, wherein the stabilizer frame includes the stabilizer matrix, the plurality of phase vectors, and the amplitude vector
  • the method further comprises determining, by a processor of the classical computer, the effect of a plurality of the quantum gates on the quantum state using the stabilizer frame without uncompressing the stabilizer frame for measurement until the plurality of quantum gates have been applied to the quantum state.
  • a tangible, non-transitory computer-readable medium storing instructions for maintaining global phases to improve processing efficiency or reduce memory usage during simulation of at least one quantum gate of a quantum computer using a classical computer that, when executed by one or more processors of the classical computer, cause the classical computer to: receive a quantum state that is a superposition of a plurality of stabilizer states, wherein the quantum state is represented by a stabilizer matrix associated with the plurality of stabilizer states, a plurality of phase vectors representing each of the stabilizer states, and an amplitude vector, wherein each entry in the amplitude vector represents a global phase associated with one of the plurality of phase vectors; receive a matrix representation of the at least one quantum gate; and determine the effect of the at least one quantum gate on the quantum state in a plurality of iterations, each iteration including instructions to: apply one of the plurality of phase vectors to the stabilizer matrix; determine an input basis state associated with the one phase vector applied to the stabilizer matrix; determine an input non-zero amplitude associated with the input
  • executable instructions that when executed by the one or more processors cause the classical computer to receive the quantum state that is a superposition of the plurality of stabilizer states further comprise executable instructions that when executed by the one or more processors cause the classical computer to compress the quantum state into a stabilizer frame representing the quantum state, wherein the stabilizer frame includes the stabilizer matrix, the plurality of phase vectors, and the amplitude vector; and further comprising executable instructions that when executed by the one or more processors cause the classical computer to determine the effect of a plurality of the quantum gates on the quantum state using the stabilizer frame without uncompressing the stabilizer frame for measurement until the plurality of quantum gates have been applied to the quantum state.
  • the stabilizer frame further comprises a linear combination of a plurality of mutually orthogonal stabilizer frames.
  • a method for orthogonalization of a linear combination of stabilizer states to improve processing efficiency or reduce memory usage during simulation of a quantum circuit using a classical computer comprising: receiving, at a processor of the classical computer, a linear combination of stabilizer states, wherein the linear combination includes a plurality of stabilizer states represented by canonical stabilizer matrices and a plurality of coefficients associated with the plurality of stabilizer states; and orthogonalizing, by a processor of the classical computer, the linear combination of stabilizer states in each of one or more iterations, including: identifying, by a processor of the classical computer, a column in which at least two of the canonical stabilizer matrices contain different types of Pauli literals; decomposing, by a processor of the classical computer, each of the stabilizer matrices that contain an X or Y Pauli literal in the identified column into a first matrix and a second matrix, wherein the first matrix and the second matrix represent stabilizer states that are nearest neighbors of the stabilizer state associated with the decomposed
  • At least one of the quantum gates is a measurement gate
  • determining the effect of the measurement gate comprises determining, by a processor of the classical computer, an outcome probability of a state using normalized outcome probabilities of the state in each of the frames.
  • At least one of the quantum gates is a measurement gate
  • determining the effect of the measurement gate comprises determining, using a processor of the classical computer, an outcome probability of a state using normalized outcome probabilities of the state in each of the frames.
  • a tangible, non-transitory computer-readable medium storing instructions for orthogonalization of a linear combination of stabilizer states to improve processing efficiency or reduce memory usage during simulation of a quantum circuit using a classical computer that, when executed by one or more processors of the classical computer, cause the classical computer to: receive a linear combination of stabilizer states, wherein the linear combination includes a plurality of stabilizer states represented by canonical stabilizer matrices and a plurality of coefficients associated with the plurality of stabilizer states; and orthogonalize the linear combination of stabilizer states in each of one or more iterations, including instructions to: identify a column in which at least two of the canonical stabilizer matrices contain different types of Pauli literals; decompose each of the stabilizer matrices that contain an X or Y Pauli literal in the identified column into a first matrix and a second matrix, wherein the first matrix and the second matrix represent stabilizer states that are nearest neighbors of the stabilizer state associated with the decomposed stabilizer matrix; determine a first global
  • each of the stabilizer matrices further comprise instructions to (i) identify a row in the stabilizer matrix that contains an X or Y Pauli literal in the identified column, (ii) cause every other row in the stabilizer matrix that commutes with the identified row to anticommute with the identified row, (iii) create the first matrix from the revised stabilizer matrix by replacing the row with a first new row containing a positive Z Pauli literal in the identified column, and (iv) create the second matrix from the revised stabilizer matrix by replacing the row with a second new row containing a negative Z Pauli literal in the identified column.
  • linear combination of stabilizer states comprises a linear combination of stabilizer frames representing a quantum state
  • executable instructions that when executed by the one or more processors cause the classical computer to determine the effect of at least one quantum gate on the linear combination of stabilizer states by applying a matrix representation of the quantum gate to each of the stabilizer frames.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Artificial Intelligence (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Geometry (AREA)
  • Computer Hardware Design (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

The disclosed method and computer-readable medium allow efficient simulation of both stabilizer and non-stabilizer states in general quantum circuits on a classical computer by maintaining global phases and orthogonalizing linear combinations of stabilizer states during simulation. This is accomplished by representing arbitrary quantum states as superpositions of stabilizer states, which may be implemented using one or more stabilizer frames. Each stabilizer frame includes a stabilizer matrix, one or more phase vectors corresponding to the stabilizer states, and an amplitude vector corresponding to the global phases of each stabilizer state. Orthogonality is maintained throughout the simulation for efficient computation and measurement. Some embodiments utilize a multiframe representation of the quantum state to reduce the number of stabilizer states required to represent the quantum state, which multiframe representation may also be used to implement parallel simulation.

Description

    CROSS-REFERENCE TO RELATED APPLICATIONS
  • This application claims the benefit of U.S. Provisional Application No. 62/002,338, entitled “Methods For General Stabilizer-Based Quantum Computing Simulation,” which was filed on May 23, 2014, the entirety of which is incorporated by reference herein.
  • GOVERNMENT RIGHTS
  • This invention was made with government support under Grant No. FA8750-11-2-0043 from the United States Air Force Office of Scientific Research. The government has certain rights in the invention.
  • TECHNICAL FIELD
  • The invention relates generally to methods for simulating quantum computing operations on classical computers and, more particularly, to methods for efficiently simulating general quantum states by superposition of stabilizer states.
  • BACKGROUND
  • Quantum information processing manipulates quantum states rather than conventional 0-1 bits. It has been demonstrated with a variety of physical technologies (NMR, ion traps, Josephson junctions in superconductors, optics, etc.) and used in recently developed commercial products. Algorithms such as Shor's factoring algorithm and Grover's search algorithm apply the principles of quantum information to carry out certain computations asymptotically more efficiently than classical computers. Quantum computers hold great potential for complex computations in computational chemistry, biology, medicine, physics, and other fields. These developments have fueled research efforts to design, build and program scalable quantum computers. Due to the high volatility of quantum information, quantum error-correcting codes and effective fault-tolerant architectures are necessary to build reliable quantum computers. Most quantum algorithms are described in terms of quantum circuits and, similar to conventional digital circuits, require functional simulation to determine the best fault-tolerant design choices given limited resources. In particular, high-performance simulation is a key component in quantum design that facilitates analysis of trade-offs between performance and accuracy.
  • Simulating quantum circuits on a classical computer is a difficult problem. The matrices representing quantum gates, and the vectors that model quantum states grow exponentially with an increase in the number of qubits the quantum analogue of the classical computing bit. Several software packages have been developed for quantum circuit simulation including Oemer's Quantum Computation Language (QCL) and Viamontes' Quantum Information Decision Diagrams (QuIDD) implemented in the QuIDDPro package. While QCL simulates circuits directly using state vectors, QuIDDPro uses a variant of binary decision diagrams to store state vectors more compactly in some cases. Since the state-vector representation requires excessive computational resources in general, simulation-based reliability studies (e.g. fault injection analysis) of quantum fault-tolerant architectures using general-purpose simulators has been limited to small quantum circuits. Although certain stabilizer circuits have been identified and can be efficiently simulated on classical computers, the stabilizer circuits are of limited use. Stabilizer circuits must contain only stabilizer gates, which do not form a universal set for quantum computation. Therefore, stabilizer circuits alone do not permit efficient simulation of general quantum circuits.
  • SUMMARY
  • Disclosed herein are a method and computer-readable medium for the efficient simulation of quantum circuits using classical computers. One embodiment includes a method for maintaining global phases during simulation of at least one quantum gate of a quantum computer using a classical computer. The method includes the following: receiving a quantum state that is a superposition of a plurality of stabilizer states (wherein the quantum state is represented by a stabilizer matrix associated with the plurality of stabilizer states, a plurality of phase vectors representing each of the stabilizer states, and an amplitude vector with each entry in the amplitude vector representing a global phase associated with one of the plurality of phase vectors); receiving a matrix representation of the at least one quantum gate; and determining the effect of the at least one quantum gate on the quantum state in a plurality of iterations, each of which includes: applying one of the plurality of phase vectors to the stabilizer matrix, determining an input basis state associated with the one phase vector applied to the stabilizer matrix, determining an input non-zero amplitude associated with the input basis state, determining a first output non-zero amplitude associated with an output basis state by applying the matrix representation of the at least one quantum gate to the input non-zero amplitude and the input basis state, determining a second output non-zero amplitude of the output basis state using the stabilizer matrix and the matrix representation of the at least one quantum gate, and adjusting the entry in the amplitude vector associated with the one phase vector applied to the stabilizer matrix, wherein the entry is adjusted proportionally to the first output non-zero amplitude and the second output non-zero amplitude. Another embodiment includes a tangible, non-transitory computer-readable medium storing instructions for maintaining global phases during simulation of at least one quantum gate of a quantum computer using a classical computer that, when executed by one or more processors of the classical computer, cause the classical computer to perform corresponding operations.
  • In some embodiments of the method and computer-readable medium, at least one quantum gate of the quantum computer is not a stabilizer gate (i.e., the quantum gate is not a Hadamard, phase, or CNOT gate). In additional embodiments, the a set of the quantum gates may form a universal set for quantum computation (e.g., a set including a Hadamard gate and a Toffoli gate). In still further embodiments, the stabilizer matrix may be in canonical form, which greatly simplifies operations such as implementation of gates and measurement. Also to improve efficiency of the simulation, further embodiments may include compressing the received quantum state into a stabilizer frame (containing the stabilizer matrix, the plurality of phase vectors, and the amplitude vector), and then determining the effect of a plurality of the quantum gates on the quantum state using the stabilizer frame without uncompressing the stabilizer frame for measurement until the plurality of quantum gates have been applied to the quantum state. Thus, a general quantum circuit containing a plurality of (stabilizer or non-stabilizer) quantum gates may be simulated efficiently while the quantum state remains compressed (i.e., represented by a stabilizer frame). In additional embodiments, a linear combination of a plurality of mutually orthogonal stabilizer frames (i.e., a muliframe representation) may be used.
  • Another embodiment includes a method for orthogonalization of a linear combination of stabilizer states during simulation of a quantum circuit using a classical computer. The method includes the following: receiving a linear combination of stabilizer states (wherein the linear combination includes a plurality of stabilizer states represented by canonical stabilizer matrices and a plurality of coefficients associated with the plurality of stabilizer states); and orthogonalizing the linear combination of stabilizer states in each of one or more iterations, each of which includes: identifying a column in which at least two of the canonical stabilizer matrices contain different types of Pauli literals, decomposing each of the stabilizer matrices that contain an X or Y Pauli literal in the identified column into a first matrix and a second matrix (wherein the first matrix and the second matrix represent stabilizer states that are nearest neighbors of the stabilizer state associated with the decomposed stabilizer matrix), determining a first global phase factor of the first matrix and a second global phase factor of the second matrix associated with each of the decomposed stabilizer matrices, and replacing each of the decomposed stabilizer matrices and their associated coefficients with (i) the first matrix and a first coefficient proportionate to the first global phase factor associated with the decomposed stabilizer matrix and (ii) the second matrix and a second coefficient proportionate to the second global phase factor associated with the decomposed stabilizer matrix. Another embodiment includes a tangible, non-transitory computer-readable medium storing instructions for orthogonalization of a linear combination of stabilizer states during simulation of a quantum circuit using a classical computer that, when executed by one or more processors of the classical computer, cause the classical computer to perform corresponding operations.
  • In some embodiments, decomposing each of the stabilizer matrices may further include (i) identifying a row in the stabilizer matrix that contains an X or Y Pauli literal in the identified column, (ii) causing every other row in the stabilizer matrix that commutes with the identified row to anticommute with the identified row, (iii) creating the first matrix from the revised stabilizer matrix by replacing the row with a first new row containing a positive Z Pauli literal in the identified column, and (iv) creating the second matrix from the revised stabilizer matrix by replacing the row with a second new row containing a negative Z Pauli literal in the identified column. This will preserve the form of the stabilizer matrix and remove redundant literals.
  • In further embodiments, the linear combination of stabilizer states may comprise a linear combination of stabilizer frames representing a quantum state, and the method or computer readable medium may further determine the effect of at least one quantum gate on the linear combination of stabilizer states by applying a matrix representation of the quantum gate to each of the stabilizer frames. The one or more quantum gates may include at least one measurement gate, and determining the effect of the measurement gate may include determining an outcome probability of a state using normalized outcome probabilities of the state in each of the frames. In some embodiments, at least one of the quantum gates is not a stabilizer gate (i.e., the quantum gate is not a Hadamard, phase, or CNOT gate). In still further embodiments, the operations of the other embodiments may be implemented in parallel on at least two groups, with each of the groups containing at least one of the stabilizer frames.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The figures described below depict various aspects of the applications, methods, and systems disclosed herein. It should be understood that each figure depicts an embodiment of a particular aspect of the disclosed applications, systems and methods, and that each of the figures is intended to accord with a possible embodiment thereof. Furthermore, wherever possible, the following description refers to the reference numerals included in the following figures, in which features depicted in multiple figures are designated with consistent reference numerals.
  • FIG. 1 illustrates an exemplary form of a stabilizer matrix in canonical form.
  • FIG. 2 illustrates an exemplary form of a stabilizer matrix in basis form.
  • FIG. 3 illustrates an exemplary stabilizer frame representing a quantum state as a superposition of stabilizer states.
  • FIG. 4 illustrates an exemplary simulation of the effect of a Toffoli gate on a quantum state using a stabilizer frame.
  • FIG. 5 illustrates a flow diagram of an exemplary global phase maintenance method.
  • FIG. 6 illustrates a flow diagram of an exemplary orthogonalization method.
  • FIG. 7 illustrates a flow diagram of an exemplary decomposition method.
  • FIG. 8 illustrates an exemplary multiframe representation of a quantum state.
  • FIG. 9 illustrates a flow diagram of an exemplary parallel simulation method.
  • FIG. 10 illustrates an exemplary block diagram of a computer system on which the methods and techniques described herein may be implemented in accordance with the described embodiments.
  • DETAILED DESCRIPTION
  • Although the following text sets forth a detailed description of numerous different embodiments, it should be understood that the legal scope of the invention is defined by the words of the claims set forth at the end of this patent. The detailed description is to be construed as exemplary only and does not describe every possible embodiment, as describing every possible embodiment would be impractical, if not impossible. One could implement numerous alternate embodiments, using either current technology or technology developed after the filing date of this patent, which would still fall within the scope of the claims.
  • It should also be understood that, unless a term is expressly defined in this patent using the sentence “As used herein, the term ‘______’ is hereby defined to mean . . . ” or a similar sentence, there is no intent to limit the meaning of that term, either expressly or by implication, beyond its plain or ordinary meaning (as would be understood by a person having ordinary skill in the art), and such term should not be interpreted to be limited in scope based on any statement made in any section of this patent (other than the language of the claims). To the extent that any term recited in the claims at the end of this patent is referred to in this patent in a manner consistent with a single meaning, that is done for sake of clarity only so as to not confuse the reader, and it is not intended that such claim term be limited, by implication or otherwise, to that single meaning. Finally, unless a claim element is defined by reciting the word “means” and a function without the recital of any structure, it is not intended that the scope of any claim element be interpreted based on the application of 35 U.S.C. §112(f).
  • As discussed above, the invention as described herein relates to the simulation of quantum computing circuits using a classical computer. As used herein, the term “classical computer” means any general use or specialized computer based on classical physics that processes data using one or more processors by implementing executable instructions stored in a computer-readable medium. This may include one or more personal computers, laptops, servers, or special-purpose computing devices. The term “classical computer” is used in contrast to quantum computers, which are based on quantum physics. Throughout this specification, actions not otherwise attributed to a device should be understood to be performed using a classical computer. In some embodiments, this may include implementation by a software program or module executed by the one or more processors of the one or more classical computers. Simulation of quantum circuits using classical computers is advantageous in the development and testing of quantum computers and related quantum computing devices. Additionally, or alternatively, the methods described herein may be useful in adapting algorithms developed for quantum computers for implementation on classical computers.
  • Stabilizer Circuits and States
  • Stabilizer circuits form an important subclass of quantum circuits that can be simulated efficiently on classical computers. Stabilizer circuits are exclusively composed of stabilizer gates—Hadamard (H), Phase (R), and controlled-NOT (CNOT) gates followed by one-qubit measurements in the computational basis. Such circuits may be applied to a computational basis state (e.g., |00 . . . 0)) to produce output states known as stabilizer states. Stabilizer states have extensive applications in quantum error-correcting codes and effective fault-tolerant architectures. Stabilizer circuits can be efficiently simulated in polynomial-time by keeping track of the Pauli operators that stabilize the quantum state. Such stabilizer operators are maintained during simulation and uniquely represent stabilizer states up to an unobservable global phase, significantly reducing the computational resources needed to simulate stabilizer circuits using vector-based representations. This represents an exponential improvement over vector-based quantum circuit simulations. Although the stabilizer operators obtain this increase in speed, the global phases of the computational states are not maintained numerically in such simulations. As described below, we develop a method of efficiently maintaining the global phase and expand the scope of circuits that can be simulated using stabilizer states.
  • We describe herein a generalization of the stabilizer formalism to admit simulation of non-stabilizer gates, such as Toffoli gates, possibly in addition to stabilizer gates. Unlike previous attempts to maintain quantum states as sums of density-matrix terms, we store quantum states as superpositions of pure stabilizer states, thus improving both memory usage and processing efficiency of the classical computer. Reducing memory requirements is important to quantum computing simulations because of the exponential growth of memory requirements in relation to the number of qubits in other simulation methods. Moreover, our approach results in improved efficiency of processing capacity of the classical computer, as described below with respect to improvements in processing runtime order of magnitude, as discussed below. Our approach allows more compact storage without the need to handle mixed stabilizer states. In order to simulate quantum states as superpositions of stabilizer states, however, it is necessary to maintain the global phases because the phases of the states become relative in our approach.
  • Quantum information processes, including quantum algorithms, are often modeled using quantum circuits and represented by diagrams. Quantum circuits are sequences of gate operations that act on some register of qubits—the basic unit of information in a quantum system. A single qubit is described by a quantum state |ψ
    Figure US20150339417A1-20151126-P00001
    , which is a two-dimensional complex-valued vector. In contrast to classical bits, qubits can be in a superposition of the 0 and 1 states. Formally, |ψ
    Figure US20150339417A1-20151126-P00001
    0|0
    Figure US20150339417A1-20151126-P00001
    1|1
    Figure US20150339417A1-20151126-P00001
    , where |0
    Figure US20150339417A1-20151126-P00001
    =(1,0)T and |1
    Figure US20150339417A1-20151126-P00001
    =(0,1)T are the two-dimensional computational basis states and αi are probability amplitudes that satisfy |α0|2+|α1|2=1. An n-qubit register is the tensor product of n single qubits and thus is modeled by a complex vector |ψ
    Figure US20150339417A1-20151126-P00001
    =|ψ1
    Figure US20150339417A1-20151126-P00001
    Figure US20150339417A1-20151126-P00002
    . . .
    Figure US20150339417A1-20151126-P00002
    n
    Figure US20150339417A1-20151126-P00001
    i=0 2 n −1αi|bi
    Figure US20150339417A1-20151126-P00001
    , where each bi is a binary string representing the value i of each basis state. Furthermore, ψn satisfies Σi=0 2 n −1i|2=1. Each gate operation or quantum gate is a unitary matrix that operates on a small subset of the qubits in
  • X = ( 0 1 1 0 ) ,
  • a register. For example, the quantum analogue of a NOT gate is the linear operator
  • α 0 00 ) + α 1 10 ) X I α 0 10 ) + α 1 00 )
  • Similarly, the two-qubit CNOT operator flips the second qubit (target) if and only if the first qubit (control) is set to 1, e.g.,
  • α 0 00 ) + α 1 10 ) C NOT α 0 00 ) + α 1 11 )
  • Another operator of particular importance is the Hadamard gate (H), which is frequently used to put a qubit in a superposition of computational-basis states, e.g.,
  • α 0 00 ) + α 1 10 ) I H α 0 ( 00 ) + | 01 ) ) + α 1 ( | 10 ) + 11 ) ) 2
  • It is important to note that the H gate generates unbiased superpositions in the sense that the squares of the absolute value of the amplitudes are equal. The final stabilizer gate is the phase gate (R), which applies a phase-shift factor of ei if the qubit is in the |1> state. These three stabilizer gates may be represented in matrix form as follows:
  • H = 1 2 ( 1 1 1 - 1 ) R = ( 1 0 0 ) CNOT = ( 1 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 )
  • The dynamics involved in observing a quantum state are described by non-unitary measurement operators. There are different types of quantum measurements, including projective measurements in the computational basis (i.e., measurements with respect to the basis states, viz. the distances of the measured states from the |0
    Figure US20150339417A1-20151126-P00001
    or |1
    Figure US20150339417A1-20151126-P00001
    states). The corresponding measurement operators are
  • P 0 = ( 1 0 0 0 )
  • and
  • P 1 = ( 0 0 0 1 ) ,
  • respectively. The probability p(x) of obtaining outcome xε{0,1} on the jth qubit of state |ψ
    Figure US20150339417A1-20151126-P00001
    is given by the inner product
    Figure US20150339417A1-20151126-P00003
    ψ|Px j|ψ, where
    Figure US20150339417A1-20151126-P00003
    ψ| is the conjugate transpose of |ψ
    Figure US20150339417A1-20151126-P00001
    . For example, the probability of obtaining |1
    Figure US20150339417A1-20151126-P00001
    upon measuring |0
    Figure US20150339417A1-20151126-P00001
    0|0
    Figure US20150339417A1-20151126-P00001
    1|1
    Figure US20150339417A1-20151126-P00001
    is

  • p(1)=(α*0,α*1)P 101)T=(0,α*1)(α01)T=|α1|2
  • The output states obtained after performing computational-basis measurements are called “cofactors,” and are states of the form |0
    Figure US20150339417A1-20151126-P00001
    0
    Figure US20150339417A1-20151126-P00001
    and |1
    Figure US20150339417A1-20151126-P00001
    |ψ1
    Figure US20150339417A1-20151126-P00001
    . It is important to note that these states are orthogonal to each other and add up to the original state. We will use this property of cofactors extensively to represent states as superpositions of orthogonal stabilizer states. The norms of cofactors and the original state are subject to the Pythagorean theorem. We denote the |0
    Figure US20150339417A1-20151126-P00001
    - and |1
    Figure US20150339417A1-20151126-P00001
    -cofactors by |ψc=0
    Figure US20150339417A1-20151126-P00001
    and |ψc=1
    Figure US20150339417A1-20151126-P00001
    , respectively, where c is the index of the measured qubit. One can also consider iterated cofactors, such as double cofactors |ψqr=00
    Figure US20150339417A1-20151126-P00001
    , |ψqr=01
    Figure US20150339417A1-20151126-P00001
    , |ψqr=10
    Figure US20150339417A1-20151126-P00001
    , and |ψqr=11. Cofactoring with respect to all qubits produces amplitudes of individual basis vectors.
  • To simulate a quantum circuit C, we first initialize the quantum system to some desired state |ψ
    Figure US20150339417A1-20151126-P00001
    (usually a basis state). |ψ
    Figure US20150339417A1-20151126-P00001
    can be represented using a fixed-size data structure (e.g., an array of 2n complex numbers) or a variable-size data structure (e.g., algebraic decision diagram). We then track the evolution of |ψ
    Figure US20150339417A1-20151126-P00001
    via its internal representation as the gates in C are applied one at a time, eventually producing the output state C|ψ
    Figure US20150339417A1-20151126-P00001
    . Most quantum-circuit simulators support some form of the linear-algebraic operations on matrix representations of quantum states. The drawback of such simulators is that their runtime and memory requirements grow exponentially with the number of qubits. This holds true not only in the worst case, but also in practical applications involving quantum arithmetic and quantum fault-tolerant circuits. Our approach improves the memory and runtime efficiency of such simulations using superposition of stabilizer states.
  • The stabilizer formalism presents a method of representing quantum states by keeping track of their symmetries, rather than their complex-valued vectors and amplitudes. The symmetries are linear operators for which the states are 1-eigenvectors. Algebraically, symmetries form group structures, which can be specified compactly by group generators. According to the stabilizer formalism, a unitary operator U stabilizes a state |ψ
    Figure US20150339417A1-20151126-P00001
    if and only if |ψ
    Figure US20150339417A1-20151126-P00001
    is a 1-eigenvector of the unitary operator U (i.e., U|ψ
    Figure US20150339417A1-20151126-P00001
    =|ψ
    Figure US20150339417A1-20151126-P00001
    ). Several such stabilizer operators U can be derived from the Pauli matrices:
  • X = ( 0 1 1 0 ) , Y = ( 0 - 0 ) ,
  • and
  • Z = ( 1 0 0 - 1 ) .
  • The one-qubit states stabilized by the Pauli matrices are:
      • X: (|0
        Figure US20150339417A1-20151126-P00001
        +|1
        Figure US20150339417A1-20151126-P00001
        )/√{square root over (2)} −X: (|0
        Figure US20150339417A1-20151126-P00001
        −|1
        Figure US20150339417A1-20151126-P00001
        )/√{square root over (2)}
      • Y: (|0
        Figure US20150339417A1-20151126-P00001
        +i|1
        Figure US20150339417A1-20151126-P00001
        )/√{square root over (2)} −Y: (|0
        Figure US20150339417A1-20151126-P00001
        −i|1
        Figure US20150339417A1-20151126-P00001
        )/√{square root over (2)}
      • Z: |0
        Figure US20150339417A1-20151126-P00001
        −Z: |1
        Figure US20150339417A1-20151126-P00001

        The identity matrix
  • I = ( 1 0 0 1 )
  • is also a stabilizer matrix for all states, but −I does not stabilize any state. As an example of the application of the stabilizer operators, the entangled state
  • 00 + 11 2
  • is stabilized by the Pauli operators and the identity matrix: X
    Figure US20150339417A1-20151126-P00002
    X, Y
    Figure US20150339417A1-20151126-P00002
    Y, Z
    Figure US20150339417A1-20151126-P00002
    Z, and I
    Figure US20150339417A1-20151126-P00002
    I.
  • Table I is a multiplication table of the Pauli operators X, Y, and Z and the identity matrix I. It should be noted that the Pauli matrices X, Y, and Z and the identity matrix I form a closed group under matrix multiplication with the multiplicative factors ±1 and ±1. Formally, the Pauli group gn on n qubits consists of the n-fold tensor product of Pauli matrices, P=ikPi
    Figure US20150339417A1-20151126-P00002
    . . .
    Figure US20150339417A1-20151126-P00002
    Pn such that Pjε{I,X,Y,Z} and kε{0,1,2,3}. The tensor-product symbol may be omitted for brevity, so P is denoted by a string of I, X, Y, or Z characters and a separate integer value k for the phase ik. As used herein, the term “Pauli literal” refers to any of the characters X, Y, or Z and the term “literal” refers to any of the characters I, X, Y, or Z. The string-integer pair representation allows us to compute the product of Pauli operators using the Pauli literals, without explicitly computing the tensor products because (A
    Figure US20150339417A1-20151126-P00002
    B)(C
    Figure US20150339417A1-20151126-P00002
    D)=(AC
    Figure US20150339417A1-20151126-P00002
    BD) for matrices A, B, C, and D in the general case. For example, the product of four-qubit Pauli groups (−IIXI)(iIYII)=−iIYXI. Since |
    Figure US20150339417A1-20151126-P00004
    n|=4n+1,
    Figure US20150339417A1-20151126-P00004
    n can have at most log2|
    Figure US20150339417A1-20151126-P00004
    n|=log 2 4n+1=2(n+1) irredundant generators. The stabilizer formalism is of particular importance because it allows simulations of quantum computers to represent an n-qubit quantum state |ψ
    Figure US20150339417A1-20151126-P00001
    by its stabilizer group S(|ψ
    Figure US20150339417A1-20151126-P00001
    ), which is the subgroup of
    Figure US20150339417A1-20151126-P00004
    n that stabilizes |ψ
    Figure US20150339417A1-20151126-P00001
    . If |S(|ψ
    Figure US20150339417A1-20151126-P00001
    )=2n|, then S(|ψ
    Figure US20150339417A1-20151126-P00001
    ) can have at most log2|S(|ψ
    Figure US20150339417A1-20151126-P00001
    )|=log 2 2n=n irredundant generators, so the group S(|ψ
    Figure US20150339417A1-20151126-P00001
    ) uniquely specifies |ψ
    Figure US20150339417A1-20151126-P00001
    . Therefore, an arbitrary n-qubit stabilizer state can be represented by a stabilizer matrix
    Figure US20150339417A1-20151126-P00005
    whose rows represent a set of generators Q1, . . . , Qn for S(|ψ
    Figure US20150339417A1-20151126-P00001
    ). As used herein, a “stabilizer matrix”
    Figure US20150339417A1-20151126-P00005
    is a matrix whose rows represent a set of generators Q1, . . . , Qn for the stabilizer group S(|ψ
    Figure US20150339417A1-20151126-P00001
    ) for a state |
    Figure US20150339417A1-20151126-P00005
    Figure US20150339417A1-20151126-P00001
    . Although we refer to stabilizer matrices and use matrix notation throughout, it should be understood that other equivalent representations may instead be used (e.g., graphs). Since each QiεS(|ψ
    Figure US20150339417A1-20151126-P00001
    ) is a string of n Pauli literals, the size of the stabilizer matrix
    Figure US20150339417A1-20151126-P00005
    is n×n. Therefore, the storage cost of the stabilizer matrix
    Figure US20150339417A1-20151126-P00005
    is O(n2) in the worst case, which is an exponential improvement over the up to O(2n) storage cost of vector-based simulations. Furthermore, QiεS(|ψ
    Figure US20150339417A1-20151126-P00001
    ) implies that the leading phase of Qi can only be ±1 and not ±i because Qi 2 cannot be −I, which does not stabilize any state. The phases of all of the generator vectors Qi can thus be stored in a phase vector σ of n entries, with each entry representing either a + or a − phase.
  • TABLE I
    Multiplication table for Pauli
    matrices.
    Figure US20150339417A1-20151126-C00001
    Shaded cells indicate anticommuting products.
  • Although stabilizer states are uniquely determined by their stabilizer groups
    Figure US20150339417A1-20151126-P00004
    n, the sets of generators Qi in the stabilizer matrices
    Figure US20150339417A1-20151126-P00005
    may be selected in different ways. For example, the state
  • ψ = 00 + 11 2
  • is uniquely specified by any of the following stabilizer matrices:
  • 1 = + + [ X X Z Z ] , 2 = + - [ X X Y Y ] ,
  • and
  • 1 = - + [ Y Y Z Z ] .
  • Figure US20150339417A1-20151126-P00005
    2 may be obtained from
    Figure US20150339417A1-20151126-P00005
    1 by row multiplication, and
    Figure US20150339417A1-20151126-P00005
    3 may be similarly obtained from
    Figure US20150339417A1-20151126-P00005
    1 or
    Figure US20150339417A1-20151126-P00005
    2. Multiplying any row by itself in these stabilizer matrices results in II, which stabilizes the state |ψ
    Figure US20150339417A1-20151126-P00001
    . A row made up of only identity matrices I cannot be used as a generator Qi, however, because it is redundant and carries no information about the structure of |ψ
    Figure US20150339417A1-20151126-P00001
    . Any stabilizer matrix
    Figure US20150339417A1-20151126-P00005
    can be rearranged by elementary row operations to obtain a particular matrix structure, including reduced row echelon form (canonical form), without modifying the stabilizer state. Such elementary row operations include transposition (swapping the order of rows) and multiplication (left-multiplying a row by another row). Using Gaussian elimination, a stabilizer matrix
    Figure US20150339417A1-20151126-P00005
    can be reduced to canonical form as illustrated in FIG. 1. The canonical form of a stabilizer matrix
    Figure US20150339417A1-20151126-P00005
    contains an X-block and a Z-block, such that the X-block contains a minimal set of rows with X or Y Pauli literals. The Z-block contains rows that only include Z Pauli literals and I literals, and the Z-block likewise contains a minimal set of rows with Z Pauli literals. Additionally, the number of Pauli literals in each of the X-block and the Z-block is minimal. The X-block and the Z-block, respectively, contain an X-diagonal and a Z-diagonal. All Pauli X and Y literals are found on or above the X-diagonal within the X-block. Similarly, all Pauli Z literals are found on or above the Z-diagonal in the Z-block or in the X-block. Only I literals are found below the Z-diagonal within the Z-block.
  • In some embodiments, the Gaussian elimination procedure may implement the following Algorithm 1 in Table II to obtain the canonical form of the stabilizer matrix
    Figure US20150339417A1-20151126-P00005
    . Algorithm 1 starts with the stabilizer matrix
    Figure US20150339417A1-20151126-P00005
    and iteratively determines which row operations to apply based on the Pauli literals contained in the first row and column of an increasingly smaller submatrix A of the full stabilizer matrix
    Figure US20150339417A1-20151126-P00005
    . After the appropriate row operations are applied to the submatrix A, the dimensions of the submatrix A are reduced for the next iteration. Algorithm 1 performs the process in two parts. First, the algorithm positions the X and Y Pauli literals at the top of the stabilizer matrix
    Figure US20150339417A1-20151126-P00005
    . Second, the algorithm positions the Z Pauli literals at the bottom of the stabilizer matrix
    Figure US20150339417A1-20151126-P00005
    . Specifically, take an n×n stabilizer matrix
    Figure US20150339417A1-20151126-P00005
    , with rows indexed by iε{1, . . . , n} and columns indexed by jε{1, . . . , n}, where i and j are the indices associated with the first row and column, respectively, of the submatrix A. In each iteration of the first part of Algorithm 1, the following steps are iteratively performed. First, identify a row Rk with index kε{1, . . . , n} in the submatix A whose jth literal is X or Y, and swap row Rk with row Ri. Second, find any additional rows Rm with index mε{1, . . . , n} such that m≠i that has an X or Y Pauli literal in the jth column, and left-multiply the row Rm by row Ri to set the jth literal of row Rm to Z or I. Third, reduce the height of the submatrix A by one (i.e., set i=i+1), and reduce the width of the submatrix A by one (i.e., set j=j+1). Once the first part of Algorithm 1 is finished, the second part is iteratively performed to reduce the set of Z Pauli literals in the Z-block to the minimal set. Without resetting the row index i, the second part begins by resetting the column index j=1. The second part of the algorithm then iterates over j by implementing the following steps. First, identify a row Rk with index kε{1, . . . , n} in the submatix A whose jth literal is Z, and swap row Rk with row Ri. Second, find any additional rows Rm with index mε{1, . . . , n} such that m≠i that has an Z or Y Pauli literal in the jth column, and left-multiply the row Rm by row Ri to ensure the columns of the canonical stabilizer matrix
    Figure US20150339417A1-20151126-P00005
    have at most two distinct types of Pauli literals. Third, reduce the height of the submatrix A by one (i.e., set i=i+1), and reduce the width of the submatrix A by one (i.e., set j=j+1).
  • TABLE II
    Input: Stabilizer matrix 
    Figure US20150339417A1-20151126-P00006
     for S(|ψ 
    Figure US20150339417A1-20151126-P00007
     ) with rows R1,...,Rn
    Output: M is reduced to row-echelon form
    Figure US20150339417A1-20151126-P00008
     ROWSWAP( 
    Figure US20150339417A1-20151126-P00006
     ,i,j) swaps rows Ri and Rj of 
    Figure US20150339417A1-20151126-P00006
    Figure US20150339417A1-20151126-P00008
     ROWMULT( 
    Figure US20150339417A1-20151126-P00006
     ,i,j) left-multiplies rows Ri and Rj, returns updated Ri
     1: i ← 1
     2: for j ∈ {1,...,n} do
    Figure US20150339417A1-20151126-P00009
     Setup X block
     3:  k ← index of row Rk∈{i,...,n} with jth literal set to X(Y)
     4:  if k exists then
     5:   ROWSWAP( 
    Figure US20150339417A1-20151126-P00006
     ,i,k)
     6:   for m ∈ {0,...,n} do
     7:    if jth literal of Rm is X or Y and m ≠ i then
     8:     Rm = ROWMULT( 
    Figure US20150339417A1-20151126-P00006
     , Ri, Rm)
    Figure US20150339417A1-20151126-P00009
     Gauss-Jordan elimination step
     9:    end if
    10:   end for
    11:   i ← i + 1
    12:  end if
    13: end for
    14: for j ∈ {1,...,n} do
    Figure US20150339417A1-20151126-P00009
     Setup Z block
    15:  k ← index of row Rk∈{i,...,n} with jth literal set to Z
    16:  if k exists then
    17:   ROWSWAP( 
    Figure US20150339417A1-20151126-P00006
     ,i,k)
    18:   for m ∈ {0,...,n} do
    19:    if jth literal of Rm is Z or Y and m ≠ i then
    20:     Rm = ROWMULT( 
    Figure US20150339417A1-20151126-P00006
     , Ri, Rm)
    Figure US20150339417A1-20151126-P00009
     Gauss-Jordan elimination step
    21:    end if
    22:   end for
    23:   i ← i + 1
    24:  end if
    25: end for
  • Using the canonical form of a stabilizer matrix
    Figure US20150339417A1-20151126-P00005
    allows us to simulate quantum circuits efficiently (as described below) by maintaining the structure of the stabilizer matrix. For deterministic computational basis states (e.g., |00 . . . 0
    Figure US20150339417A1-20151126-P00001
    ), the canonical stabilizer matrix will contain only Z and I literals because each qubit is either |0
    Figure US20150339417A1-20151126-P00001
    or |1
    Figure US20150339417A1-20151126-P00001
    , but not a superposition. Therefore, a stabilizer matrix is in basis form if it has Z Pauli literals along its diagonal and I literals everywhere off its diagonal, combined with a phase vector σ. FIG. 2 illustrates the form of a stabilizer matrix in basis form. Because the basis state is deterministic, the basis form stabilizer matrix has only Z Pauli literals along its diagonal, and only I literals in every other position. The leading ± signs indicate the entries in the associated phase vector σ may be either + or − for each row. In this basis form, the ± sign of each row j and its corresponding Zj literal designates whether the state of the jth qubit in the basis state |ψ
    Figure US20150339417A1-20151126-P00001
    associated with the stabilizer matrix
    Figure US20150339417A1-20151126-P00005
    is |0
    Figure US20150339417A1-20151126-P00001
    (+) or |1
    Figure US20150339417A1-20151126-P00001
    (−).
  • To simulate a quantum circuit C containing a sequence of quantum gates UεC, the basis stabilizer matrix
    Figure US20150339417A1-20151126-P00005
    corresponding to the basis state |ψ
    Figure US20150339417A1-20151126-P00001
    is used. To simulate the action of each gate U, we conjugate each row Qi of
    Figure US20150339417A1-20151126-P00005
    by U. Since Qi
    Figure US20150339417A1-20151126-P00001
    =|ψ
    Figure US20150339417A1-20151126-P00001
    , the resulting state U|ψ
    Figure US20150339417A1-20151126-P00001
    is stabilized by UQiU† because (UQi U†)U|ψ
    Figure US20150339417A1-20151126-P00001
    =UQi
    Figure US20150339417A1-20151126-P00001
    =U|ψ
    Figure US20150339417A1-20151126-P00001
    . In order to ensure that resulting output matrix M′ is a well-formed stabilizer matrix, it is necessary that UQiU† maps to another string of X, Y, Z, and 1-literals. The Hadamard (H), Phase (R), and controlled-NOT (CNOT) gates have such mappings. Table III lists the Pauli literal mappings for each of these gates. As an example of simulation using the stabilizer representation described above, the operation of a CNOT gate on a basis state of
  • ψ = 00 + 11 2
  • can be represented as follows:
  • ψ = + + [ X X Z Z ] CNOT ψ = + + [ X I I Z ]
  • It should be noted that the rows of the output matrix
    Figure US20150339417A1-20151126-P00005
    ψ stabilizes
  • ψ CNOT 00 + 10 2 .
  • TABLE III
    Conjugation of Pauli-group elements by stabilizer
    gates [18]. For the CNOT case, subscript 1
    indicates the control and 2 the target.
    GATE INPUT OUTPUT GATE INPUT OUTPUT
    H X Z CNOT I1 X2 I1 X2
    Y −Y X1 I2 X1 X2
    Z X I1 Y2 Z1 Y2
    P X Y Y1 I2 Y1 X2
    Y −X I1 Z2 Z1 Z2
    Z Z Z1 I2 Z1 I2
  • Since the H, R, and CNOT gates can be simulated directly using stabilizers, these gates are commonly called “stabilizer gates,” and circuits including only stabilizer gates are referred to as unitary “stabilizer circuits.” To simulate a stabilizer gate using a stabilizer matrix
    Figure US20150339417A1-20151126-P00005
    , Table III of conjugations of Pauli-group elements by stabilizer gates indicates that at most two columns of the stabilizer matrix
    Figure US20150339417A1-20151126-P00005
    must be updated. Thus, stabilizer gates are simulated in Θ(n) time. Furthermore, for any pair of Pauli operators A and B, ABA†=(−1)cB̂t, where c=0 if A and B commute and c=1 otherwise. Thus, Pauli gates can also be simulated in linear time as they only permute the phase vector of the stabilizer matrix.
  • The stabilizer formalism also admits measurements in the computational basis and conveniently avoids direct computation of projection operators and inner products. Note that any qubit j in a stabilizer state is either in a state of |0
    Figure US20150339417A1-20151126-P00001
    or |1
    Figure US20150339417A1-20151126-P00001
    (a deterministic outcome) or in an unbiased superposition of both |0
    Figure US20150339417A1-20151126-P00001
    and |1
    Figure US20150339417A1-20151126-P00001
    (a random outcome). Deterministic and random outcomes may be differentiated in Θ(n) time by searching for X or Y Pauli literals in the jth column of
    Figure US20150339417A1-20151126-P00005
    . Where such X or Y literals are found, the jth qubit must be in superposition, and the outcome is random with equal probability (e.g., (p(|0)=p(|1
    Figure US20150339417A1-20151126-P00001
    )=0.5). Where such X or Y literals are not found, the jth qubit is deterministic (e.g., p(|0)=1 or p(|1
    Figure US20150339417A1-20151126-P00001
    )=1).
  • To measure the random outcome case, the jth qubit may be updated using any known means of obtaining a random binary measurement (e.g., equivalent to the flip of an unbiased coin) may be used to obtain a deterministic outcome for the jth qubit. For example, a random number generator may be used to determine whether the jth qubit should be updated to |0
    Figure US20150339417A1-20151126-P00001
    or |1
    Figure US20150339417A1-20151126-P00001
    . In the stabilizer matrix
    Figure US20150339417A1-20151126-P00005
    , this corresponds to replacing the row Rj with an X or Y literal in its jth column with a row Zj with a Z literal in its jth column and I literals elsewhere. The phase of row Zj is set in the phase vector σ of
    Figure US20150339417A1-20151126-P00005
    to match the deterministic state of qubit j (e.g., |0
    Figure US20150339417A1-20151126-P00001
    or |1
    Figure US20150339417A1-20151126-P00001
    ). Since rows Rj and Zj anticommute, the stabilizer matrix
    Figure US20150339417A1-20151126-P00005
    may then be examined for rows that anticommute with row Zj and updated by multiplying such anticommuting rows by Rj to make them commute with row Zj. Alternatively, the rows of
    Figure US20150339417A1-20151126-P00005
    that anticommute with Zj may be updated prior to replacing row Rj with row Zj.
  • To measure the deterministic outcome case, the sign of the Z literal that stabilizes the qubit must be determined. In some embodiments, Gaussian elimination may be applied to reduce the stabilizer matrix
    Figure US20150339417A1-20151126-P00005
    to row-echelon form. This removes redundant literals from the stabilizer matrix
    Figure US20150339417A1-20151126-P00005
    , allowing identification of row Zj with a Z literal in its jth column and I literals elsewhere. Alternatively, if
    Figure US20150339417A1-20151126-P00005
    is maintained in reduced row-echelon form, the row Zj is simply identified. Once row Zj is identified, the phase of the Z literal associated with the jth qubit is determined from the corresponding entry in the phase vector σ.
  • In quantum mechanics, the states e
    Figure US20150339417A1-20151126-P00001
    and |0
    Figure US20150339417A1-20151126-P00001
    are considered phase-equivalent because e does not affect the statistics of measurement. Since the stabilizer formalism simulates stabilizer gates using their action by conjugation, such global phases are not maintained. For example, a basis state of |1
    Figure US20150339417A1-20151126-P00001
    is stabilized by the literal −Z. Conjugation by the phase gate R yields R(−Z)R, but the phase-vector representation
  • 1 R i 1
  • indicates that the phase gate R applied to basis state |1
    Figure US20150339417A1-20151126-P00001
    should yield i|1
    Figure US20150339417A1-20151126-P00001
    . In this example, the global phase i is not maintained by the stabilizer formalism. Since global phases are unobservable, they do not need to be maintained when simulating a single stabilizer state. When dealing with superpositions of stabilizer states, however, the global phases must be maintained because the global phases become relative.
  • Stabilizer Frames
  • The stabilizer gates discussed above do not by themselves form a universal set for quantum computation. In some embodiments, therefore, simulation of a quantum computer may include at least one quantum gate of the quantum computer that is not a stabilizer gate. The Hadamard (H) and Toffoli (TOF) gates, for example, do form a universal set. The TOF gate is a 3-qubit gate that maps (c1, c2, t) to (c1, c2, t⊕(c1c2)), having the effect of a controlled-CNOT gate. The H gate is a stabilizer gate, but the TOF gate is not. To simulate TOF and other non-stabilizer gates, we extend the stabilizer formalism to include the representation of arbitrary quantum states as the superpositions of stabilizer states. Since computational basis states are stabilizer states, any one-qubit state |ψ
    Figure US20150339417A1-20151126-P00001
    1|0
    Figure US20150339417A1-20151126-P00001
    2|1
    Figure US20150339417A1-20151126-P00001
    is a superposition of the two stabilizer states |0
    Figure US20150339417A1-20151126-P00001
    and |1
    Figure US20150339417A1-20151126-P00001
    . In general, any state decomposition in a computational basis state is a stabilizer decomposition. Note that if |ψ
    Figure US20150339417A1-20151126-P00001
    is an unbiased superposition such that |α1|2=|α2|2, then |ψ
    Figure US20150339417A1-20151126-P00001
    can be represented using a single stabilizer state, up to a global phase. This underlies our method of identifying and compressing large unbiased superpositions on the fly during simulation to reduce resource requirements. To do this, we develop a simulation technique based on stabilizer frames of orthogonal stabilizer states.
  • As used herein, an n-qubit “stabilizer frame”
    Figure US20150339417A1-20151126-P00010
    is a set of k≦2n stabilizer states {|ψj
    Figure US20150339417A1-20151126-P00001
    }j−1 n that forms an orthogonal subspace in the Hilbert space. The stabilizer frame
    Figure US20150339417A1-20151126-P00010
    may be represented by a pair consisting of (i) the stabilizer matrix
    Figure US20150339417A1-20151126-P00010
    and (ii) a set of distinct phase vectors {σj}j−1 k. σj=1 k, where σjε{±1}n. We denote the ordered assignment of the elements in phase vector σj, as the (±1)-phases of the rows of
    Figure US20150339417A1-20151126-P00005
    by matrix
    Figure US20150339417A1-20151126-P00005
    σj. The size of the frame |
    Figure US20150339417A1-20151126-P00010
    | is equal to k. To represent an arbitrary state | Ψ
    Figure US20150339417A1-20151126-P00001
    using the frame
    Figure US20150339417A1-20151126-P00010
    , we maintain an additional amplitude vector α=(α1, . . . , αk) of complex amplitudes corresponding to the decomposition of |Ψ
    Figure US20150339417A1-20151126-P00001
    in the basis {|ψj
    Figure US20150339417A1-20151126-P00001
    }j=1 k defined by the frame
    Figure US20150339417A1-20151126-P00010
    , i.e., |Ψ
    Figure US20150339417A1-20151126-P00001
    j=1 kαjj
    Figure US20150339417A1-20151126-P00001
    and Σj=1 k=|αj|2=1. Note that each amplitude αj forms a pair with the corresponding phase vector σ1 since |ψj
    Figure US20150339417A1-20151126-P00001
    Figure US20150339417A1-20151126-P00005
    σj.
  • Simulation using the stabilizer frames represents any state |Ψ
    Figure US20150339417A1-20151126-P00001
    as a superposition of stabilizer states. For example, FIG. 3 represents a state |Ψ
    Figure US20150339417A1-20151126-P00001
    =α(|00)+|01
    Figure US20150339417A1-20151126-P00001
    )+α2 (|10)+|11
    Figure US20150339417A1-20151126-P00001
    ) as a stabilizer frame
    Figure US20150339417A1-20151126-P00010
    with stabilizer matrix
  • = [ Z I I X ] ,
  • phase vectors 94 1=(+,+) and σ2=(−, +), and amplitude vector α=(α1, α2). As noted above, the stabilizer matrix
    Figure US20150339417A1-20151126-P00005
    can be combined with the set of phase vectors σ to obtain
  • σ 1 = + + [ Z I I X ]
  • and
  • σ 2 = + + [ Z I I X ] .
  • Note that, although the state |Ψ
    Figure US20150339417A1-20151126-P00001
    has four computational basis amplitudes, the frame only has two phase vectors σ1 and σ2. Where |α1|2=|α2|2, the frame
    Figure US20150339417A1-20151126-P00010
    can be manipulated to reduce its size |
    Figure US20150339417A1-20151126-P00010
    |, as discussed below.
  • As another example, the action of the TOF gate on an n-qubit state |Ψ
    Figure US20150339417A1-20151126-P00001
    with control qubits c1 and c2 and target qubit t can be simulated using the frame
    Figure US20150339417A1-20151126-P00010
    illustrated in FIG. 4. First, we decompose |Ψ
    Figure US20150339417A1-20151126-P00001
    into all four of its double cofactors over the control qubits to obtain the following unbiased superposition of orthogonal states:
  • ψ = Ψ c 1 c 2 = 00 + Ψ c 1 c 2 = 01 + Ψ c 1 c 2 = 10 Ψ c 1 c 2 = 11 2
  • Then, the action of the TOF gate may be computed as follows:

  • TOF c 1 c 2 t
    Figure US20150339417A1-20151126-P00001
    =(|ψc 1 c 2 =00
    Figure US20150339417A1-20151126-P00001
    +|ψc 1 c 2 =01
    Figure US20150339417A1-20151126-P00001
    +|ψc 1 c 2 =10
    Figure US20150339417A1-20151126-P00001
    +X tc 1 c 2 =11
    Figure US20150339417A1-20151126-P00001
    )/2
  • where Xt is the Pauli X gate (corresponding to a NOT gate) acting on the target qubit t. As in the example above, each double cofactor |ψc 1 c 2
    Figure US20150339417A1-20151126-P00001
    is represented by the same stabilizer matrix
  • = [ Z I I I Z I I I Z ] ,
  • but each double cofactor |ψc 1 c 2 ) has a distinct phase vector: σc 1 c 2 =00=(+, +, +), σc 1 c 2 =10=(−, +, +), σc 1 c 2 =01=(+, −, +), and σc 1 c 2 =11=(−, −, +). The four phase vector-stabilizer matrix combinations
  • σ c 1 c 2 = 00 , σ c 1 c 2 = 10 , σ c 1 c 2 = 01 , σ c 1 c 2 = 11
  • are also represented in FIG. 4. Note that the phase vector σc 1 c 2 =11 and the phase vector-stabilizer matrix combination
  • σ c 1 c 2 = 11
  • may be updated to simulate the action of the Xt gate. Thus, σc 1 c 2 =11=(−, −, −), and
  • σ c 1 c 2 = 11 = - - - [ Z I I I Z I I I Z ] .
  • An amplitude vector α=(αc 1 c 2 =00, αc 1 c 2 =10, αc 1 c 2 =01, αc 1 c 2 =11) is likewise maintained. Enabling simulation of the TOF gate is particularly important because the TOF gate and the H gate form a universal set for quantum computation, and the H gate is a stabilizer gate.
  • Like the TOF gate, the controlled-phase gate R(α)ct can also be simulated using stabilizer frames. The controlled-phase gate R(α)ct applies a phase-shift factor of eto a target qubit t if both the target qubit t and a control qubit c are set (i.e., c=1 and t=1). It is used with the H gate to implement the quantum Fourier transform circuit, which plays a key role in Shor's factoring algorithm. With cofactoring, the action of the R(α)ct gate on a state |Ψ
    Figure US20150339417A1-20151126-P00001
    may be computed as follows:

  • R(α)ct
    Figure US20150339417A1-20151126-P00001
    =(|ψct=00
    Figure US20150339417A1-20151126-P00001
    +|ψct=01
    Figure US20150339417A1-20151126-P00001
    +|ψct=10
    Figure US20150339417A1-20151126-P00001
    +e ct=11
    Figure US20150339417A1-20151126-P00002
    )/2
  • This can be simulated on a classical computer by cofactoring |Ψ
    Figure US20150339417A1-20151126-P00001
    over the c and t qubits, determining the phase vectors σjε{1, . . . , |
    Figure US20150339417A1-20151126-P00010
    |}, and setting the amplitude vector αε{α1, . . . , α|
    Figure US20150339417A1-20151126-P00010
    |}. Then, for every phase vector σj corresponding to the |Ψct=11
    Figure US20150339417A1-20151126-P00001
    cofactor, shift the phase of the jth qubit by setting αjje. Note that this may result in a biased superposition.
  • Since the states in a stabilizer frame
    Figure US20150339417A1-20151126-P00010
    are orthogonal, the outcome probability when measuring the output of a circuit simulated using the stabilizer frame
    Figure US20150339417A1-20151126-P00010
    is equal to the sum of the outcome probabilities of each state |ψi
    Figure US20150339417A1-20151126-P00001
    , normalized with respect to the entries in the amplitude vector α. Thus, for a superposition of states |Ψ
    Figure US20150339417A1-20151126-P00001
    iαii
    Figure US20150339417A1-20151126-P00001
    represented by
    Figure US20150339417A1-20151126-P00010
    , the probability of observing an outcome xε{0,1} upon measuring qubit m is
  • p ( x ) ϕ = i = 1 k α i 2 ψ i P x m ψ i = i = 1 k α i 2 p ( x ) ϕ i
  • where Px m denotes the measurement operators P0 and P1 discussed above. As discussed above, the probability p(x)Ψ can then be used to determine an outcome state |0
    Figure US20150339417A1-20151126-P00001
    or |1
    Figure US20150339417A1-20151126-P00001
    using a random number generator or other means of obtaining a binary outcome from a known probability. The frame
    Figure US20150339417A1-20151126-P00005
    may then be cofactored such that only the states consistent with the measurement remain in the frame
    Figure US20150339417A1-20151126-P00005
    .
  • Efficient Computation of Global Phases
  • As noted above, simulation of superpositions of stabilizer states using stabilizer frames requires tracking the relative global states of the stabilizer states. In quantum mechanics, the states e
    Figure US20150339417A1-20151126-P00001
    and |ψ
    Figure US20150339417A1-20151126-P00001
    are considered phase-equivalent because e does not affect the statistics of measurement. During stabilizer-based simulation, such global phases are not maintained. Since these phases are unobservable, this is not a problem when simulating a single stabilizer state. We manipulate superpositions of states, however, so the global phases become relative and must be maintained. As discussed above, we maintain the global phases of n-qubit states in stabilizer frames
    Figure US20150339417A1-20151126-P00010
    using amplitude vectors α, such that each entry αjε{1, . . . , k} is a global phase corresponding to phase vector σj and stabilizer matrix
    Figure US20150339417A1-20151126-P00005
    σj. To maintain the global phase when simulating quantum gate U, each global phase αj is updated using a global phase maintenance method in accordance with the description herein.
  • FIG. 5 illustrates a flow diagram of an exemplary global phase maintenance method 500. The method 500 begins at block 502, when a representation of a quantum state |ψ
    Figure US20150339417A1-20151126-P00001
    and a quantum gate U are received by a processor of a classical computer simulating a quantum circuit. The quantum state |ψ
    Figure US20150339417A1-20151126-P00001
    and a quantum gate U may be stabilizer or non-stabilizer states or gates. The classical computer may then determine a stabilizer frame
    Figure US20150339417A1-20151126-P00010
    representing the quantum state |ψ
    Figure US20150339417A1-20151126-P00001
    as a superposition of stabilizer states at block 504. The stabilizer frame
    Figure US20150339417A1-20151126-P00010
    includes one or more stabilizer matrices
    Figure US20150339417A1-20151126-P00005
    , a plurality of phase vectors σj corresponding to the k stabilizer states in
    Figure US20150339417A1-20151126-P00010
    , and an amplitude vector a corresponding to the phase vectors σj. In some embodiments the quantum state |ψ
    Figure US20150339417A1-20151126-P00001
    may be received as a stabilizer frame
    Figure US20150339417A1-20151126-P00010
    , in which case block 504 may be removed. The classical computer then iterates through the stabilizer states in
    Figure US20150339417A1-20151126-P00010
    for all jε{1, . . . , k}. At block 506, the classical computer determines whether the quantum gate U has been applied to each pair of phase vectors σjε{1, . . . , k} and amplitudes αjε{1, . . . , k}. This may be accomplished by means of a for loop (e.g., with counter i=1, . . . , k) or by other known means. When the quantum gate U has been applied to all phase vectors σj (i.e., after k iterations), the implementation of the method 500 is complete. Prior to completion, blocks 508-518 are applied for each jε{1, . . . , k}.
  • At block 508, the classical computer sets the leading phases of stabilizer matrix
    Figure US20150339417A1-20151126-P00005
    to the values in phase vector σj to produce stabilizer matrix
    Figure US20150339417A1-20151126-P00005
    σj for some jε{1, . . . , k} that has yet to be updated by application of the quantum gate U. Next, the classical computer determines an input basis state |b
    Figure US20150339417A1-20151126-P00001
    of the matrix
    Figure US20150339417A1-20151126-P00005
    σj prior to application of the quantum gate U at block 510. Similarly, the non-zero amplitude of the basis state |b
    Figure US20150339417A1-20151126-P00001
    is determined at block 512. At block 514, the classical computer computes the action of the quantum gate U on the basis state as U(β|b
    Figure US20150339417A1-20151126-P00001
    )=β′|b′
    Figure US20150339417A1-20151126-P00001
    via matrix-vector multiplication using the matrix representation of U and the vector representation of β|b
    Figure US20150339417A1-20151126-P00001
    . The first output non-zero amplitude β′ is obtained from the output basis state |b′
    Figure US20150339417A1-20151126-P00001
    and stored. At block 516, the classical computer determines a second non-zero amplitude γ of basis state |b′
    Figure US20150339417A1-20151126-P00001
    from U
    Figure US20150339417A1-20151126-P00005
    U†. Finally, the global phase αj in the amplitude vector α is updated at block 518 as
  • a j = a j β γ .
  • Where the quantum gate U is a Hadamard gate, the non-zero amplitude may be determined as the sum of a real and a complex non-zero amplitude in block 512. For example, where |ψ
    Figure US20150339417A1-20151126-P00001
    =(|00
    Figure US20150339417A1-20151126-P00001
    +|01
    Figure US20150339417A1-20151126-P00001
    −i|10
    Figure US20150339417A1-20151126-P00001
    −i|11
    Figure US20150339417A1-20151126-P00001
    ) (with the normalization factor omitted for simplicity), the generator set for
    Figure US20150339417A1-20151126-P00005
    is {−YI,IX}. The orthonormal basis states |00
    Figure US20150339417A1-20151126-P00001
    and i|10
    Figure US20150339417A1-20151126-P00001
    are obtained from
    Figure US20150339417A1-20151126-P00005
    , and the non-zero amplitude β=1 (the amplitude of |00
    Figure US20150339417A1-20151126-P00005
    ). The action of the H gate at block 514 is computed as
  • H 1 ( 00 + i 10 ) = ( 1 - i ) 2 00 + ( 1 + i ) 2 10 ,
  • so
  • β = ( 1 - i ) 2 .
  • Then, at block 516, the amplitude of |00
    Figure US20150339417A1-20151126-P00001
    is obtained from H1
    Figure US20150339417A1-20151126-P00005
    H1†={YI,IX}, which yields γ=1. The global phase may then be adjusted by the global phase factor
  • β γ = ( 1 - i ) 2 .
  • In some embodiments, Gaussian elimination may be used to determine the non-zero amplitudes β, β′, and γ. In other embodiments, the non-zero amplitudes β, β′, and γ may be sampled from the leading phases σj and the literals of
    Figure US20150339417A1-20151126-P00005
    where the stabilizer matrix
    Figure US20150339417A1-20151126-P00005
    is in row-echelon form. Performing Gaussian elimination on all stabilizer matrices
    Figure US20150339417A1-20151126-P00005
    in
    Figure US20150339417A1-20151126-P00010
    requires O(n3|
    Figure US20150339417A1-20151126-P00010
    |) time (in the worst case). Since stabilizer gates affect at most two columns of
    Figure US20150339417A1-20151126-P00005
    , the stabilizer matrix
    Figure US20150339417A1-20151126-P00005
    may be maintained in row-echelon form in the worst case in O(n2) time using row multiplication. Therefore, for the n-qubit stabilizer frame
    Figure US20150339417A1-20151126-P00010
    , the overall runtime for simulating a single stabilizer gate is up to O(n2+n|
    Figure US20150339417A1-20151126-P00010
    |), since the updates to
    Figure US20150339417A1-20151126-P00005
    required to compute each αj can be memorized using known techniques to avoid redundant computation. For this reason, it is advantageous to maintain the stabilizer matrix
    Figure US20150339417A1-20151126-P00005
    in row-echelon form throughout the simulation.
  • Orthogonalization of Linearly Dependent Combinations of Stabilizer States
  • As discussed above, measurement of frames and other combinations of quantum states is simplified where the states are mutually orthogonal. To simulate measurements of an arbitrary state |Ψ
    Figure US20150339417A1-20151126-P00001
    , therefore, it is helpful to transform the set of stabilizer states that represent |Ψ
    Figure US20150339417A1-20151126-P00001
    into an orthogonal set. For any linear combination of stabilizer states |Ψ
    Figure US20150339417A1-20151126-P00001
    j=1 ncjj
    Figure US20150339417A1-20151126-P00001
    where each stabilizer state |ψj
    Figure US20150339417A1-20151126-P00001
    is represented by its own stabilizer matrix, we can transform the stabilizer states |ψ
    Figure US20150339417A1-20151126-P00001
    into an orthogonal basis by decomposition.
  • Since a linear combination of stabilizer states is not generally a stabilizer state, Gram-Schmidt orthogonalization cannot be use directly. Therefore, we develop an orthogonalization procedure that exploits the nearest-neighbor structure of stabilizer states and their efficient manipulation via stabilizers. As used herein, a stabilizer state |φ
    Figure US20150339417A1-20151126-P00001
    is a “nearest-neighbor” of a stabilizer state |ψ
    Figure US20150339417A1-20151126-P00001
    with ∥|ψ
    Figure US20150339417A1-20151126-P00001
    ∥=1 if and only if
  • ψ | ϕ = 1 2 .
  • Where two orthogonal stabilizer states |α
    Figure US20150339417A1-20151126-P00001
    and |β
    Figure US20150339417A1-20151126-P00001
    have an unbiased superposition |ψ
    Figure US20150339417A1-20151126-P00001
    that is also a stabilizer state, then
  • ψ | α = ψ | β = 1 2 ,
  • so |α
    Figure US20150339417A1-20151126-P00001
    and |β
    Figure US20150339417A1-20151126-P00001
    are nearest neighbors of |ψ
    Figure US20150339417A1-20151126-P00001
    . In general, any two stabilizer states have an equal number of nearest neighbor stabilizer states. Furthermore, any n-qubit stabilizer state |ψ
    Figure US20150339417A1-20151126-P00001
    has 4(2n−1) nearest-neighbor stabilizer states of the form
  • ( ψ + i l ϕ ) 2 ,
  • where lε{0,1,2,3} and where |ψ
    Figure US20150339417A1-20151126-P00001
    and |φ
    Figure US20150339417A1-20151126-P00001
    are orthogonal n-qubit stabilizer states. We can thus decompose |ψ
    Figure US20150339417A1-20151126-P00001
    into a superposition of nearest-neighbor stabilizer states
  • ( φ + i l ϕ ) 2
  • using Algorithm 2 in Table IV. Algorithm 2 takes as input a linear combination of n-qubit states represented by (i) a list of stabilizer matrices in canonical form M={
    Figure US20150339417A1-20151126-P00005
    1, . . . ,
    Figure US20150339417A1-20151126-P00005
    N} and (ii) a list of corresponding coefficients C={c1, . . . , cN}. Algorithm 2 iterates over the columns jε{1, . . . , n} to select pivot columns where the column j differs between two matrices
    Figure US20150339417A1-20151126-P00005
    iε M in lines 1-10. When two matrices in M are found to differ in their, jth columns, Algorithm 2 applies a decomposition procedure to all matrices
    Figure US20150339417A1-20151126-P00005
    iεM in lines 11-20, thereby making column j equivalent up to a phase-vector permutation in each of the matrices in M.
  • TABLE IV
    Input: Linear combination of n-qubit states |ψ 
    Figure US20150339417A1-20151126-P00011
     = Σj=1 N cjj
    Figure US20150339417A1-20151126-P00011
     represented by (i) a list of canonical stabilizer
       matrices M = { 
    Figure US20150339417A1-20151126-P00006
    1,..., 
    Figure US20150339417A1-20151126-P00006
    N} and (ii) a list of coefficients C = {c1,...,cN}
    Output: Modified lists M′ and C′ representing a linear combination of mutually orthognal states
    Figure US20150339417A1-20151126-P00012
      PAULI(M,j) returns 0 if the jth column in M has Z literals only (ignores 1 literals), 1 if it has X literals
       only, 2 if it has Y literals only, 3 if it has X/Z literals only, and 4 if it has Y/Z literals only
    Figure US20150339417A1-20151126-P00012
      REMOVE(M,C,j) removes the jth element in M and C
    Figure US20150339417A1-20151126-P00012
      INSERT(M,C, 
    Figure US20150339417A1-20151126-P00006
     ,c) appends 
    Figure US20150339417A1-20151126-P00006
     to M and c to C if an equivalent matrix does not exist in M: otherwise,
       sets cj = cj + c, where cj is the coefficient of the matrix in M that is equivalent to 
    Figure US20150339417A1-20151126-P00006
    Figure US20150339417A1-20151126-P00012
      DECOMPOSE( 
    Figure US20150339417A1-20151126-P00006
     ,j,a ∈ {0, 1}) implements the proof of Proposition 5.5 and returns the pair [ 
    Figure US20150339417A1-20151126-P00006
    j=a,α], where
        
    Figure US20150339417A1-20151126-P00006
    j=a is the nearest-neighbor canonical matrix with the jth qubit in state |a), and α is the phase factor
     1: for j ∈ {1,...,n} do
     2:  b ← 0
     3:  l ← PAULI( 
    Figure US20150339417A1-20151126-P00006
    1, j)
     4:  for each  
    Figure US20150339417A1-20151126-P00006
    i, i ∈ {2,...,N} do
     5:   k ← PAULI( 
    Figure US20150339417A1-20151126-P00006
    i, j)
     6:   if k ≠ l or the rows with Pauli literals in the jth column are distinct then
     7:    b ← 1
     8:    break
     9:   end if
    10:  end for
    11:  if b = 1 then
    12:   for each  
    Figure US20150339417A1-20151126-P00006
    i, i ∈ {1,...,N} do
    13:    [ 
    Figure US20150339417A1-20151126-P00006
    j=0 i, α] ← DECOMPOSE( 
    Figure US20150339417A1-20151126-P00006
    i, j, 0)
    14:    [ 
    Figure US20150339417A1-20151126-P00006
    j=1 i, β] ← DECOMPOSE( 
    Figure US20150339417A1-20151126-P00006
    i, j, 1)
    15:    REMOVE(M, C, i)
    16:    INSERT(M, C, 
    Figure US20150339417A1-20151126-P00006
    j=0 i, α/{square root over (2)})
    17:    INSERT(M, C, 
    Figure US20150339417A1-20151126-P00006
    j=1 i, β/{square root over (2)})
    18:   end for
    19:  end if
    20: end for
  • FIG. 6 illustrates a flow diagram of an exemplary orthogonalization method 600. The method 600 begins at block 602 with the classical computer receiving a linear combination of stabilizer states represented by a list of stabilizer matrices in canonical form M={
    Figure US20150339417A1-20151126-P00005
    1, . . . ,
    Figure US20150339417A1-20151126-P00005
    N} and (ii) a list of corresponding coefficients C={c1, . . . , civ}. In some embodiments the stabilizer states may be represented by one or more frames
    Figure US20150339417A1-20151126-P00010
    or in another manner, in which case the classical computer may next determine the stabilizer matrices in M and coefficients in C from the linear combination of stabilizer states. Additionally, or alternatively, the stabilizer matrices in M may not be in canonical form, in which case the process described above or other known techniques may be used to put the matrices into canonical form. At block 604, the classical computer determines whether all matrices
    Figure US20150339417A1-20151126-P00005
    iεM are similar. As used herein, a plurality of stabilizer matrices are “similar” if the matrices are equivalent up to a phase-vector permutation. The classical computer may determine whether all matrices
    Figure US20150339417A1-20151126-P00005
    iεM are similar in a variety of ways, including comparing the matrices by known techniques. Alternatively, an iterative mechanism (e.g., a loop counter) may be used in some embodiments, such as the embodiment in Table V. When all matrices
    Figure US20150339417A1-20151126-P00005
    iεM are similar, the method 600 ends. Until all matrices
    Figure US20150339417A1-20151126-P00005
    iεM are similar, the classical computer iterates through blocks 604-616 to identify dissimilarities and decompose the dissimilar matrices into similar matrices.
  • In block 606, the classical computer identifies a pivot column by determining a column containing different types of Pauli literals in at least two matrices in M. In some embodiments, the process may compare the literals of a test column in each matrix
    Figure US20150339417A1-20151126-P00005
    iεM only until a first pair of matrices in M with different types of Pauli literals is identified using known techniques. Additionally, or alternatively, the classical computer may compare one or more columns in each matrix
    Figure US20150339417A1-20151126-P00005
    iεM until a column is located where two or more matrices in M differ either in the types of Pauli literals contained therein or in the rows in which the Pauli literals are located. Once a column j has been identified in block 606, the classical computer may identify one or more matrices
    Figure US20150339417A1-20151126-P00005
    iεM containing at least one X or Y Pauli literal in column j. Each matrix
    Figure US20150339417A1-20151126-P00005
    iεM is then decomposed into two of its nearest-neighbor stabilizer states at block 610.
  • FIG. 7 illustrates a flow diagram of an exemplary decomposition method 700 for decomposing state 10) represented by a matrix
    Figure US20150339417A1-20151126-P00005
    iεM with an X or Y Pauli literal in its jth column into its two nearest-neighbor stabilizer states defined by
  • ( φ + i l ϕ ) 2 .
  • At block 702, a stabilizer matrix
    Figure US20150339417A1-20151126-P00005
    i with an X or Y literal in its jth column is received. This may be the same matrix identified in block 608 of method 600. At block 704, the classical computer identifies one row Rj within the matrix
    Figure US20150339417A1-20151126-P00005
    i with an X or Y literal in its jth column. It should be noted that the row Rj anticommutes with a Pauli operator Zj, which is a row vector containing a Z literal in its jth column and I literals elsewhere. Since the stabilizer matrix
    Figure US20150339417A1-20151126-P00005
    i will be decomposed into two nearest neighbors of |ψ
    Figure US20150339417A1-20151126-P00001
    by replacing Rj with ±Zj, any additional rows Wj≠Rj in
    Figure US20150339417A1-20151126-P00005
    i containing an X or Y literal in their jth columns may be made to commute with Zj by multiplication by Rj. Thus, at block 706, the classical computer determines whether there is another row Wj≠Rj in matrix
    Figure US20150339417A1-20151126-P00005
    i that anticommutes with Pauli operator Zj. Where such a row is found, the classical computer multiplies the row Wj by the row Rj to make it commute with the Pauli operator Zj. Block 706 and 708 are repeated until no further rows Wj are found, at which point the matrix
    Figure US20150339417A1-20151126-P00005
    i is decomposed into two matrices representing orthogonal nearest-neighbor stabilizer states of |ψ
    Figure US20150339417A1-20151126-P00001
    . At block 710, the classical computer decomposes the matrix
    Figure US20150339417A1-20151126-P00005
    iεM into a first matrix
    Figure US20150339417A1-20151126-P00005
    Φ by replacing the row Rj with Zj. At block 712, the classical computer similarly decomposes the matrix
    Figure US20150339417A1-20151126-P00005
    i into a second matrix
    Figure US20150339417A1-20151126-P00005
    φ by replacing the row Rj with the row −Zj. The steps implemented at blocks 710 and 712 are equivalent to applying ±Zj-measurement projectors to |ψ
    Figure US20150339417A1-20151126-P00001
    . Thus, the first matrix
    Figure US20150339417A1-20151126-P00005
    Φ and the second matrix
    Figure US20150339417A1-20151126-P00005
    φ represent the nearest-neighbor stabilizer states
  • φ = ( I + Z j ) ψ 2
  • and
  • ϕ = ( I - Z j ) ψ 2 .
  • It should be noted that the first and second matrices
    Figure US20150339417A1-20151126-P00005
    Φ and
    Figure US20150339417A1-20151126-P00005
    φ are similar and that
  • ψ | φ = ψ | ϕ = 1 2 ,
  • so the first and second matrices
    Figure US20150339417A1-20151126-P00005
    Φ and
    Figure US20150339417A1-20151126-P00005
    φ are orthogonal. Additionally, the jth qubits in |Φ
    Figure US20150339417A1-20151126-P00001
    and |φ
    Figure US20150339417A1-20151126-P00001
    are deterministic with states |0
    Figure US20150339417A1-20151126-P00001
    and |1
    Figure US20150339417A1-20151126-P00001
    , respectively. Thus, the state |ψ
    Figure US20150339417A1-20151126-P00001
    represented by matrix
    Figure US20150339417A1-20151126-P00005
    i has been decomposed into orthogonal stabilizer states |Φ
    Figure US20150339417A1-20151126-P00001
    and |φ
    Figure US20150339417A1-20151126-P00001
    represented by the first and second matrices
    Figure US20150339417A1-20151126-P00005
    Φ and
    Figure US20150339417A1-20151126-P00005
    φ, respectively. From the discussion above,
  • ( φ + i l ϕ ) 2
  • represents a nearest-neighbor decomposition of |ψ
    Figure US20150339417A1-20151126-P00001
    . To fully represent |ψ
    Figure US20150339417A1-20151126-P00001
    by its decomposition, the global phase factor il is needed.
  • Returning to FIG. 6, at block 612, the global phase factors α and β of the first and second matrices
    Figure US20150339417A1-20151126-P00005
    Φ and
    Figure US20150339417A1-20151126-P00005
    φ, respectively, are determined using the procedure described in the global phase maintenance method 500 as applied to the matrix
    Figure US20150339417A1-20151126-P00005
    i and coefficient ci. At block 614, the classical computer sets the coefficients cΦεC and cφεC of the first and second matrices
    Figure US20150339417A1-20151126-P00005
    Φ and
    Figure US20150339417A1-20151126-P00005
    φ as
  • c φ = γ 2
  • and
  • c φ = β 2 .
  • At block 016, the classical computer replaces the matrix
    Figure US20150339417A1-20151126-P00005
    iεM and ciεC with the first and second matrices
    Figure US20150339417A1-20151126-P00005
    Φ and
    Figure US20150339417A1-20151126-P00005
    φ and their respective coefficients cΦ and cΦ. In some embodiments, the classical computer may determine whether either or both of the first and second matrices
    Figure US20150339417A1-20151126-P00005
    Φ and
    Figure US20150339417A1-20151126-P00005
    φ are equivalent to existing matrices
    Figure US20150339417A1-20151126-P00005
    pεM and
    Figure US20150339417A1-20151126-P00005
    qεM, respectively. If equivalent matrices
    Figure US20150339417A1-20151126-P00005
    p or
    Figure US20150339417A1-20151126-P00005
    q are found, then the classical computer may set the coefficients cp=cp+cφ and cq=cq+cφ. Where either the first matrix
    Figure US20150339417A1-20151126-P00005
    Φ or the second matrix or
    Figure US20150339417A1-20151126-P00005
    φ is not equivalent to any matrix in M, then the first matrix
    Figure US20150339417A1-20151126-P00005
    Φ or the second matrix or
    Figure US20150339417A1-20151126-P00005
    φ is added to M and the respective coefficient cΦ or cφ is added to C. Once all matrices in M are determined at block 604 to be similar (and, therefore, orthogonal), the method 600 terminates.
  • Multiframe Simulation
  • Although a single frame
    Figure US20150339417A1-20151126-P00010
    is sufficient to represent a stabilizer-state superposition |Ψ
    Figure US20150339417A1-20151126-P00001
    , it is possible to tame the exponential growth of states in |Ψ
    Figure US20150339417A1-20151126-P00001
    in some circumstances by admitting a multiframe representation. A multiframe representation reduces the total number of states required to represent |Ψ
    Figure US20150339417A1-20151126-P00001
    by at least half, thus improving the scalability of our technique. For example, in simulations of ripple-carry adders, the number of states in |Ψ
    Figure US20150339417A1-20151126-P00001
    grows linearly when multiframes are used but exponentially when a single frame is used. We derive a multiframe representation directly from a single frame
    Figure US20150339417A1-20151126-P00010
    by examining the set of phase vectors and identifying candidate pairs that can be coalesced into a single phase vector associated with a different stabilizer matrix
    Figure US20150339417A1-20151126-P00005
    . We maintain the stabilizer matrix
    Figure US20150339417A1-20151126-P00005
    of frame
    Figure US20150339417A1-20151126-P00010
    in row-echelon form, so examining the phases corresponding to Zj rows (i.e., rows with a Z literal in the ith column and I literals elsewhere allows us to identify the columns in
    Figure US20150339417A1-20151126-P00005
    that must be modified in order to coalesce candidate pairs.
  • FIG. 8 illustrates an exemplary multiframe representation of a state |Ψ
    Figure US20150339417A1-20151126-P00001
    =|000
    Figure US20150339417A1-20151126-P00001
    +|010
    Figure US20150339417A1-20151126-P00001
    +|100
    Figure US20150339417A1-20151126-P00001
    +|100
    Figure US20150339417A1-20151126-P00001
    . The stabilizer matrix
    Figure US20150339417A1-20151126-P00005
    1 is obtained from stabilizer matrix
    Figure US20150339417A1-20151126-P00005
    by conjugating the first column of
    Figure US20150339417A1-20151126-P00005
    by an H gate. The stabilizer matrix
    Figure US20150339417A1-20151126-P00005
    2 is obtained from stabilizer matrix
    Figure US20150339417A1-20151126-P00005
    by first conjugating the first column of
    Figure US20150339417A1-20151126-P00005
    by an H gate, then conjugating the first and third columns of modified
    Figure US20150339417A1-20151126-P00005
    by a CNOT gate. The output of this coalescing process is a list of frames
    Figure US20150339417A1-20151126-P00010
    1 and
    Figure US20150339417A1-20151126-P00010
    1 that together represent the same superposition as the original frame
    Figure US20150339417A1-20151126-P00010
    . To facilitate quantum measurements on multiframes as the sum of normalized outcome probabilities as discussed above, we require that the stabilizer frames that represent a superposition of stabilizer states remain mutually orthogonal during simulation. Orthogonality may be maintained by selecting only candidate pairs such that the new frames generated from the set of coalesced phase vectors are mutually orthogonal. Generally, a pair of phase vectors
    Figure US20150339417A1-20151126-P00003
    σrj) from the same n-qubit frame
    Figure US20150339417A1-20151126-P00010
    is a candidate pair if and only if (i) σr and σj are equal up to m≦n entries corresponding to Zk rows (where k is the qubit the row stabilizes) and (ii) the amplitudes of the global phases αr and αj corresponding to phase vectors σr and σj, respectively, are equivalent up to a phase, i.e., αr=idαj for some {dε{0, 1, 2, 3}. The stabilizer circuit needed to coalesce a candidate pair
    Figure US20150339417A1-20151126-P00003
    σrj) with m different entries can be defined as C=CNOTv 1 v 2 CNOTv 1 v 3 . . . CNOTv 1 v m RV 1 d Hv 1 where each νkεν={ν1, ν2, . . . , νm} designates the qubit stabilized by the m different entries in the candidate pair
    Figure US20150339417A1-20151126-P00003
    σrj
    Figure US20150339417A1-20151126-P00001
    .
  • To coalesce the candidate pairs of the frame
    Figure US20150339417A1-20151126-P00010
    into a multiframe representation, the phase vectors σi are sorted such that candidate pairs
    Figure US20150339417A1-20151126-P00003
    σrj
    Figure US20150339417A1-20151126-P00001
    are positioned next to each other. Then, the following two steps are repeated until no candidate pairs remain. First, coalesce candidate pairs into a new set of phase vectors σ′. Next, create a new frame
    Figure US20150339417A1-20151126-P00010
    ′ consisting of the phase vectors σ′ and the stabilizer matrix C
    Figure US20150339417A1-20151126-P00005
    C†. The output of this coalescing procedure is a list of n-qubit frame
    Figure US20150339417A1-20151126-P00010
    ={
    Figure US20150339417A1-20151126-P00010
    1,
    Figure US20150339417A1-20151126-P00010
    2, . . . ,
    Figure US20150339417A1-20151126-P00010
    s} that together represent the same superposition as the original input frame
    Figure US20150339417A1-20151126-P00010
    . The runtime of the coalescing procedure is dominated by the sorting of the phase vectors, where each phase-vector comparison takes Θ(n) time. Therefore, the overall run time is O(nk log k) in the worst case for a single frame
    Figure US20150339417A1-20151126-P00010
    with k phase vectors.
  • To simulate stabilizer, TOF, controlled-R(α), and measurement gates using multiframes, the single-frame operations are applied to each frame separately as discussed above. For TOF and controlled-R(α) gates, the following additional steps may be required. First, apply the coalescing procedure to each frame and insert the newly coalesced frames into the list
    Figure US20150339417A1-20151126-P00010
    ′. Second, merge frames in
    Figure US20150339417A1-20151126-P00010
    ′ with equivalent stabilizer matrices
    Figure US20150339417A1-20151126-P00005
    . Then, repeat the first and second steps until no new frames are generated.
  • Parallel Simulation Using Frames
  • Unlike other techniques based on compact representations of quantum states, the frame-based operations described herein lend themselves to multi-threaded implementation for parallel simulation. Only the orthogonalization procedure creates a bottleneck by requiring operations involving multiple frames. The other processes and methods described above may be implemented by one or more processors of a classical computer executing instructions pertaining to one of a number of frames or phase vectors. Thus, the efficiency of processing and memory usage of the classical computer system may be further improved by the following methods.
  • FIG. 9 illustrates a flow diagram of an exemplary parallel simulation method 900. The method 900 begins at block 902, where the initial basis state |ψ
    Figure US20150339417A1-20151126-P00001
    is received by the classical computer. In some embodiments, the initial basis state |ψ
    Figure US20150339417A1-20151126-P00001
    may consist of one or more of a deterministic vector of qubits (e.g., |00 . . . 0
    Figure US20150339417A1-20151126-P00001
    ), a phase vector σ, a stabilizer matrix
    Figure US20150339417A1-20151126-P00005
    , or a frame
    Figure US20150339417A1-20151126-P00010
    . The initial basis state |ψ
    Figure US20150339417A1-20151126-P00001
    is decomposed into an orthogonal superposition of stabilizer states |Ψ
    Figure US20150339417A1-20151126-P00001
    at block 904 to obtain a stabilizer frame
    Figure US20150339417A1-20151126-P00010
    , using the techniques described above. In some embodiments, the stabilizer frame
    Figure US20150339417A1-20151126-P00010
    may also be divided into a list of stabilizer frames
    Figure US20150339417A1-20151126-P00010
    ={
    Figure US20150339417A1-20151126-P00010
    1,
    Figure US20150339417A1-20151126-P00010
    2, . . . ,
    Figure US20150339417A1-20151126-P00010
    s} and stored as input to the iterative simulation process at block 905. The remainder of the method 900 is then implemented by the classical computer to iteratively apply a quantum circuit C including a number of quantum gates U E C to the list of stabilizer frames
    Figure US20150339417A1-20151126-P00010
    ={
    Figure US20150339417A1-20151126-P00010
    1,
    Figure US20150339417A1-20151126-P00010
    2, . . . ,
    Figure US20150339417A1-20151126-P00010
    s} in block 905. At block 906, the classical computer determines whether any gates UεC remain to be simulated. While at least one gate U remains, the classical computer determines whether the gate U is a stabilizer gate (e.g., H, R, or CNOT) at block 908. If gate U is a stabilizer gate, then the gate is applied to all frames in
    Figure US20150339417A1-20151126-P00010
    and the list of stabilizer frames
    Figure US20150339417A1-20151126-P00010
    ={
    Figure US20150339417A1-20151126-P00010
    1,
    Figure US20150339417A1-20151126-P00010
    2, . . . ,
    Figure US20150339417A1-20151126-P00010
    s} is updated at block 910. The updated list of stabilizer frames may then be stored at block 905 and used as the input in the next iteration of the process. If gate U is not a stabilizer gate, then the classical computer determines whether the gate U is a measurement gate at block 912. Where gate U is a measurement gate, the classical computer determines the outcome state at block 912 and may record the measurement results at block 916. In some embodiments, a random number generator or other known methods of sampling a random distribution to determine a discrete outcome from a probability distribution may be used to determine a discrete outcome at block 914, as discussed above. After determining the outcome state at block 914, the results of measurement may be used to update the list of stabilizer frames at block 910.
  • Where the gate U is neither a stabilizer gate nor a measurement gate, the iteration continues by applying the gate U to each frame in the list of stabilizer frames at block 918 using the frame-based simulation techniques discussed above, expanding the set of phase vectors in each frame in
    Figure US20150339417A1-20151126-P00010
    . The global phase may be maintained during simulation of non-stabilizer gates (e.g, Toffoli or controlled-R(α) gates) using the techniques discussed with respect to method 500. Following application of the gate U to each frame, candidate pairs of phase vectors σ in each frame in the list are coalesced into new frames at block 920. Frames with equivalent matrices are then merged to eliminate redundancies at block 922. The classical computer may then determine whether to continue the coalescing procedure at block 924 by determining whether any candidate pairs remain, as discussed above. When all frames in
    Figure US20150339417A1-20151126-P00010
    have been coalesced, the classical computer next determines whether the frames in
    Figure US20150339417A1-20151126-P00010
    are orthogonal at block 926. Orthogonality of the stabilizer matrices
    Figure US20150339417A1-20151126-P00005
    iεM corresponding to the frames
    Figure US20150339417A1-20151126-P00010
    i in
    Figure US20150339417A1-20151126-P00010
    may be determined using known methods (e.g., inner product computation). In some embodiments, the canonical structure of the stabilizer matrices in
    Figure US20150339417A1-20151126-P00005
    may be used to reduce the number of matrix comparisons required. Where the set P of Pauli operators that form the intersection of rows across matrices in M is non-empty, the orthogonality of any two matrices in M may be determined by checking whether the phase vector entries corresponding to the set P of Pauli operators that form the intersection of rows across two matrices are different. Where the frames are determined not to be orthogonal, they can be made orthogonal using the orthogonalization method 600 described above. Once all frames are orthogonal, the list of stabilizer frames
    Figure US20150339417A1-20151126-P00010
    ={
    Figure US20150339417A1-20151126-P00010
    1,
    Figure US20150339417A1-20151126-P00010
    2, . . . ,
    Figure US20150339417A1-20151126-P00010
    s} is updated at block 910. When no gates remain to be applied at block 906, the method 900 terminates.
  • Implementation Using a Classical Computer
  • The preceding methods are designed to be implemented by a classical computer to simulate the operation of a quantum computer, which is advantageous in the design and testing of quantum circuits and algorithms. The matrix, vector, and logic operations discussed herein may be performed on a classical computer, including specialized computing systems or commercially available personal computers, laptop computers, servers, or mainframes. The operations performed by the classical computer may also be performed by a program or programs implemented on one or more computers. In some embodiments, some or all of the operations may be performed by more than one computer communicatively connected through a network.
  • FIG. 10 illustrates an exemplary block diagram of a computer system 1000 on which the methods and techniques described herein may be implemented in accordance with the described embodiments. The computer system 1000 includes a computing device in the form of a computer 1010. Components of the computer 1010 may include, but are not limited to, a processing unit 1020, a system memory 1030, and a system bus 1021 that couples various system components including the system memory to the processing unit 1020. The system bus 1021 may be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures. By way of example, and not limitation, such architectures include the Industry Standard Architecture (ISA) bus, Micro Channel Architecture (MCA) bus, Enhanced ISA (EISA) bus, Video Electronics Standards Association (VESA) local bus, and Peripheral Component Interconnect (PCI) bus (also known as Mezzanine bus).
  • Computer 1010 typically includes a variety of computer readable media. Computer readable media can be any available media that can be accessed by computer 1010 and includes both transitory and non-transitory media, and both removable and non-removable media. By way of example, and not limitation, computer readable media may include non-transitory computer storage media. Computer storage media includes volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules, or other data. Non-transitory computer storage media includes, but is not limited to, RAM, ROM, EEPROM, FLASH memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can accessed by computer 1010.
  • The system memory 1030 includes computer storage media in the form of volatile and/or nonvolatile memory such as read only memory (ROM) 1031 and random access memory (RAM) 1032. A basic input/output system 1033 (BIOS), containing the basic routines that help to transfer information between elements within computer 1010, such as during start-up, is typically stored in ROM 1031. RAM 1032 typically contains data and/or program modules that are immediately accessible to and/or presently being operated on by processing unit 1020. By way of example, and not limitation, FIG. 10 illustrates operating system 1034, application programs 1035, other program modules 1036, and program data 1037.
  • The computer 1010 may also include other removable or non-removable, volatile or nonvolatile computer storage media. By way of example only, FIG. 10 illustrates a hard disk drive 1041 that reads from or writes to non-removable, nonvolatile magnetic media, a magnetic disk drive 1051 that reads from or writes to a removable, nonvolatile magnetic disk 1052, and an optical disk drive 1055 that reads from or writes to a removable, nonvolatile optical disk 1056 such as a CD ROM or other optical media. Other removable or non-removable, volatile or nonvolatile computer storage media that can be used in the exemplary operating environment include, but are not limited to, magnetic tape cassettes, flash memory cards, digital versatile disks, digital video tape, solid state RAM, solid state ROM, and the like. The hard disk drive 1041 is typically connected to the system bus 1021 through a non-removable memory interface such as interface 1040, and magnetic disk drive 1051 and optical disk drive 1055 are typically connected to the system bus 1021 by a removable memory interface, such as interface 1050.
  • The drives and their associated computer storage media discussed above and illustrated in FIG. 10 provide storage of computer readable instructions, data structures, program modules and other data for the computer 1010. In FIG. 10, for example, hard disk drive 1041 is illustrated as storing operating system 1044, application programs 1045, other program modules 1046, and program data 1047. Note that these components can either be the same as or different from operating system 1034, application programs 1035, other program modules 1036, and program data 1037. Operating system 1044, application programs 1045, other program modules 1046, and program data 1047 are given different numbers here to illustrate that, at a minimum, they are different copies. A user may enter commands and information into the computer 1010 through input devices such as a keyboard 1062 and cursor control device 1061, commonly referred to as a mouse, trackball or touch pad. A monitor 1091 or other type of display device is also connected to the system bus 1021 via an interface, such as a graphics controller 1090. In addition to the monitor, computers may also include other peripheral output devices such as printer 1096, which may be connected through an output peripheral interface 1095.
  • The computer 1010 may operate in a networked environment using logical connections to one or more remote computers, such as a remote computer 1080. The remote computer 1080 may be a personal computer, a server, a router, a network PC, a peer device or other common network node, and typically includes many or all of the elements described above relative to the computer 1010, although only a memory storage device 1081 has been illustrated in FIG. 10. The logical connections depicted in FIG. 10 include a local area network (LAN) 1071 and a wide area network (WAN) 1073, but may also include other networks.
  • When used in a LAN networking environment, the computer 1010 is connected to the LAN 1071 through a network interface or adapter 1070. When used in a WAN networking environment, the computer 1010 typically includes a modem 1072 or other means for establishing communications over the WAN 1073, such as the Internet. The modem 1072, which may be internal or external, may be connected to the system bus 1021 via the input interface 1060, or other appropriate mechanism. In a networked environment, program modules depicted relative to the computer 1010, or portions thereof, may be stored in the remote memory storage device 1081. By way of example, and not limitation, FIG. 10 illustrates remote application programs 1085 as residing on memory device 1081.
  • The communications connections 1070, 1072 allow the device to communicate with other devices. The communications connections 1070, 1072 are an example of communication media. The communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media. A “modulated data signal” may be a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media.
  • Throughout this specification, plural instances may implement components, operations, or structures described as a single instance. Although individual operations of one or more methods are illustrated and described as separate operations, one or more of the individual operations may be performed concurrently, and may, where appropriate, be performed in an order other than the order illustrated. Structures and functionality presented as separate components in example configurations may be implemented as a combined structure or component. Similarly, structures and functionality presented as a single component may be implemented as separate components. These and other variations, modifications, additions, and improvements fall within the scope of the subject matter herein.
  • The various operations of example methods described herein may be performed, at least partially, by one or more processors that are temporarily configured (e.g., by software) or permanently configured to perform the relevant operations. Whether temporarily or permanently configured, such processors may constitute processor-implemented modules that operate to perform one or more operations or functions. The modules referred to herein may, in some example embodiments, comprise processor-implemented modules. Although the term “processor” may include central processing units (CPUs), it may also include equivalent general or special-purpose circuits, such as field programmable gate arrays (FPGAs) or graphics processing units (GPUs).
  • Similarly, the methods or routines described herein may be at least partially processor-implemented. For example, at least some of the operations of a method may be performed by one or more processors or processor-implemented hardware modules. The performance of certain of the operations may be distributed among the one or more processors, not only residing within a single machine, but deployed across a number of machines. In some example embodiments, the processor or processors may be located in a single location, while in other embodiments the processors may be distributed across a number of locations.
  • Unless specifically stated otherwise, discussions herein using words such as “processing,” “computing,” “calculating,” “determining,” “presenting,” “displaying,” or the like may refer to actions or processes of a machine (e.g., a computer) that manipulates or transforms data represented as physical (e.g., electronic, magnetic, or optical) quantities within one or more memories (e.g., volatile memory, non-volatile memory, or a combination thereof), registers, or other machine components that receive, store, transmit, or display information.
  • As used herein any reference to “one embodiment” or “an embodiment” means that a particular element, feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment. The appearances of the phrase “in one embodiment” in various places in the specification are not necessarily all referring to the same embodiment.
  • Some embodiments may be described using the expression “coupled” and “connected” along with their derivatives. For example, some embodiments may be described using the term “coupled” to indicate that two or more elements are in direct physical or electrical contact. The term “coupled,” however, may also mean that two or more elements are not in direct contact with each other, but yet still co-operate or interact with each other. The embodiments are not limited in this context.
  • As used herein, the terms “comprises,” “comprising,” “includes,” “including,” “has,” “having” or any other variation thereof, are intended to cover a non-exclusive inclusion. For example, a process, method, article, or apparatus that comprises a list of elements is not necessarily limited to only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Further, unless expressly stated to the contrary, “or” refers to an inclusive or and not to an exclusive or. For example, a condition A or B is satisfied by any one of the following: A is true (or present) and B is false (or not present), A is false (or not present) and B is true (or present), and both A and B are true (or present).
  • In addition, use of the “a” or “an” are employed to describe elements and components of the embodiments herein. This is done merely for convenience and to give a general sense of the description. This description, and the claims that follow, should be read to include one or at least one and the singular also includes the plural unless it is obvious that it is meant otherwise.
  • This detailed description is to be construed as exemplary only and does not describe every possible embodiment, as describing every possible embodiment would be impractical, if not impossible. One could implement numerous alternate embodiments, using either current technology or technology developed after the filing date of this application.
  • Upon reading this disclosure, those of skill in the art will appreciate still additional alternative structural and functional designs for system and a method for assigning mobile device data to a vehicle through the disclosed principles herein. Thus, while particular embodiments and applications have been illustrated and described, it is to be understood that the disclosed embodiments are not limited to the precise construction and components disclosed herein. Various modifications, changes and variations, which will be apparent to those skilled in the art, may be made in the arrangement, operation and details of the method and apparatus disclosed herein without departing from the spirit and scope defined in the appended claims.
  • The particular features, structures, or characteristics of any specific embodiment may be combined in any suitable manner and in any suitable combination with one or more other embodiments, including the use of selected features without corresponding use of other features. In addition, many modifications may be made to adapt a particular application, situation or material to the essential scope and spirit of the present invention. It is to be understood that other variations and modifications of the embodiments of the present invention described and illustrated herein are possible in light of the teachings herein and are to be considered part of the spirit and scope of the present invention. By way of example, and not limitation, the present disclosure contemplates at least the following aspects:
  • 1. A method for maintaining global phases to improve processing efficiency or reduce memory usage during simulation of at least one quantum gate of a quantum computer using a classical computer, the method comprising: receiving, at a processor of the classical computer, a quantum state that is a superposition of a plurality of stabilizer states, wherein the quantum state is represented by a stabilizer matrix associated with the plurality of stabilizer states, a plurality of phase vectors representing each of the stabilizer states, and an amplitude vector, wherein each entry in the amplitude vector represents a global phase associated with one of the plurality of phase vectors; receiving, at a processor of the classical computer, a matrix representation of the at least one quantum gate; and determining, by a processor of the classical computer, the effect of the at least one quantum gate on the quantum state in a plurality of iterations, each iteration including: applying, by a processor of the classical computer, one of the plurality of phase vectors to the stabilizer matrix; determining, by a processor of the classical computer, an input basis state associated with the one phase vector applied to the stabilizer matrix; determining, by a processor of the classical computer, an input non-zero amplitude associated with the input basis state; determining, by a processor of the classical computer, a first output non-zero amplitude associated with an output basis state by applying the matrix representation of the at least one quantum gate to the input non-zero amplitude and the input basis state; determining, by a processor of the classical computer, a second output non-zero amplitude of the output basis state using the stabilizer matrix and the matrix representation of the at least one quantum gate; and adjusting, by a processor of the classical computer, the entry in the amplitude vector associated with the one phase vector applied to the stabilizer matrix, wherein the entry is adjusted proportionally to the first output non-zero amplitude and the second output non-zero amplitude.
  • 2. The method according to aspect 1, wherein at least one quantum gate of the quantum computer is not a stabilizer gate.
  • 3. The method according to either of aspect 1 or aspect 2, wherein a set of the quantum gates form a universal set for quantum computation.
  • 4. The method according to any one of the preceding aspects, wherein the stabilizer matrix is in canonical form.
  • 5. The method according to any one of the preceding aspects, wherein: receiving the quantum state that is a superposition of the plurality of stabilizer states further comprises compressing, by a processor of the classical computer, the quantum state into a stabilizer frame representing the quantum state, wherein the stabilizer frame includes the stabilizer matrix, the plurality of phase vectors, and the amplitude vector, and the method further comprises determining, by a processor of the classical computer, the effect of a plurality of the quantum gates on the quantum state using the stabilizer frame without uncompressing the stabilizer frame for measurement until the plurality of quantum gates have been applied to the quantum state.
  • 6. A tangible, non-transitory computer-readable medium storing instructions for maintaining global phases to improve processing efficiency or reduce memory usage during simulation of at least one quantum gate of a quantum computer using a classical computer that, when executed by one or more processors of the classical computer, cause the classical computer to: receive a quantum state that is a superposition of a plurality of stabilizer states, wherein the quantum state is represented by a stabilizer matrix associated with the plurality of stabilizer states, a plurality of phase vectors representing each of the stabilizer states, and an amplitude vector, wherein each entry in the amplitude vector represents a global phase associated with one of the plurality of phase vectors; receive a matrix representation of the at least one quantum gate; and determine the effect of the at least one quantum gate on the quantum state in a plurality of iterations, each iteration including instructions to: apply one of the plurality of phase vectors to the stabilizer matrix; determine an input basis state associated with the one phase vector applied to the stabilizer matrix; determine an input non-zero amplitude associated with the input basis state; determine a first output non-zero amplitude associated with an output basis state by applying the matrix representation of the at least one quantum gate to the input non-zero amplitude and the input basis state; determine a second output non-zero amplitude of the output basis state using the stabilizer matrix and the matrix representation of the at least one quantum gate; and adjust the entry in the amplitude vector associated with the one phase vector applied to the stabilizer matrix, wherein the entry is adjusted proportionally to the first output non-zero amplitude and the second output non-zero amplitude.
  • 7. The tangible, non-transitory computer-readable medium according to aspect 6, wherein at least one quantum gate of the quantum computer is not a stabilizer gate.
  • 8. The tangible, non-transitory computer-readable medium according to either of aspect 6 or aspect 7, wherein the stabilizer matrix is in reduced row-echelon form.
  • 9. The tangible, non-transitory computer-readable medium according to any one of aspects 6-8, wherein the executable instructions that when executed by the one or more processors cause the classical computer to receive the quantum state that is a superposition of the plurality of stabilizer states further comprise executable instructions that when executed by the one or more processors cause the classical computer to compress the quantum state into a stabilizer frame representing the quantum state, wherein the stabilizer frame includes the stabilizer matrix, the plurality of phase vectors, and the amplitude vector; and further comprising executable instructions that when executed by the one or more processors cause the classical computer to determine the effect of a plurality of the quantum gates on the quantum state using the stabilizer frame without uncompressing the stabilizer frame for measurement until the plurality of quantum gates have been applied to the quantum state.
  • 10. The tangible, non-transitory computer-readable medium according to any one of aspects 6-9, wherein the stabilizer frame further comprises a linear combination of a plurality of mutually orthogonal stabilizer frames.
  • 11. A method for orthogonalization of a linear combination of stabilizer states to improve processing efficiency or reduce memory usage during simulation of a quantum circuit using a classical computer, the method comprising: receiving, at a processor of the classical computer, a linear combination of stabilizer states, wherein the linear combination includes a plurality of stabilizer states represented by canonical stabilizer matrices and a plurality of coefficients associated with the plurality of stabilizer states; and orthogonalizing, by a processor of the classical computer, the linear combination of stabilizer states in each of one or more iterations, including: identifying, by a processor of the classical computer, a column in which at least two of the canonical stabilizer matrices contain different types of Pauli literals; decomposing, by a processor of the classical computer, each of the stabilizer matrices that contain an X or Y Pauli literal in the identified column into a first matrix and a second matrix, wherein the first matrix and the second matrix represent stabilizer states that are nearest neighbors of the stabilizer state associated with the decomposed stabilizer matrix; determining, by a processor of the classical computer, a first global phase factor of the first matrix and a second global phase factor of the second matrix associated with each of the decomposed stabilizer matrices; and replacing, by a processor of the classical computer, each of the decomposed stabilizer matrices and their associated coefficients with (i) the first matrix and a first coefficient proportionate to the first global phase factor associated with the decomposed stabilizer matrix and (ii) the second matrix and a second coefficient proportionate to the second global phase factor associated with the decomposed stabilizer matrix.
  • 12. The method according to aspect 11, wherein: at least one of the quantum gates is a measurement gate, and determining the effect of the measurement gate comprises determining, by a processor of the classical computer, an outcome probability of a state using normalized outcome probabilities of the state in each of the frames.
  • 13. The method according to either of aspect 11 or aspect 12, wherein: at least one of the quantum gates is a measurement gate, and determining the effect of the measurement gate comprises determining, using a processor of the classical computer, an outcome probability of a state using normalized outcome probabilities of the state in each of the frames.
  • 14. The method according to any one of aspects 11-13, wherein the method is implemented in parallel on at least two groups, with each of the groups containing at least one of the stabilizer frames.
  • 15. The method according to any one of aspects 11-14, wherein at least one of the quantum gates is not a stabilizer gate.
  • 16. A tangible, non-transitory computer-readable medium storing instructions for orthogonalization of a linear combination of stabilizer states to improve processing efficiency or reduce memory usage during simulation of a quantum circuit using a classical computer that, when executed by one or more processors of the classical computer, cause the classical computer to: receive a linear combination of stabilizer states, wherein the linear combination includes a plurality of stabilizer states represented by canonical stabilizer matrices and a plurality of coefficients associated with the plurality of stabilizer states; and orthogonalize the linear combination of stabilizer states in each of one or more iterations, including instructions to: identify a column in which at least two of the canonical stabilizer matrices contain different types of Pauli literals; decompose each of the stabilizer matrices that contain an X or Y Pauli literal in the identified column into a first matrix and a second matrix, wherein the first matrix and the second matrix represent stabilizer states that are nearest neighbors of the stabilizer state associated with the decomposed stabilizer matrix; determine a first global phase factor of the first matrix and a second global phase factor of the second matrix associated with each of the decomposed stabilizer matrices; and replace each of the decomposed stabilizer matrices and their associated coefficients with (i) the first matrix and a first coefficient proportionate to the first global phase factor associated with the decomposed stabilizer matrix and (ii) the second matrix and a second coefficient proportionate to the second global phase factor associated with the decomposed stabilizer matrix.
  • 17. The tangible, non-transitory computer-readable medium according to aspect 16, wherein the instructions to decompose each of the stabilizer matrices further comprise instructions to (i) identify a row in the stabilizer matrix that contains an X or Y Pauli literal in the identified column, (ii) cause every other row in the stabilizer matrix that commutes with the identified row to anticommute with the identified row, (iii) create the first matrix from the revised stabilizer matrix by replacing the row with a first new row containing a positive Z Pauli literal in the identified column, and (iv) create the second matrix from the revised stabilizer matrix by replacing the row with a second new row containing a negative Z Pauli literal in the identified column.
  • 18. The tangible, non-transitory computer-readable medium according to either of aspect 16 or aspect 17, wherein the linear combination of stabilizer states comprises a linear combination of stabilizer frames representing a quantum state, and further comprising executable instructions that when executed by the one or more processors cause the classical computer to determine the effect of at least one quantum gate on the linear combination of stabilizer states by applying a matrix representation of the quantum gate to each of the stabilizer frames.
  • 19. The tangible, non-transitory computer-readable medium according to any one of aspects 16-18, wherein at least one of the quantum gates is a measurement gate, and the executable instructions that when executed by the one or more processors cause the classical computer to determine the effect of at least one quantum gate on the linear combination of stabilizer states further comprise executable instructions that when executed by the one or more processors cause the classical computer to determine an outcome probability of a state using normalized outcome probabilities of the state in each of the frames.
  • 20. The tangible, non-transitory computer-readable medium according to any one of aspects 16-19, wherein at least one of the quantum gates is not a stabilizer gate.

Claims (20)

What is claimed is:
1. A method for maintaining global phases during simulation of at least one quantum gate of a quantum computer using a classical computer, the method comprising:
receiving, at a processor of the classical computer, a quantum state that is a superposition of a plurality of stabilizer states, wherein the quantum state is represented by a stabilizer matrix associated with the plurality of stabilizer states, a plurality of phase vectors representing each of the stabilizer states, and an amplitude vector, wherein each entry in the amplitude vector represents a global phase associated with one of the plurality of phase vectors;
receiving, at a processor of the classical computer, a matrix representation of the at least one quantum gate; and
determining, by a processor of the classical computer, the effect of the at least one quantum gate on the quantum state in a plurality of iterations, each iteration including:
applying, by a processor of the classical computer, one of the plurality of phase vectors to the stabilizer matrix;
determining, by a processor of the classical computer, an input basis state associated with the one phase vector applied to the stabilizer matrix;
determining, by a processor of the classical computer, an input non-zero amplitude associated with the input basis state;
determining, by a processor of the classical computer, a first output non-zero amplitude associated with an output basis state by applying the matrix representation of the at least one quantum gate to the input non-zero amplitude and the input basis state;
determining, by a processor of the classical computer, a second output non-zero amplitude of the output basis state using the stabilizer matrix and the matrix representation of the at least one quantum gate; and
adjusting, by a processor of the classical computer, the entry in the amplitude vector associated with the one phase vector applied to the stabilizer matrix, wherein the entry is adjusted proportionally to the first output non-zero amplitude and the second output non-zero amplitude.
2. The method of claim 1, wherein at least one quantum gate of the quantum computer is not a stabilizer gate.
3. The method of claim 1, wherein a set of the quantum gates form a universal set for quantum computation.
4. The method of claim 1, wherein the stabilizer matrix is in canonical form.
5. The method of claim 1, wherein:
receiving the quantum state that is a superposition of the plurality of stabilizer states further comprises compressing, by a processor of the classical computer, the quantum state into a stabilizer frame representing the quantum state, wherein the stabilizer frame includes the stabilizer matrix, the plurality of phase vectors, and the amplitude vector, and
the method further comprises determining, by a processor of the classical computer, the effect of a plurality of the quantum gates on the quantum state using the stabilizer frame without uncompressing the stabilizer frame for measurement until the plurality of quantum gates have been applied to the quantum state.
6. A tangible, non-transitory computer-readable medium storing instructions for maintaining global phases during simulation of at least one quantum gate of a quantum computer using a classical computer that, when executed by one or more processors of the classical computer, cause the classical computer to:
receive a quantum state that is a superposition of a plurality of stabilizer states, wherein the quantum state is represented by a stabilizer matrix associated with the plurality of stabilizer states, a plurality of phase vectors representing each of the stabilizer states, and an amplitude vector, wherein each entry in the amplitude vector represents a global phase associated with one of the plurality of phase vectors;
receive a matrix representation of the at least one quantum gate; and
determine the effect of the at least one quantum gate on the quantum state in a plurality of iterations, each iteration including instructions to:
apply one of the plurality of phase vectors to the stabilizer matrix;
determine an input basis state associated with the one phase vector applied to the stabilizer matrix;
determine an input non-zero amplitude associated with the input basis state;
determine a first output non-zero amplitude associated with an output basis state by applying the matrix representation of the at least one quantum gate to the input non-zero amplitude and the input basis state;
determine a second output non-zero amplitude of the output basis state using the stabilizer matrix and the matrix representation of the at least one quantum gate; and
adjust the entry in the amplitude vector associated with the one phase vector applied to the stabilizer matrix, wherein the entry is adjusted proportionally to the first output non-zero amplitude and the second output non-zero amplitude.
7. The tangible, non-transitory computer-readable medium of claim 6, wherein at least one quantum gate of the quantum computer is not a stabilizer gate.
8. The tangible, non-transitory computer-readable medium of claim 6, wherein the stabilizer matrix is in reduced row-echelon form.
9. The tangible, non-transitory computer-readable medium of claim 6, wherein the executable instructions that when executed by the one or more processors cause the classical computer to receive the quantum state that is a superposition of the plurality of stabilizer states further comprise executable instructions that when executed by the one or more processors cause the classical computer to compress the quantum state into a stabilizer frame representing the quantum state, wherein the stabilizer frame includes the stabilizer matrix, the plurality of phase vectors, and the amplitude vector; and
further comprising executable instructions that when executed by the one or more processors cause the classical computer to determine the effect of a plurality of the quantum gates on the quantum state using the stabilizer frame without uncompressing the stabilizer frame for measurement until the plurality of quantum gates have been applied to the quantum state.
10. The tangible, non-transitory computer-readable medium of claim 9, wherein the stabilizer frame further comprises a linear combination of a plurality of mutually orthogonal stabilizer frames.
11. A method for orthogonalization of a linear combination of stabilizer states during simulation of a quantum circuit using a classical computer, the method comprising:
receiving, at a processor of the classical computer, a linear combination of stabilizer states, wherein the linear combination includes a plurality of stabilizer states represented by canonical stabilizer matrices and a plurality of coefficients associated with the plurality of stabilizer states; and
orthogonalizing, by a processor of the classical computer, the linear combination of stabilizer states in each of one or more iterations, including:
identifying, by a processor of the classical computer, a column in which at least two of the canonical stabilizer matrices contain different types of Pauli literals;
decomposing, by a processor of the classical computer, each of the stabilizer matrices that contain an X or Y Pauli literal in the identified column into a first matrix and a second matrix, wherein the first matrix and the second matrix represent stabilizer states that are nearest neighbors of the stabilizer state associated with the decomposed stabilizer matrix;
determining, by a processor of the classical computer, a first global phase factor of the first matrix and a second global phase factor of the second matrix associated with each of the decomposed stabilizer matrices; and
replacing, by a processor of the classical computer, each of the decomposed stabilizer matrices and their associated coefficients with (i) the first matrix and a first coefficient proportionate to the first global phase factor associated with the decomposed stabilizer matrix and (ii) the second matrix and a second coefficient proportionate to the second global phase factor associated with the decomposed stabilizer matrix.
12. The method of claim 11, wherein:
the linear combination of stabilizer states comprises a linear combination of stabilizer frames representing a quantum state, and
the method further comprises determining, by a processor of the classical computer, the effect of at least one quantum gate on the linear combination of stabilizer states by applying a matrix representation of the quantum gate to each of the stabilizer frames.
13. The method of claim 12, wherein:
at least one of the quantum gates is a measurement gate, and
determining the effect of the measurement gate comprises determining, by a processor of the classical computer, an outcome probability of a state using normalized outcome probabilities of the state in each of the frames.
14. The method of claim 12, wherein the method is implemented in parallel on at least two groups, with each of the groups containing at least one of the stabilizer frames.
15. The method of claim 12, wherein at least one of the quantum gates is not a stabilizer gate.
16. A tangible, non-transitory computer-readable medium storing instructions for orthogonalization of a linear combination of stabilizer states during simulation of a quantum circuit using a classical computer that, when executed by one or more processors of the classical computer, cause the classical computer to:
receive a linear combination of stabilizer states, wherein the linear combination includes a plurality of stabilizer states represented by canonical stabilizer matrices and a plurality of coefficients associated with the plurality of stabilizer states; and
orthogonalize the linear combination of stabilizer states in each of one or more iterations, including instructions to:
identify a column in which at least two of the canonical stabilizer matrices contain different types of Pauli literals;
decompose each of the stabilizer matrices that contain an X or Y Pauli literal in the identified column into a first matrix and a second matrix, wherein the first matrix and the second matrix represent stabilizer states that are nearest neighbors of the stabilizer state associated with the decomposed stabilizer matrix;
determine a first global phase factor of the first matrix and a second global phase factor of the second matrix associated with each of the decomposed stabilizer matrices; and
replace each of the decomposed stabilizer matrices and their associated coefficients with (i) the first matrix and a first coefficient proportionate to the first global phase factor associated with the decomposed stabilizer matrix and (ii) the second matrix and a second coefficient proportionate to the second global phase factor associated with the decomposed stabilizer matrix.
17. The tangible, non-transitory computer-readable medium of claim 16, wherein the instructions to decompose each of the stabilizer matrices further comprise instructions to (i) identify a row in the stabilizer matrix that contains an X or Y Pauli literal in the identified column, (ii) cause every other row in the stabilizer matrix that commutes with the identified row to anticommute with the identified row, (iii) create the first matrix from the revised stabilizer matrix by replacing the row with a first new row containing a positive Z Pauli literal in the identified column, and (iv) create the second matrix from the revised stabilizer matrix by replacing the row with a second new row containing a negative Z Pauli literal in the identified column.
18. The tangible, non-transitory computer-readable medium of claim 16, wherein the linear combination of stabilizer states comprises a linear combination of stabilizer frames representing a quantum state, and
further comprising executable instructions that when executed by the one or more processors cause the classical computer to determine the effect of at least one quantum gate on the linear combination of stabilizer states by applying a matrix representation of the quantum gate to each of the stabilizer frames.
19. The tangible, non-transitory computer-readable medium of claim 18, wherein at least one of the quantum gates is a measurement gate, and
the executable instructions that when executed by the one or more processors cause the classical computer to determine the effect of at least one quantum gate on the linear combination of stabilizer states further comprise executable instructions that when executed by the one or more processors cause the classical computer to determine an outcome probability of a state using normalized outcome probabilities of the state in each of the frames.
20. The tangible, non-transitory computer-readable medium of claim 18, wherein at least one of the quantum gates is not a stabilizer gate.
US14/719,884 2014-05-23 2015-05-22 Methods for general stabilizer-based quantum computing simulation Active US9477796B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US14/719,884 US9477796B2 (en) 2014-05-23 2015-05-22 Methods for general stabilizer-based quantum computing simulation

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201462002338P 2014-05-23 2014-05-23
US14/719,884 US9477796B2 (en) 2014-05-23 2015-05-22 Methods for general stabilizer-based quantum computing simulation

Publications (2)

Publication Number Publication Date
US20150339417A1 true US20150339417A1 (en) 2015-11-26
US9477796B2 US9477796B2 (en) 2016-10-25

Family

ID=54554829

Family Applications (1)

Application Number Title Priority Date Filing Date
US14/719,884 Active US9477796B2 (en) 2014-05-23 2015-05-22 Methods for general stabilizer-based quantum computing simulation

Country Status (2)

Country Link
US (1) US9477796B2 (en)
WO (1) WO2015179753A1 (en)

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9665829B1 (en) 2016-06-28 2017-05-30 International Business Machines Corporation Optimizing testing of a partially symmetric quantum-logic circuit by using wreath products and invariance groups
WO2017217577A1 (en) * 2016-06-13 2017-12-21 고려대학교 산학협력단 Method and apparatus for generating quantum error correction code using graph state
US20180046933A1 (en) * 2016-08-11 2018-02-15 Board Of Regents, The University Of Texas System System and method for controlling a quantum computing emulation device
CN108416445A (en) * 2018-03-13 2018-08-17 广西师范大学 A kind of design method that the storage of quantum real signal is realized with quantum wire
US10082539B2 (en) 2016-06-28 2018-09-25 International Business Machines Corporation Using direct sums and invariance groups to test partially symmetric quantum-logic circuits
US20180293758A1 (en) * 2017-04-08 2018-10-11 Intel Corporation Low rank matrix compression
CN111582491A (en) * 2020-04-30 2020-08-25 合肥本源量子计算科技有限责任公司 Construction method and device of quantum line
US10901896B2 (en) * 2018-11-27 2021-01-26 International Business Machines Corporation Cached result use through quantum gate rewrite
US10922278B2 (en) * 2016-07-22 2021-02-16 Albert Haag Systems and methods for database compression and evaluation
US11100417B2 (en) * 2018-05-08 2021-08-24 International Business Machines Corporation Simulating quantum circuits on a computer using hierarchical storage
US11170137B1 (en) * 2017-11-15 2021-11-09 Amazon Technologies, Inc. Cloud-based simulation of quantum computing resources
US11250190B2 (en) 2017-09-22 2022-02-15 International Business Machines Corporation Simulating quantum circuits
US11314908B2 (en) * 2019-05-29 2022-04-26 International Business Machines Corporation Providing reusable quantum circuit components as a curated service
US11605033B2 (en) 2019-11-27 2023-03-14 Amazon Technologies, Inc. Quantum computing task translation supporting multiple quantum computing technologies
US11605016B2 (en) 2019-11-27 2023-03-14 Amazon Technologies, Inc. Quantum computing service supporting local execution of hybrid algorithms
US11704715B2 (en) 2019-11-27 2023-07-18 Amazon Technologies, Inc. Quantum computing service supporting multiple quantum computing technologies
US11907092B2 (en) 2021-11-12 2024-02-20 Amazon Technologies, Inc. Quantum computing monitoring system

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106100642B (en) * 2016-06-07 2019-12-31 西北大学 Image state-based loop chain structure quantum stabilizer subcode construction method
EP3837647A4 (en) 2018-08-17 2022-05-25 Zapata Computing, Inc. Hybrid quantum-classical computer system and method for performing function inversion
US10719323B2 (en) * 2018-09-27 2020-07-21 Intel Corporation Systems and methods for performing matrix compress and decompress instructions
US11586966B2 (en) 2018-09-27 2023-02-21 International Business Machines Corporation Development and analysis of quantum computing programs
WO2020142122A2 (en) * 2018-10-05 2020-07-09 Zapata Computing, Inc. Hybrid quantum-classical computer for variational coupled cluster method
FR3090984B1 (en) * 2018-12-20 2021-04-30 Bull Sas Analysis method of a simulation of the execution of a quantum circuit
US11488049B2 (en) 2019-04-09 2022-11-01 Zapata Computing, Inc. Hybrid quantum-classical computer system and method for optimization
US11537928B2 (en) 2019-05-03 2022-12-27 Zapata Computing, Inc. Quantum-classical system and method for matrix computations
US11700020B2 (en) * 2019-10-24 2023-07-11 Microsoft Technology Licensing, Llc Fault tolerant quantum error correction with linear codes
CN113222151B (en) * 2020-01-21 2023-09-05 本源量子计算科技(合肥)股份有限公司 Quantum state transformation method and device
US11544614B2 (en) 2020-06-05 2023-01-03 International Business Machines Corporation Sampling of an operator in a quantum system
CN112073221B (en) * 2020-08-14 2022-08-16 合肥本源量子计算科技有限责任公司 Method and device for realizing network node sequencing
CN112132614B (en) * 2020-09-18 2024-02-09 本源量子计算科技(合肥)股份有限公司 Method and device for preference prediction demonstration by quantum circuit
CA3212467A1 (en) 2021-03-23 2022-09-29 Guoming WANG Classically-boosted quantum optimization

Citations (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5768297A (en) * 1995-10-26 1998-06-16 Lucent Technologies Inc. Method for reducing decoherence in quantum computer memory
US5787236A (en) * 1996-01-11 1998-07-28 Tucci; Robert R. Graphical computer method for analyzing quantum systems
US6081882A (en) * 1998-04-09 2000-06-27 Silicon Graphics, Inc. Quantum acceleration of conventional non-quantum computers
US6128764A (en) * 1997-02-06 2000-10-03 California Institute Of Technology Quantum error-correcting codes and devices
US20030005010A1 (en) * 2001-05-29 2003-01-02 Richard Cleve Efficient quantum computing operations
US20030093451A1 (en) * 2001-09-21 2003-05-15 International Business Machines Corporation Reversible arithmetic coding for quantum data compression
US6578018B1 (en) * 1999-07-27 2003-06-10 Yamaha Hatsudoki Kabushiki Kaisha System and method for control using quantum soft computing
US20030169041A1 (en) * 2001-12-22 2003-09-11 D-Wave Systems, Inc. Quantum computing integrated development environment
US20040238813A1 (en) * 2003-03-03 2004-12-02 D-Wave Systems, Inc. Dressed qubits
US20060224547A1 (en) * 2005-03-24 2006-10-05 Ulyanov Sergey V Efficient simulation system of quantum algorithm gates on classical computer based on fast algorithm
US20120069414A1 (en) * 2010-09-21 2012-03-22 Kabushiki Kaisha Toshiba Operating method for stimulated raman adiabatic passage and operating method for phase gate
US20140118023A1 (en) * 2012-10-26 2014-05-01 Bryan K. Eastin Efficient resource state distillation
US20140280404A1 (en) * 2013-03-14 2014-09-18 Microsoft Corporation Method and system that produces non-stabilizer quantum states that are used in various quantum circuits and systems
US20140297708A1 (en) * 2013-03-27 2014-10-02 Microsoft Corporation Fast Quantum and Classical Phase Estimation
US20140354326A1 (en) * 2013-05-29 2014-12-04 Microsoft Corporation Quantum Computers Having Partial Interferometric Quantum Gates
US20140365843A1 (en) * 2013-06-07 2014-12-11 Alcatel-Lucent Usa Inc. Error correction for entangled quantum states
US8972237B2 (en) * 2012-08-06 2015-03-03 Microsoft Technology Licensing, Llc Optimizing quantum simulations by intelligent permutation
US20150111754A1 (en) * 2013-10-22 2015-04-23 D-Wave Systems Inc. Universal adiabatic quantum computing with superconducting qubits
US20150214984A1 (en) * 2014-01-24 2015-07-30 Korea University Research And Business Foundation Method for correcting error of imperfect entangled qubit in receiver

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7184555B2 (en) 2001-04-11 2007-02-27 Magiq Technologies, Inc. Quantum computation
AU2003259762A1 (en) * 2002-08-10 2004-02-25 Routt, Thomas J Methods for transmitting data across quantum interfaces and quantum gates using same
EP1672569A1 (en) 2004-12-20 2006-06-21 STMicroelectronics S.r.l. A method of performing a quantum algorithm for simulating a genetic algorithm

Patent Citations (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5768297A (en) * 1995-10-26 1998-06-16 Lucent Technologies Inc. Method for reducing decoherence in quantum computer memory
US5787236A (en) * 1996-01-11 1998-07-28 Tucci; Robert R. Graphical computer method for analyzing quantum systems
US6128764A (en) * 1997-02-06 2000-10-03 California Institute Of Technology Quantum error-correcting codes and devices
US6081882A (en) * 1998-04-09 2000-06-27 Silicon Graphics, Inc. Quantum acceleration of conventional non-quantum computers
US6578018B1 (en) * 1999-07-27 2003-06-10 Yamaha Hatsudoki Kabushiki Kaisha System and method for control using quantum soft computing
US20030005010A1 (en) * 2001-05-29 2003-01-02 Richard Cleve Efficient quantum computing operations
US20030093451A1 (en) * 2001-09-21 2003-05-15 International Business Machines Corporation Reversible arithmetic coding for quantum data compression
US20030169041A1 (en) * 2001-12-22 2003-09-11 D-Wave Systems, Inc. Quantum computing integrated development environment
US20040238813A1 (en) * 2003-03-03 2004-12-02 D-Wave Systems, Inc. Dressed qubits
US20060224547A1 (en) * 2005-03-24 2006-10-05 Ulyanov Sergey V Efficient simulation system of quantum algorithm gates on classical computer based on fast algorithm
US20120069414A1 (en) * 2010-09-21 2012-03-22 Kabushiki Kaisha Toshiba Operating method for stimulated raman adiabatic passage and operating method for phase gate
US8972237B2 (en) * 2012-08-06 2015-03-03 Microsoft Technology Licensing, Llc Optimizing quantum simulations by intelligent permutation
US20140118023A1 (en) * 2012-10-26 2014-05-01 Bryan K. Eastin Efficient resource state distillation
US20140280404A1 (en) * 2013-03-14 2014-09-18 Microsoft Corporation Method and system that produces non-stabilizer quantum states that are used in various quantum circuits and systems
US9269052B2 (en) * 2013-03-14 2016-02-23 Microsoft Technology Licensing, Llc Method and system that produces non-stabilizer quantum states that are used in various quantum circuits and systems
US20140297708A1 (en) * 2013-03-27 2014-10-02 Microsoft Corporation Fast Quantum and Classical Phase Estimation
US20140354326A1 (en) * 2013-05-29 2014-12-04 Microsoft Corporation Quantum Computers Having Partial Interferometric Quantum Gates
US20140365843A1 (en) * 2013-06-07 2014-12-11 Alcatel-Lucent Usa Inc. Error correction for entangled quantum states
US20150111754A1 (en) * 2013-10-22 2015-04-23 D-Wave Systems Inc. Universal adiabatic quantum computing with superconducting qubits
US20150214984A1 (en) * 2014-01-24 2015-07-30 Korea University Research And Business Foundation Method for correcting error of imperfect entangled qubit in receiver

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Improved simulation of stabilizer circuits Scott Aaronson et al; PHYSICAL REVIEW A 70, 052328 (2004); Pgs 1-14 *
Toward a software architecture for quantum computing design tools; K. Svore et al; Proc. QPL 2004, pp. 145–162 *

Cited By (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017217577A1 (en) * 2016-06-13 2017-12-21 고려대학교 산학협력단 Method and apparatus for generating quantum error correction code using graph state
US9864954B1 (en) 2016-06-28 2018-01-09 International Business Machines Corporation Optimized testing of a partially symmetric quantum-logic circuit
US11042812B2 (en) * 2016-06-28 2021-06-22 International Business Machines Corporation Optimized testing of quantum-logic circuits
US10082539B2 (en) 2016-06-28 2018-09-25 International Business Machines Corporation Using direct sums and invariance groups to test partially symmetric quantum-logic circuits
US9665829B1 (en) 2016-06-28 2017-05-30 International Business Machines Corporation Optimizing testing of a partially symmetric quantum-logic circuit by using wreath products and invariance groups
US10393807B2 (en) 2016-06-28 2019-08-27 International Business Machines Corporation Reducing complexity when testing quantum-logic circuits
US10922278B2 (en) * 2016-07-22 2021-02-16 Albert Haag Systems and methods for database compression and evaluation
US20180046933A1 (en) * 2016-08-11 2018-02-15 Board Of Regents, The University Of Texas System System and method for controlling a quantum computing emulation device
US20180293758A1 (en) * 2017-04-08 2018-10-11 Intel Corporation Low rank matrix compression
US20210350585A1 (en) * 2017-04-08 2021-11-11 Intel Corporation Low rank matrix compression
US11620766B2 (en) * 2017-04-08 2023-04-04 Intel Corporation Low rank matrix compression
US11037330B2 (en) * 2017-04-08 2021-06-15 Intel Corporation Low rank matrix compression
US11250190B2 (en) 2017-09-22 2022-02-15 International Business Machines Corporation Simulating quantum circuits
US11170137B1 (en) * 2017-11-15 2021-11-09 Amazon Technologies, Inc. Cloud-based simulation of quantum computing resources
CN108416445A (en) * 2018-03-13 2018-08-17 广西师范大学 A kind of design method that the storage of quantum real signal is realized with quantum wire
US11100417B2 (en) * 2018-05-08 2021-08-24 International Business Machines Corporation Simulating quantum circuits on a computer using hierarchical storage
JP7481075B2 (en) 2018-05-08 2024-05-10 インターナショナル・ビジネス・マシーンズ・コーポレーション Simulating quantum circuits on a computer using hierarchical storage
US10901896B2 (en) * 2018-11-27 2021-01-26 International Business Machines Corporation Cached result use through quantum gate rewrite
US11645203B2 (en) 2018-11-27 2023-05-09 International Business Machines Corporation Cached result use through quantum gate rewrite
US11314908B2 (en) * 2019-05-29 2022-04-26 International Business Machines Corporation Providing reusable quantum circuit components as a curated service
US20220229956A1 (en) * 2019-05-29 2022-07-21 International Business Machines Corporation Providing reusable quantum circuit components as a curated service
US11983471B2 (en) * 2019-05-29 2024-05-14 International Business Machines Corporation Providing reusable quantum circuit components as a curated service
US11605033B2 (en) 2019-11-27 2023-03-14 Amazon Technologies, Inc. Quantum computing task translation supporting multiple quantum computing technologies
US11605016B2 (en) 2019-11-27 2023-03-14 Amazon Technologies, Inc. Quantum computing service supporting local execution of hybrid algorithms
US11704715B2 (en) 2019-11-27 2023-07-18 Amazon Technologies, Inc. Quantum computing service supporting multiple quantum computing technologies
CN111582491A (en) * 2020-04-30 2020-08-25 合肥本源量子计算科技有限责任公司 Construction method and device of quantum line
US11907092B2 (en) 2021-11-12 2024-02-20 Amazon Technologies, Inc. Quantum computing monitoring system

Also Published As

Publication number Publication date
WO2015179753A1 (en) 2015-11-26
US9477796B2 (en) 2016-10-25

Similar Documents

Publication Publication Date Title
US9477796B2 (en) Methods for general stabilizer-based quantum computing simulation
Zhao et al. Bayesian deep learning on a quantum computer
US11755941B2 (en) Geometry-based compression for quantum computing devices
Pourkamali-Anaraki et al. Preconditioned data sparsification for big data with applications to PCA and K-means
Życzkowski et al. On duality between quantum maps and quantum states
Kyrillidis et al. Matrix recipes for hard thresholding methods
Childs et al. Efficient simulation of sparse Markovian quantum dynamics
AU2020229289A1 (en) Quantum relative entropy training of boltzmann machines
US11741386B2 (en) Method of blocking or passing messages sent via a firewall based on parsing of symbols strings contained in messages among different keywords
Garcia et al. Simulation of quantum circuits via stabilizer frames
Hillmich et al. Just like the real thing: Fast weak simulation of quantum computation
US11343325B2 (en) Systems and methods for estimating typed graphlets in large data
Zhao et al. Scalable neural quantum states architecture for quantum chemistry
Zhang et al. Quantum support vector machine without iteration
Grurl et al. Noise-aware quantum circuit simulation with decision diagrams
Duong et al. Quantum neural architecture search with quantum circuits metric and bayesian optimization
Gosset et al. Fast simulation of planar Clifford circuits
Yu et al. Quantum dimensionality reduction by linear discriminant analysis
Peddireddy et al. Classical simulation of variational quantum classifiers using tensor rings
Ouedrhiri et al. Intelligent recommender system based on quantum clustering and matrix completion
US20230327969A1 (en) Quantum computing device for determining a network parameter
Sander et al. Towards hamiltonian simulation with decision diagrams
Şimşekli et al. Parallel stochastic gradient Markov Chain Monte Carlo for matrix factorisation models
Grädel et al. Quantum computing and abstract state machines
Pilanci Fast randomized algorithms for convex optimization and statistical estimation

Legal Events

Date Code Title Description
AS Assignment

Owner name: THE REGENTS OF THE UNIVERSITY OF MICHIGAN, MICHIGA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:GARCIA-RAMIREZ, HECTOR J.;MARKOV, IGOR L.;SIGNING DATES FROM 20150512 TO 20150522;REEL/FRAME:035723/0475

AS Assignment

Owner name: AFRL/RIJ, NEW YORK

Free format text: CONFIRMATORY LICENSE;ASSIGNOR:UNIVERSITY OF MICHIGAN;REEL/FRAME:036627/0958

Effective date: 20150917

STCF Information on status: patent grant

Free format text: PATENTED CASE

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YR, SMALL ENTITY (ORIGINAL EVENT CODE: M2551); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY

Year of fee payment: 4

FEPP Fee payment procedure

Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY