The present disclosure relates generally to computational systems and methods, and relates more particularly to the encoding of information in matrices and to computational techniques involving matrix manipulations.
Interference and the ability to follow many history paths simultaneously make quantum systems attractive for implementing computations, such as may be possible with quantum computers. Efficient algorithms exploring these properties have been proposed to solve practical problems such as number factoring and unsorted database searches. These algorithms have a number of advantages compared to classically implemented algorithms, especially when quantum computers with thousands of quantum bits become available. Despite recent progress in developing quantum mechanics systems capable of processing information, the number of available quantum bits is somewhat small, e.g., in the tens of bits, making the implementation of a useful quantum computer problematic. Accordingly, a sufficiently large and resilient quantum computer that can take advantage of the above-mentioned algorithms is not yet available.
Hard computational problems are those in which the solution expressed as a number of computational steps scales faster than a power of the size of the input data, e.g. ˜O(2n
In accordance with the present disclosure, a system and a method of computation that utilizes MPS to solve hard computational problems are provided. In particular, the present disclosure can provide computations to organize data to permit solutions to hard computational problems to be obtained through simplified operations involving matrices. When hard computational problems can be mapped onto a search problem, the present disclosure is suitable for obtaining solutions for such search problems. The proposed system and method describe configuration states in terms of weights or a probability distribution written as traces of matrix product states associated with bit configurations. Inputs to a function describing a problem to be solved are provided as one or more matrices, which are manipulated by the implementation of the function to produce MPS's that contribute to locating solutions to the problem.
According to an aspect of the disclosure, an MPS formulation of classical probability distributions is employed to create a virtual parallel machine where all possible outcomes of an algorithm are obtained from all 2n inputs of an n-bit register. Information about these outcomes is encoded and compressed in the matrices forming the MPS. This parallelism is useful when a certain problem can use the probability of a single outcome at a time. For example, a search problem that seeks, for a given y, the value of x such that y=ƒ(x) for an algorithmically computable function ƒ can employ parallelism using the probability of the given y. In this case, the focus is not on all values of the output, but on only one corresponding to a given y. In addition, from the probability of y, the method in this invention directly provides the number of input values x satisfying the functional constraint y=ƒ(x).
According to an aspect of the present disclosure, there can be parallelism between the steps of the method and those of a logic circuit. Insertion and removal of matrices correspond to insertion and removal of bits in a bit register. Proposed 1-bit and 2-bit gates have matrix operations counterparts. The operations of 2-bit gates rely on a singular value decomposition (SVD) to maintain the MPS form of the probability distribution. Matrices are not restricted to be positive. All these operations preserve the positivity and the overall normalization of the probability. Matrix operations also provide the benefit of permitting direct computation on compressed data, whereby calculations ordinarily performed on uncompressed data, with the attendant compression and decompression processes, can be avoided, thereby leading to greater efficiencies.
As an example of a hard computational problem to which the disclosed system and method may be applied, consider the problem of checking which gene combination produces a certain specific feature (e.g., a trait or a genetic disorder). If you have n of these genes, there are 2n combinations of having or not having each of the n genes. Checking combinations one-by-one is not feasible if n is very large. Let ƒ(x) be a function that, given a certain gene combination gives you 1 if the combination has the desired feature and gives you 0 otherwise. In this particular application, you would use a software (i.e., a compiler) to transform ƒ(x) into a sequence of gates acting on the binary variables that enumerate x. In practice, these gates are basically a set of instructions for operating on matrices (e.g., at least 2n matrices). The matrices are stored in the computer's RAM. The method disclosed in this application uses the computer's processor to manipulate these matrices and find gene combinations with the specific feature.
The presently disclosed system and method is applied to evaluating a multivariable Boolean expression for satisfiability, or obtaining and counting the instances satisfying the expression. The application of the disclosure to bit states is unique in the field of computational efforts, unlike known applications for many-body wave functions. The disclosed system and method is also applied to a database search algorithm.
The present disclosure is described in greater detail below, with reference to the accompanying drawings, in which:
In accordance with the present disclosure, computer operations are performed using matrix product states (MPS) in the realization of a function describing a problem to be solved, and an input to the function. One or more matrices can be used to represent all inputs at once, thereby utilizing parallelism in the computational process. The input matrices are initialized and the matrices evolve according to an applied function. The function itself can be realized using one bit and two bit gates, where the one bit gates are probabilistic gates, and the two bit gates are deterministic gates.
Referring now to ≡|x
denoting a particular configuration of this system. Define the vector
where the probability of a configuration |x
P(x1, . . . , xn)=tr(M1x
Here, each Mjx is normalized in the following sense: define a vector |Σ
=Σx
, then a normalization constant Z=
Σ|P
=1 since ΣxP(x)=1. Consider the bits laid orderly along a straight line, referred to as the bit string. The matrix dimension Dj is referred to as the bond dimension between adjacent bits j and j+1.
Starting from an initial probability distribution P0(x1, . . . , xn) the vector |P evolves as a sequence of 1-bit and 2-bit operations on adjacent bits is applied to the matrices Mjx
1-Bit Gates:
A probabilistic 1-bit gate takes states 0, 1 into states 0, 1 with probabilities p,1−p and q, 1−q:
The probabilities p and q are encoded into a transfer function tũ, u that takes a logic input a=0, 1 into a logic output ã=0, 1. Explicitly: t0, 0=p, t1, 0=1−p, t0, 1=1−q, t1, 1=q.
The transfer function tx
2-Bit Gates:
Given two logical functions A(a, b) and B(a, b), we construct the deterministic 2-bit transfer function Tã, {tilde over (b)}; a, b in the following way:
This transfer function takes bits from states a and b to states ã and {tilde over (b)}, respectively. Similarly to 1-bit gates, the normalization after 2-bit gates is preserved since the transfer matrix satisfies the sum rule Σã, {tilde over (b)}=0.1Tã, {tilde over (b)}; a, b=1. A 2-bit gate acting on adjacent bits j−1 and j takes their matrix product Mj−1x
While the input matrices Mj−1x
The singular value decomposition can be carried out using standard linear algebra techniques. After the decomposition, Qj−1, j=UΛV, where U and V are orthogonal matrices of dimensions 2Dj−2×2Dj−2 and 2Dj×2Dj, respectively, and Λ is a diagonal rectangular matrix of dimensions 2Dj−2×2Dj containing the singular values. More explicitly, Λαα=λα>0, where a=1, . . . , r, with r≦min(2Dj−2, 2Dj), and Λαβ=0 for α≠β. Here, r denotes the rank of the matrix Qj−1, j.
The resulting matrices for the bits j−1 and j are obtained through the expressions
[{tilde over (M)}j−10]αβ=[U]αβ√{square root over (λβ)}, α1, . . . , Dj−2, β=1, . . . , r (7)
[{tilde over (M)}j−11]αβ=[U]αβ√{square root over (λβ)}, α=Dj−2+1, . . . , 2Dj−2, β=1, . . . , r (8)
[{tilde over (M)}j0]αβ=√{square root over (λα)}[V]αβ, α=1, . . . , r, β=1, . . . , Dj (9)
[{tilde over (M)}j1]αβ=√{square root over (λα)}[V]αβ, α=1, . . . , r, β=Dj+1, . . . , 2Dj. (10)
Using these matrices, Eq. (5) can be rewritten as
These are the resulting matrices illustrated in
Below, block forms of the matrix Qj−1, j for five common 2-bit gates used in applications of the invention are presented: AND, NAND, OR, XOR, SWAP, and COPY. For logic operations, the first bit carries forward its state, while the result of the operation is stored in the second bit.
AND gate: AAND(a, b)=a and BAND(a, b)=ab. In this case, T0, 0; 0, 0=T0, 0; 0, 1T1, 1; 1, 1=1, with all other elements set to zero.
NAND gate: ANAND(a, b)=a and BNAND(a, b)=(a
b). In this case, T0, 1; 0, 0=T0, 1; 0, 1=T1, 1; 1, 0=T1, 0; 1, 1=1, with all other elements set to zero.
OR gate: AOR(a, b)=a and BOR(a, b)=ab. In this case, T0, 0; 0, 0=T0, 1; 0, 1=T1, 1; 1, 0T1, 1; 1, 1=1, with all other elements set to zero.
XOR gate: ΛXOR(a, b)=a and BXOR(a, b)=a⊕b. In this case, T0, 0; 0, 0=T0, 1; 0, 1=T1, 1; 1, 0=T1, 0; 1, 1=1, with all other elements set to zero.
SWAP gate: ASWAP=(a, b)=b and BSWAP(a, b)=a. In this case, T0, 0; 0, 0T1, 0; 0, 1=T0, 1, 1, 0=T1, 1, 1, 1=1, with all other elements set to zero.
COPY gate: ACOPY(a, b)=a and BCOPY(a, b)=a. In this case, T0, 0; 0, 0=T0, 0; 0, 1=T1, 1, 1, 0=T1, 1, 1, 1=1, with all other elements set to zero.
IDENTITY gate: AIDENTITY(a, b)=a and BIDENTITY(a, b)=b. In this case, T0, 0; 0, 0=T0, 1; 0, 1=T1, 0, 1, 0=T1, 1, 1, 1=1, with all other elements set to zero.
Filters:
Given a set of matrices defining a matrix product state, it is possible to filter out certain bit configurations by resorting to a sequence of 2-bit gates which do not preserve probability. These gates differ from those described earlier in the sense that their transfer matrices Tã, {tilde over (b)}; a, b do not satisfy the sum rule Σã, {tilde over (b)}=0, 1Tã, {tilde over (b)}; a, b=1. All other aspects, such as singular value decomposition, are the same as for the probability preserving 2-bit gates. Consider for example a situation where it is desired to remove all configurations where the bits j and j−1 are different, irrespective of the other bits, namely, configurations where xj=0, xj−1=1 or xj=1, xj−1=0. This operation can be implemented by a filter of the logic form (xj⊕xj−1), which can be realized by a transfer matrix of the form T0, 0; 0, 0=T1, 1; 1, 1=1 and with all other elements set to zero. Given that two bits span 4 possible states (00, 01, 10, 11), there are 14 nontrivial 2-bit filter gates (out of 16): 4 that block 3 out of 4 possible states; 6 that block 2 out of 4 possible states; and 4 that block 1 out of the 4 possible states. The other filter gates, which may be considered trivial, are those that block all or block none of the 4 possible states.
Bit Insertions and Removals: Insertion of a new bit (say, initially set to 0) in between bits j−1 and j amounts to replacing Mj−1x [see Eq. (1)] now includes the binary variable xα=0, 1. Removal of a bit is done by absorbing its matrix into the one of an adjacent bit, namely, by tracing it out. For example, the operation expressed as Σx
Application: Search algorithm.
Consider the search problem where, given a function y=ƒ(x) that can be computed algorithmically with O(nd) gates and a certain value for y, search for an input x that yields as output y=ƒ(x).
Matrix product states can express the probability values of all possible m-bit outputs y≡y1y2 . . . ym if one starts with a product state encoding all possible n-bit inputs x≡x1x2 . . . xn, namely, P(x)=2−n for all x. The problem can be solved by computing P(y). The following steps illustrate an exemplary embodiment.
Notice that since there may be more than one x for a given y, P(y) being above the corresponding threshold does not mean that fixing each input bit to be 1 is necessarily forbidden. Accordingly, the computational process can be run again with the input bits being fixed to different values than in the initial run(s), and additional solutions can be determined where P(y) is determined to be above the corresponding threshold.
In additional to finding solutions, the above described system and method can be used to count the total number of possible solutions. For this purpose, P(y) is multiplied by 2n after step 2 above. The result is the number of possible solutions x such that ƒ(x)=y for a given y.
Referring now to
A block 516 illustrates the determination of y=ƒ(x) with the implementation of the logic function in a block 518 and the computation of the resulting probabilities in a block 520. Block 518 illustrates the implementation of the function using 1-bit and/or 2-gates that define the logic function used to calculate the final output matrices Mjy
The particular output state can have a probability of zero, meaning that there is not a solution. The determination of whether the probability of the output state is zero is illustrated in decision block 522, where zero probability causes the “yes” branch to be taken, while non-zero probability causes the “no” branch to be taken. If the “yes” branch of decision block 522 is taken, counter k is checked to see if it is a zero value, as illustrated in decision block 524. If counter k is equal to zero, none of the input bits have been set to a fixed value, and no solution exists to the problem implemented as the logic function illustrated in block 518. At that point, the process illustrated in flow chart 500 stops, as illustrated by the “yes” branch of decision block 524.
If k is not equal to zero in decision block 524, a non-initial state has been processed with a probability of P(y)=0, where at least one of the input bits is fixed to a value. In this case, additional output probabilities can be processed, as illustrated with the “no” branch of decision block 524 being taken to a block 532. Block 532 illustrates an input bit x; being set to 1, and its input matrices being reset accordingly. By fixing the input bit to a certain value, the process illustrated in flowchart 500 moves closer to a solution to the problem. The value of counter k is then compared to the number of bits n, as illustrated in a decision block 530. If counter k=n, the process is complete with at least one solution being found, as illustrated with the “yes” branch of decision block 530. If the value of counter k is not yet equal to n, as illustrated by the “no” branch of decision block 530, counter k is incremented, as illustrated in a block 534.
When the probability of the output state is non-zero, a potential solution has been determined, which is illustrated with the “no” branch of decision block 522 being taken to decision block 530. The “no” branch being taken from decision block 522 means that, for example, P(y)≧2−n+k, and that there is at least one value of x such that y=ƒ(x). Note that the threshold for the computed probability depends on a value of counter k, and thus changes with each pass through the process, as more input bits are fixed in value. However, each input state with a non-zero probability can potentially be a solution, which is why the probability is checked for being non-zero, as illustrated in decision block 522. Decision block 530 illustrates the determination of whether all bits have been processed, and if so, indicates that the solution(s) has(have) been found, as illustrated with the “yes” branch of decision block 530. If all bits have not been processed, counter k is incremented, as illustrated with the “no” branch of decision block 530 directed to block 534.
After counter k is incremented, as illustrated in block 534, a new input state is formed as illustrated in a block 536. For example, block 536 illustrates input bit x, being set to be 0 on the first pass through, instead of being randomized, and 1-bit randomizing gates are applied to the n-k remaining input matrices, as illustrated in a block 538. The process in block 516 is then reiterated and the logic function operations are applied to the input matrices. Output matrices Mjy
In additional to finding solutions, the method illustrated in flowchart 500 can be used to count the total number of possible solutions. For this purpose, P(y) is multiplied by 2n after being computed. The result is the number of possible solutions x such that ƒ(x)=y for a given y.
The computational cost of the search algorithm discussed above is one of the advantages attained in accordance with the present disclosure. According to an exemplary embodiment, a determination of the computational cost can be stated in terms of the largest matrix dimension D in the computations, which is related to the number ng of gates involved in the computation of the function ƒ(x). All SVD steps involve matrices with rank smaller or equal to D; therefore, the cost associate to gate operations is no more than O(ng×D3). Computing the trace of the matrix products for a fixed y yields the probability P(y), which takes time no more than O(n×D3). Also, the procedure is repeated for each iteration in which the input bits x, i=1, . . . , n are each fixed in turn. Therefore, in the worst case, the time is O(n×max{ng, n}×D3) to find x.
The method can be further sped up by retaining only the largest singular values during the SVD steps. The number of singular values that are kept can be varied according to the particular function being computed.
The number of solutions of a search problem can be found by multiplying the probability P(y*) in block 520 by 2n. If the result is equal to s, s solutions exist. After the first solution has been found, additional solutions can be obtained one-by-one by repeating the same procedure but including the following extension to the method. To find one more solution, one builds a filter function that blocks input configurations that correspond to previously found solutions. The filter functions can be broken down using the 2-bit filter gates. The search algorithm can then be used again, but now applying the gates encoding the filter function in conjunction with the gates encoding the function ƒ(x).
Generalizations:
Although one-dimensional bit arrays have been presented, the present disclosure is not so limited, and can be extended to higher dimension tensor products. The presently disclosed system and method can be generalized to consider non-normalized weights W(x) instead of probabilities P(x) in Eq. (1). In such a case one can use 1-bit and 2-bit gates with arbitrary transfer matrices tã, a in Eq. (3) and Tã, {tilde over (b)}; a, b in Eq. (5), respectively. Alternatively, or in addition, non-normalized weights W(x) and/or probabilities P(x) can be used initially and/or in describing the matrices that represent one or more output states.
According to aspects of the present disclosure, the system and method can be generalized to encode a database as a matrix product state. The matrices are constructed so as to encode weights W(x), where x is an n-bit number, and such that W(x)=1 if x belongs to the database, and W(x)=0 if otherwise. This feature permits database information to be distributed into matrix form, where the matrices can be efficiently processed to analyze the data.
Example:
As an example of a matrix computation according to aspects of the present disclosure, consider the following multi-component Boolean expression of the type y=ƒ(x), with y=(y1, y2) and x=(x1, x2, x3, x4):
ƒ1(x1, x2, x3, x4)=x1(x2
(
x3
x4)) (19)
ƒ2(x1, x2, x3, x4)=(x2
x3)
(
x1
(x2
x4)). (20)
These expressions satisfy the truth table shown below. Notice that P(0, 0)=0, while P(0, 1)= 5/16, P(1, 0)= 9/16, and P(1, 0)= 1/16.
The following sequence of matrix operations can be used to compute ƒ1 and ƒ2: in the above truth table.
Initialize 1×1 matrices M10, M11, M20, M21, M30, M31, M40, and M41 to ½.
INSERT bit 5
COPY bit 4 bit 5
SWAP bits 4, 5
NOT on bit 3
OR on bits 3, 4
NOT on bit 3
SWAP bits 3, 4
AND on bits 2, 3
SWAP bits 2, 3
OR on bits 1, 2
SWAP bits 1, 2
(result of ƒ1 in bit 1, all others shifted to the right by one)
SWAP bits 4, 5
AND on bits 3, 4
SWAP bits 3, 4
NOT on bit 2
OR on bits 2, 3
NOT on bit 4
OR on bits 4, 5
SWAP bits 4, 5
AND on bits 3, 4
SWAP bits 3, 4
SWAP bits 2, 3
(result of ƒ2 in bit 2)
TRACE OUT bit 5
TRACE OUT bit 4
TRACE OUT bit 3
The above matrix operations result in 1×2 matrices M10 and M11 and 2×1 matrices M20 and M21. The probabilities are then given by P(0, 0)=M10M20, P(0, 1)=M10M21, P(1, 0)=M11M20, and P(1, 1)=M11M21.
The operations herein depicted and/or described herein are purely exemplary and imply no particular order. Further, the operations can be used in any sequence when appropriate and can be partially used. With the above embodiments in mind, it should be understood that they can employ various computer-implemented operations involving data transferred or stored in computer systems. These operations are those requiring physical manipulation of physical quantities. Usually, though not necessarily, these quantities take the form of electrical, magnetic, or optical signals capable of being stored, transferred, combined, compared and otherwise manipulated.
Any of the operations depicted and/or described herein that form part of the embodiments are useful machine operations. The embodiments also relate to a device or an apparatus for performing these operations. The apparatus can be specially constructed for the required purpose, or the apparatus can be a general-purpose computer selectively activated or configured by a computer program stored in the computer. In particular, various general-purpose machines employing one or more processors coupled to one or more computer readable medium, described below, can be used with computer programs written in accordance with the teachings herein, or it may be more convenient to construct a more specialized apparatus to perform the required operations.
The disclosed systems and methods can also be embodied as computer readable code on a computer readable medium. The computer readable medium is any data storage device that can store data, which can thereafter be read by a computer system. Examples of the computer readable medium include hard drives, read-only memory, random-access memory, CD-ROMs, CD-Rs, CD-RWs, magnetic tapes and other optical and non-optical data storage devices. The computer readable medium can also be distributed over a network-coupled computer system so that the computer readable code is stored and executed in a distributed fashion.
The foregoing description has been directed to particular embodiments of this disclosure. It will be apparent, however, that other variations and modifications may be made to the described embodiments, with the attainment of some or all of their advantages. The procedures, processes and/or modules described herein may be implemented in hardware, software, embodied as a computer-readable medium having program instructions, firmware, or a combination thereof. For example, the function described herein may be performed by a processor executing program instructions out of a memory or other storage device. Therefore, it is the object of the appended claims to cover all such variations and modifications as come within the true spirit and scope of the disclosure.
This invention was made with Government Support under Contract Numbers CCF-1116590 and CCF-1117241 awarded by the National Science Foundation. The Government has certain rights in the invention.
Number | Name | Date | Kind |
---|---|---|---|
20050167658 | Williams et al. | Aug 2005 | A1 |
20060224547 | Ulyanov et al. | Oct 2006 | A1 |
Entry |
---|
Stephan Hoyer, “Quantum Random Walk Search on Satisfiability Problem”, B. A. Thesis published by Department of Physics and Astronomy, Swarthmore College, 2008, pp. 1-63. |
Matthew Low, “The Use of Matrix Product State Representations in Simulating Many Body Quantum Systems”, B. S. Thesis published by the Faculty of Science, The University of British Columbia, Vancouver, British Columbia, Canada, Jun. 2010, pp. 1-51. |
Jaroslaw Adam Miszczak, “Singular Value Decomposition and Matrix Reorderings in Quantum Information Theory”, International Journal of Modern Physics C, vol. 22, No. 9 (2011), pp. 897-918. |
Paulo Benicio De Sousa and Rubens Viana Ramos, “Universal Quantum Circuit for n-Qubit Quantum Gate: A Progammable Quantum Gate”, Quantum Information & Computation, vol. 7 Issue 3, Mar. 2007, pp. 228-242. |
Igor L. Markov and Yaoyun Shi, “Simulating Quantum Computation by Contracting Tensor Networks”, SIAM Journal on Computing, vol. 38, Issue 3, Jun. 25, 2008, pp. 963-981. |
J. Ignacio Cirac, et al., “Renormalization and Tensor Product States in Spin Chains and Lattices”, J. Phys. A: Math. Theor. 42 (2009), 34 pgs. |
Kristan Temme, et al., “Stochastic Matrix Product States”, Physical Review Letters 104, May 2010, 4 pgs. |
B. Derridat, et al., “Exact Solution of a 1D Asymmetric Exclusion Model Using a Matrix Formulation”, J. Phys. A: Math. Gen. 26 (1993), pp. 1493-1517. |
F. Verstraete, et al., “Matrix Product States, Projected Entangled Pair States, and Variational Renormalization Group Methods for Quantum Spin Systems”, Advances in Physics, Jul. 2008, 83 pgs. |
Claudio Chamon, et al., “Rényi Entropies as a Measure of the Complexity of Counting Problems”, Journal of Statistical Mechanics: Theory and Experiment, Apr. 2013, 13 pgs. |
Guifré Vidal, “Efficient Simulation of One-Dimensional Quantum Many-Body Systems”, Physical Review Letters, vol. 93, No. 4, Jul. 2004, 4 pgs. |
Claudio Chamon, et al., “Virtual Parallel Computing and a Search Algorithm Using Matrix Product States”, Physical Review Letters 109, Jul. 2012, 4 pgs. |
Guifré Vidal, “Efficient Classical Simulation of Slightly Entangled Quantum Computations”, Physical Review Letters, vol. 91, No. 14, Oct. 2003, 4 pgs. |
T.H. Johnson, et al., “Dynamical Simulations of Classical Stochastic Systems Using Matrix Product States”, Physical Review E 82 (2010) 16 pgs. |
Ian Affleck, et al., “Rigorous Results on Valence-Bond Ground States in Antiferromagnets”, Physical Review Letters, vol. 59, No. 7, Aug. 1987, 4 pgs. |
Number | Date | Country | |
---|---|---|---|
20140223147 A1 | Aug 2014 | US |