The following disclosure(s) are submitted under 35 U.S.C. 102(b)(1)(A):
The present application relates generally to computers and computer applications, and more particularly to quantum computing and quantum circuit that can perform boundary mapping on graphs (e.g., nodes and edges), for example, for facilitating analytics such as but not limited to topological data analysis and analysis of physical behavior of objects.
Classical computers use transistors to encode information in binary data, such as bits, where each bit can represent a value of 1 or 0. These 1s and 0s act as on/off switches that drive classical computer functions. If there are N bits of data, then there are 2AN possible classical states, and one state is represented at a time.
Quantum computers uses quantum processors that operate on data represented by quantum bits, also known as qubits. One qubit can represent the classical binary states ‘0’, ‘1’, and also additional states that are superstitions of ‘0’ and ‘1’. Due to the ability to represent superpositions of ‘0’ and ‘1’, a qubit can represent both ‘0’ and ‘1’ states at the same time. For example, if there are N bits of data, then 2{circumflex over ( )}N quantum states can be represented at the same time. Further, qubits in a superposition can be correlated with each other, referred to as entanglement, where the state of one qubit (whether it is a 1 or a 0 or both) can depend on the state of another qubit, and more information can be encoded within the two entangled qubits. Based on superposition and entanglement principles, qubits can enable quantum computers to perform functions that may be relatively complex and time consuming for classical computers.
The summary of the disclosure is given to aid understanding of a computing system and method of quantum circuit and generating a boundary operator, which can be used in quantum homology, for example, for big data analysis, and not with an intent to limit the disclosure or the invention. It should be understood that various aspects and features of the disclosure may advantageously be used separately in some instances, or in combination with other aspects and features of the disclosure in other instances. Accordingly, variations and modifications may be made to the computer system and/or their method of operation to achieve different effects.
An apparatus, in an aspect, can include a controller configured to generate command signals. The apparatus can also include quantum hardware including at least a plurality of qubits. The apparatus can further include an interface connected to the controller and the quantum hardware. The interface can be configured to control the quantum hardware based on the command signals to implement a quantum circuit, where the quantum circuit is configured to simulate a boundary operator that creates a mapping of boundaries of a given graph having at least nodes and edges. In an aspect, the quantum circuit has linear depth relative to number of nodes in the given graph.
A method, in an aspect, can include generating, by a controller of a quantum system, command signals. The method can also include converting, by an interface of the quantum system, the command signals into quantum operations. The method can further include, based on the quantum operations, controlling, by the interface of the quantum system, quantum hardware of the quantum system to construct a quantum circuit including at least Pauli quantum gates, the quantum circuit configured to simulate a boundary operator that creates a mapping of boundaries of a given graph having at least nodes and edges, where the quantum circuit has linear depth relative to number of nodes in the given graph.
A system, in an aspect, can include a first computing device configured to process data encoded in binary bits. The system can also include a second computing device configured to be in communication with the first computing device, the second computing device including at least a controller configured to generate command signals, quantum hardware including at least a plurality of qubits, and an interface connected to the controller and the quantum hardware. The interface can be configured to control the quantum hardware based on the command signals to implement a quantum circuit configured to simulate a boundary operator that creates a mapping of boundaries of a given graph having at least nodes and edges. In an aspect, the quantum circuit can have linear depth relative to the number of nodes in the given graph.
In another aspect, an apparatus can include a controller configured to generate command signals. The apparatus can also include quantum hardware including at least a plurality of qubits. The apparatus can further include an interface connected to the controller and the quantum hardware. The interface can be configured to control the quantum hardware based on the command signals to implement a quantum circuit configured to simulate a boundary operator that creates a mapping of simplices of orders in a given simplicial complex. The quantum circuit can have linear depth relative to the number of vertices in the given simplicial complex. The number of quantum gates in the quantum circuit can be linearly related to the number of vertices in the given simplicial complex.
A computer readable storage medium storing a program of instructions executable by a machine to perform one or more methods described herein also may be provided.
Further features as well as the structure and operation of various embodiments are described in detail below with reference to the accompanying drawings. In the drawings, like reference numbers indicate identical or functionally similar elements.
Quantum computers are capable of performing linear algebraic operations in exponentially large spaces, and promise to achieve significant asymptotic speed-ups over classical computers. Big data refers to a collection of data that can be huge in size and further can grow, for example, exponentially. Extracting useful information from large data sets can be a difficult task. Topological methods for analyzing data sets provide a powerful technique for extracting such information. Persistent homology is a useful technique that can analyze the data and extract such topological features—connected components, holes, or voids—and, for example, determine how such features persist as the data is viewed at different scales. While a homology technique can find clusters, loops and voids in large datasets, and thus can find interesting features in big data, a classical computer implementing such a tool can encounter many challenges, including, for example, problem solution scaling and operation times. Quantum computing can speed up the process.
In one or more embodiments, systems, methods, apparatus and/or techniques can be provided, which can develop algorithms that may achieve quantum advantage for useful tasks, on quantum computers, including, for example but not limited to, noisy intermediate-scale quantum (NISQ) devices. More specifically, in one or more embodiments, one or more quantum circuits can be provided for performing a quantum computation task related to a boundary operator, used in various applications, including but not limited to, topological data analysis (TDA), machine learning, physical processes, and/or others. While the description refers to simplices and simplicial complex by way of example, one or more quantum circuits simulating the boundary operator can map generally the boundaries of a given graph, the graph having at least nodes and edges. For example, a grid can be made up of simplices. For example, a given graph can represent a simplicial complex, where polytopes formed by hyperedges of the graph can represent simplices in the simplicial complex, where for example, the boundary operator can create a mapping of simplices of all orders in the simplicial complex. The boundary operator can thus act on data such as, but not limited to, structured data points such as simplices, in a graph of nodes of edges, such as grid, mesh, manifold, simplicial complex of points and simplices.
Referring to
The input to the quantum circuit 104 can be a superposition over simplices, a quantum state that is a superposition of all simplices in the given data or given simplicial complex. For example, for a square (n=4, where n is the number of vertices), the input can be a superposition of four vertices (the four ‘1’ state (|0001>, |0010>, |0100>, |1000>) and four edges (|1100>, |0110>, |0011>, |1001>). So, in this example, the input can be a superposition of these 8 states. The output of the quantum circuit 104 can be quantum states of qubits representative of boundary matrix 112 applied to simplicial complex. Generally, a boundary matrix 112 sends a simplex 110 to a combination of its faces 112. That is, the boundary operator maps the vector space of k-simplices into the vector space of k−1 simplices. The quantum circuit 104 simulating the boundary operator calculates the boundary simplices, both “up” and “down”. For example, if the starting simplex is a triangle simplex, “down” would produce the edges of the triangle, “up” would produce the tetrahedron that the input triangle is a face of. To be described further below, the quantum circuit 104 implements quantum primitives or gates that map to Pauli operators or matrices. For example, the boundary operator can be represented in terms of Pauli spin operators, as a sum of Pauli spin operators, and the Pauli spin operators can be mapped into fermionic creation and annihilation operators.
In the example shown in
Controller 118 can be any combination of digital computing devices capable of performing a quantum computation, such as executing a quantum circuit 104, in combination with interface 120. Such digital computing devices may include digital processors and memory for storing and executing quantum commands using interface 120. Additionally, such digital computing devices may include devices having communication protocols for receiving such commands and sending results of the performed quantum computations to classical computer 116. Additionally, the digital computing devices may include communications interfaces with interface 120. In one embodiment, controller 118 can be configured to receive classical instructions (e.g., from classical computer 116) and convert the classical instructions into commands (e.g., command signals) for interface 120.
Interface 120 can be a classical-quantum interface including a combination of devices capable of receiving commands from controller 118 and converting the commands into quantum operations for implementing quantum hardware 122. In one embodiment, interface 120 can convert the commands from controller 118 into drive signals that can drive or manipulate qubits 106, and/or apply quantum gates 108 on qubits 106. Additionally, interface 120 can be configured to convert signals received from quantum hardware 122 into digital signals capable of processing and transmitting by controller 118 (e.g., to classical computer 116). Devices included in interface 120 can include, but are not limited to, digital-to-analog converters, analog-to-digital converters, waveform generators, attenuators, amplifiers, optical fibers, lasers, and filters.
Interface 120 can further include circuit components configured to measure a basis of the plurality of qubits following the implementation of quantum gates 108, where the measurement that will yield a classical bit result. For example, a basis of |0) corresponds to classical bit zero, and a basis of |1) corresponds to classical bit one. Each measurement performed by interface 120 can be read out to a device, such as classical computer 116, connected to quantum computing processor 102. A plurality of measurement results provided by interface 120 can result in a probabilistic outcome. In an embodiment, the qubit states output by quantum circuit 104 that simulates a boundary operator need not be measured, but can used directly by another quantum circuit, or used as input directly to another quantum circuit implemented on the quantum hardware 122.
In an embodiment, quantum computing processor 102 may be quantum system 44 shown and described with reference to
Non-limiting examples of quantum gates 108, implemented on the quantum circuit 104 (e.g., using devices) can include Hadamard (or H) gates, controlled gates, and phase gates. The Hadamard gate acts on a single qubit and maps the basis state |0> to (|0>+|1>)/√{square root over (2)} and the basis state |1> to (|0>−|1>)/√{square root over (2)}. A phase gate acts on a single qubit and may alter the phase of one basis state of the qubit while leaving the other basis state unchanged. A controlled gate may act on two or more qubits, where one or more of the qubits provide a control for an operation.
The quantum computing processor 102 may also be connected to a classical computing processor 116 (e.g., a non-quantum computing device), which can interface with the quantum computing processor 102 and perform various pre-processing and/or post-processing tasks associated with the quantum computing performed on the quantum computing processor 102.
By example of post-processing, the classical computing processor 116 may perform scaling by a constant to obtain the boundary matrix 112. Classical computing processor 116 can include hardware components such as processors and storage devices (e.g., including memory devices and classical registers) for processing data encoded in classical bits. In one embodiment, classical computing processor 116 can be configured to control quantum computing processor 102 by providing various control signals, commands, and data encoded in classical bits to quantum computing processor 102. Further, quantum states measured by quantum computing processor 102 can be read by classical computing processor 116 and classical computing processor 116 can store the measured quantum states as classical bits in classical registers. For example, the classical computing processor 116 may include or more hardware processor components, for example, including components such as programmable logic devices, microcontrollers, memory devices, and/or other hardware components, which may be configured to perform respective tasks described in the present disclosure. Coupled memory devices may be configured to selectively store instructions executable by one or more hardware processors. For example, a hardware processor may be a central processing unit (CPU), a graphics processing unit (GPU), a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), another suitable processing component or device, or one or more combinations thereof. The processor may be coupled with a memory device. The memory device may include random access memory (RAM), read-only memory (ROM) or another memory device, and may store data and/or processor instructions for implementing various functionalities. The processor may execute computer instructions stored in the memory or received from another computer device or medium. Components of classical computer 116 are also described in more detail below with reference to
The boundary operator is a linear operator that acts on a collection of high-dimensional binary points (e.g., simplices) and maps them to their boundaries. The concept of a simplical complex is derived from data-points embedded in some ambient space. A k-simplex is a collection of k+1 vertices forming a simple polytope of dimension k; e.g., 0-simplices are single points (zero-dimensional), 1-simplices are line segments (one-dimensional), 2-simplices are triangles (two-dimensional), and so on. A simplicial complex is a collection of such simplices (of any order), closed under adding all lower simplices, which are simplices obtained by removing one vertex (e.g., if a triangle is in a complex, then all three associated edge simplices are also in the complex and, recursively, so are all three associated points). Homology provides a linear-algebraic approach to extract, from simplicial complexes derived from the data, features that describe the “shape” of the data, such as the number of connected components, or holes (as in doughnuts), or voids (as in swiss cheese), or higher-dimensional holes/cavities.
Given a set of n data-points {xi}i=0n−1 in some space together with a distance metric , a Vietoris-Rips simplicial complex is constructed by selecting a resolution/grouping scale ε that defines the “closeness” of the points with respect to the distance metric , and then connecting the points that are a distance of ε from each other (i.e., connecting points xi and xj whenever (xi, xj)≤ε, forming a so-called 1-skeleton). A k-simplex is then added for every subset of k+1 data-points that are pair-wise connected (i.e., for every k-clique, the associated k-simplex is added). The resulting simplicial complex is related to the clique-complex from graph theory.
Let Sk denote the set of k-simplices in the Vietoris-Rips complex Γ={Sk}k=0n−1, with sk∈ Sk written as [j0, . . . , jk] where ji is the ith vertex of sk. Let k denote an (k+1n)-dimensional Hilbert space ((n choose k+1)-dimensional Hilber space), with basis vectors corresponding to each of the possible k-simplices (all subsets of size k+1). Further let k denote the subspace of k spanned by the basis vectors corresponding to the simplices in Sk, and let |sk denote the basis state corresponding to sk∈Sk. Then, the n-qubit Hilbert space 2n is given by 2
where |sk−1(l) is the lower simplex obtained by leaving out vertex l (i.e., sk−1 has the same vertex set as sk except without jl). It is noted that, sk−1 is k−1-dimensional, one dimension less than sk. The factor (−1)l produces the so-called oriented sum of boundary simplices, which keeps track of neighbouring simplices so that ∂k−1∂k|sk)=0, given that the boundary of the boundary is empty.
This boundary operator (also known as boundary map) can be used as one of the components in numerous applications, including but not limited to, differential equations, machine learning, computational geometry, machine vision and control systems. The quantum circuit 104 can simulate or represent the boundary operator on a quantum computer. In an embodiment, the boundary operator has a special structure in the form of a complete sum of fermionic creation and annihilation operators. In an embodiment, these operators pairwise anticommute to produce an (n)-depth circuit that can exactly implement the boundary operator without any Trotterization or Taylor series approximation errors. Having fewer errors reduces the number of measurement shots required to obtain desired accuracies. In one or more embodiments, the boundary operator is represented as a sum of Pauli operators. Pauli operators can map to quantum primitives or gates in quantum computing that can perform operations on qubits.
Boundary operators (also known as boundary maps) are computational primitives used for the representation and analysis of graph and network analysis, machine vision, control systems, computational geometry, differential equations, finite element methods, and more. They are also used to bridge the gap between discrete representations, such as graphs and simplicial complexes, and continuous representations, such as vector spaces and manifolds. The graph Laplacians (including higher-order combinatorial Laplacians) can be constructed using the boundary operator. Laplacians of graphs and hypergraphs play a practical role in spectral clustering, a computationally tractable solution to the graph partitioning problem that is prevalent in applications such as image segmentation, collaborative recommendation, text categorization, and manifold learning. Graph Laplacians are implemented in graph neural network architectures, a recent set of neural network techniques for learning graph representations.
The boundary operator can also be used in Topological Data Analysis (TDA), as a linear operator that acts on a given set of simplices and maps them to their boundaries. TDA is a powerful machine learning and data analysis technique used to extract shape-related information of large data sets. TDA permits representing large volumes of data using a few global and interpretable features called Betti numbers. Classical algorithms for TDA and Betti number calculations are typically computationally expensive. While one known quantum algorithm proposed for TDA (or QTDA) may provably achieve exponential speed up over classical TDA algorithms under certain conditions, that quantum TDA (or QTDA) algorithm requires fault-tolerance, due to the need for a full Quantum Phase Estimation (which may be made worse by the embedded and repeated use of Grover's search).
In TDA, the data can be high dimensional, for example, with a data point having many attributes. TDA allows for interpretability of data and can be used in unsupervised learning where data can be grouped into subsets based on one or more criteria such as their characteristics or attributes. Persistent homology finds in data signature shapes that persist, e.g., local and/or global features in data. TDA or homology can include studying shapes in data, e.g., by finding number of connected components, holes, voids, and higher dimensional counterparts. Given a set of data-points in some ambient (possibly high-dimensional) space, TDA aims to extract a small set of robust and interpretable features that capture the “shape” of the dataset. Persistent Homology aims to compute these features at different scales of resolution, thus obtaining a set of local and global features to describe the data distribution topologically. These topological features are not only invariant under rotation and translation, but are also generically robust with respect to the data representation, the data sampling procedure, and noise. For these reasons, TDA can be a powerful tool used in many data applications.
TDA can be considered a “big data” algorithm that can consume massive datasets and reduce them to a handful of global and interpretable signature numbers, which can be used in predictions and analytics. Currently known approaches to quantum TDA can require or assume a fault-tolerant system and deep depth quantum circuits. In one or more embodiments, a technique described herein can provide one or more components such as quantum circuits for implementing a quantum machine learning (QML) algorithm with linear-depth complexity and provable exponential speedup on arbitrary input, providing a useful NISQ algorithm with quantum advantage. For example, a technique presented herein can aid in achieving NISQ-QTDA, a quantum topological data analysis algorithm that has an improved exponential speedup and a depth complexity of O(nlog(1/(δ∈))), where ∈ denotes the error tolerance.
In an embodiment, the boundary operator quantum circuit can be a component of a quantum homology algorithm implemented on a quantum computing processor. For example, the quantum circuit can simulate one or more boundary operators for quantum homology. In an embodiment, such quantum homology algorithm can be used for big data analysis, for example, to find useful features in a large and still growing data set. In an aspect, a boundary matrix is expressed in terms of boundaries (for example, edges) of simplices (for example, faces), and can involve exponentially many terms, e.g., many non-zero terms. In an embodiment, the quantum circuit can improve efficiency in boundary matrix operations used in quantum homology.
In an embodiment, a QTDA algorithm implemented with such a boundary operator quantum circuit can be more amenable to NISQ implementations. For example, the algorithm may have only an O(n)-depth quantum circuit, and thus has the potential to be an early useful NISQ algorithm that may provably achieve exponential speed up.
In one or more embodiments, the (generalized) boundary operator B can be represented in a novel tensor form, as a complete sum of fermionic creation and annihilation operators. In an embodiment, the standard technique of applying a Hermitian operator on a quantum computer can be implemented, namely executing the time-evolution unitary e−itB for short time t and ‘solving’ for the second term of the Taylor series (−itB). The time-evolution can be approximated by Trotterization. Using this technique, with certain gate cancellations, an O(n)-depth circuit representation can be obtained for the boundary operator.
In another embodiment, an exact implementation of the boundary operator can be provided by a quantum circuit, which does not incur Trotteirzation errors. For example, in one or more embodiments, a technique is used or implemented (where it is called unitary partitioning) to exactly express the full (e.g., all k-simplices) Hermitian boundary operator as a unitary operator that has an efficient O(n)-depth construction in terms of quantum computing primitives. This short depth circuit, without evolution and Trotterization, analytically can implement the boundary operator, allowing for fewer measurement shots than the standard Hermitian-evolution technique. This can be instrumental in many downstream applications such as QTDA, in cohomology problems, quantum algorithms for finite element methods, solving partial differential equations, and potential quantum algorithms for machine vision and control systems.
The Boundary Operator and its Fermionic Representation
By way of example, the following description introduces the concept of boundary operators in the context of computational geometry and TDA in more detail. The description further explains the fermionic creation and annihilation operators, and presents a fermionic representation for the boundary operator. For completeness, a proof establishing its correctness is also described below.
Computational Geometry
In a quantum algorithm for topological data analysis (QTDA), simplices can be represented by strings of n bits. Each bit corresponds to a vertex, with zero indicating exclusion and one inclusion. On the quantum computer, the usual computational basis can directly map to simplices. There are 2n computational basis vectors, one for each unique n-bit binary string, written |sk, where k indicates the number of vertices in the simplex (i.e., the number of ones in the binary string). There can be a difference in a way for how to index the bits of the binary string. Herein, this way is described explicitly and can refer to ‘counting from the left’ or ‘right’. Herein, the introduced indices are indexed from 0. In general, the quantum state vector (of length 2n) can be in a superposition of these basis vectors/simplices. In an aspect, core to the QTDA algorithm is the restricted boundary operator, defined by its action on k-dimensional simplices (among n vertices, hence the superscript (n) in the following):
where |sk represents a simplex, and |sk−1(l) is the simplex of one dimension less than |sk with the same vertex set (containing n vertices), but leaving out the lth vertex counting from the left.
Fleshing out the Restricted Boundary Operator
It helps to rewrite (1) without the use of index l, which hides some algorithmic steps, because l presupposes that the locations of the ones are known (i.e., which vertices are in a given simplex, e.g., l=0 refers to the first 1 in the string reading from left-to-right). Eq. (1) can be rewritten using index i:
∂k(n)|sk=Σi=0n−1δs
where it is now chosen to locate each bit counting from the right starting with index 0. The description here introduces the notation sk[i] to represent the ith bit of the string. The description uses |sk−1(i) to mean |sk with the ith vertex set to 0 (where i can be any bit index). All references to l can be replaced, including the implicitly required knowledge of the location of the last 1 (the sum across i simply runs from 0 to n−1). Below, this definition is illustrated with explicit examples.
In an aspect, ∂k(n)'s action on a single simplex can be split into two cases depending on whether the last vertex, indexed n−1, is in the simplex or not. The absence or presence of this last vertex is represented by the bit sk[n−1] being 0 or 1, respectively. If sk[n−1]=0, the quantum state corresponding to this single simplex (call it |sk,0) is a single computational basis state whose binary string has exactly k one's somewhere in it, except that the left most bit is zero. If this basis state is written as an exponentially long vector it consists of a column of 2n−1 bits only one of which is 1 (at a location whose binary string consists of those k ones) followed by 2n−1 zeros. This is similarly the case for |sk,1, but with the single 1 appearing in the second half of the column vector.
where Pk−1(n−1) is the projection on to the computational basis states of n−1 qubits whose binary strings contain exactly k−1 ones. It can be seen how the block diagonal notation is allowing for removing or leaving alone the kth one precisely in the nth position. In this particular equation, since one may only act on |sk,1 and remove the nth vertex, the projection could be replaced by the identity operator.
Fermionic Boundary Operator
Fermionic fields obey Fermi-Dirac statistics, which means that they admit a mode expansion in terms of creation and annihilation oscillators that anticommute. In one or more embodiments, fermionic creation and annihilation operators can be mapped to Pauli spin operators. The mapping can work both way. For example, Pauli spin operators can be mapped to fermionic creation and annihilation, for example, depending on a starting premise. The Jordan-Wigner transformation is one such mapping. In one or more embodiments, a system and/or method can make use of it to express the boundary matrix.
The restricted boundary operator given in Eq. (1) is not in a form that can be easily executed on a quantum computer, nor does it act on all orders, k, at the same time. In particular, it is a high-level description of the action of the boundary operator on a single generic k-dimensional simplex with the location of the ones assumed to be known. In one or more embodiments, a novel representation is proposed that realizes the full boundary operator as a matrix. Furthermore, this representation in an embodiment is in tensor product form composed of quantum computing primitives that directly map to quantum gates in the quantum circuit model.
To begin, define the operator:
This way, the full boundary operator can be written in terms of the above operator:
where the αi are the Jordan-Wigner Pauli embeddings corresponding to the n-spin fermionic annihilation operators. In another embodiment, for example, other than the Jordan-Wigner mapping of fermionic operators, other embeddings (e.g., Bravyi-Kitaev) may also be contemplated, for example, via translation between the different embeddings. In yet another embodiment, since simplicial homology can be recast in terms of these fermionic operators, other geometric structures can be explored under this light. To be explicit, αi is the antisymmetric annihilation operator on mode/orbital i (indexed from the right, starting at zero):
When Eq. (6) is realized in matrix form, where the rows' and columns' integer indices (counting from left to right and top to bottom, beginning at zero) are translated into binary, the meaning of these strings correspond exactly to the simplex strings introduced above. Recall, a one at bit i of the simplex string (counting from the right, starting from zero) corresponds to selecting the ith vertex.
The following result can be shown:
Theorem 1. The full boundary operator as defined in Eq. (6) is a sum over the restricted boundary operators over simplices of each dimension as defined above as follows
∂(n)=Σk=1n∂k(n). (9)
Remark. A simple sum (as opposed to a direct sum) can be used because the definition of ∂k has been extended to a common vertex space of size n. The rewriting constructs the full boundary operator in one step and the individual ∂k's do not feature at all. To recover the ∂k's one would project into the appropriate space, which is a step in implementing QTDA on quantum computers. The index i of the ai fermionic operators indicates which qubit out of n is acted upon by Q+ (counting from the right) and does not involve ∂k (e.g., there is no k dependence).
Proof. The proof proceeds by induction. A recurrence relation can be set up first as follows.
Recurrence Relation: Equation or Eq. (6) is amenable to efficient quantum circuit construction as shown below. It can be further shown that Eq. (6) is valid and correctly implements the high level description of Eq. (9). A way to prove equation (9) is by noticing that the left hand side satisfies the following recurrence relation and then connecting the recurrence relation to the right hand side of Eq. (9):
∂(n)=Q+⊗l⊗(n−1)+σz⊗∂(n−1) (10)
∂(1)=Q+.
It helps to write Eq. (10) in block diagonal form:
and consider the action of ∂(n) in terms of ∂(n−1).
The operator ∂(n−1) acts on vectors of size 2n−1, while ∂(n) acts on vectors of size 2n. The vector of size 2n can be seen as two halves of size 2n−1. The top half includes simplices where the nth vertex is not in the simplex. The bottom half corresponds to a ‘copy’ of the n−1 space but now with the nth vertex selected. For example, edges in the upper half become triangles in the lower half, since the nth vertex is added. The top-left block of ∂(n) in Eq. (11) is ∂(n−1) acting on the ‘top-half’ simplices, where the nth vertex is not selected (sk[n−1]=0 and k has to be strictly less than n) and returns simplices (the boundaries) in the top half (since taking the boundary does not add the nth vertex). The top-right block (j⊗(n−1)) acts on simplices in the bottom half (sk[n−1]=1) and returns simplices in the top half, which corresponds to simply removing the nth vertex and leaving everything else the same (hence the identity operator). The bottom-right block acts on simplices in the bottom half (sk[n−1]=1) and returns simplices in the bottom half, corresponding to those returned by taking the boundary operator acting on the first n−1 vertices and leaving the nth vertex selected. The bottom returned vertices has a multiplication by −1 because acting on the first n−1 vertices by ∂(n−1) does not factor in the extra minus one from the nth vertex in the definition shown in Eq. (2).
Inductive Proof of Simplex Action:
Eq. (9) can be proven via induction. The base case, ∂(1)=∂1(1) takes the single vertex vector to the null vector. It can be assumed that ∂(n) for n≥1 implements the sum of restricted boundary operators of Eq. (9) up to n, and that assumption can be used to show that ∂n+1 correctly implements the sum up to n+1, i.e., that
∂(n+1)=Σk=1n+1∂k(n+1). (12)
From Eq. (11), the left hand side of Eq. (12) is
and from the inductive assumption of Eq. (9), this becomes
The right hand side of Eq. (12) contains terms of the form ∂k(n+1). All ∂k(n+1) act on n+1 vertices, so in matrix form they are all of the same dimension. From Eq. (3) and Eq. (4), there can be
Now since any |s=Σk|sk=Σk(|sk,0+|sk,1) and the matrix in Eq. (15) takes |sk,1 to the null vector:
while the matrix in Eq. (16) similarly takes |sk,0 to the null vector:
Eq. (15) and Eq. (16) can be combined, while paying attention to different values of k:
where P0n=|0 . . . 00 . . . 0| (n zeroes) and Pn(n)=1 . . . 11 . . . 1| (n ones). Note that ∂n+1(n+1) produces no top-left block and ∂1n+1) produces no bottom-right block.
Therefore, the right hand side of Eq. (12) is:
Therefore the right-hand side is equal to the left-hand side Eq. (14).
With the proof in hand, it can be understood as to why Eq. (6) and its recursive form Eq. (10) can only produce Eq. (1) in summation form of Eq. (9). In particular, ∂k on a simplex with one more potential vertex (n+1) is related to both ∂k and ∂k−1 on the original number of vertices (n). Therefore, in an embodiment, a system (and/or method and/or apparatus) can implement the full chain of sums to build up a recursive construction, where the system can sequentially add one vertex at a time, which then makes a quantum-implementable tensor definition possible.
Unitary Circuit
The boundary operator above is not Hermitian. To work with a version that is Hermitian, an embodiment for implementing a quantum circuit can add the Hermitian conjugate of the boundary operator to itself. Every Q+ in the tensor product now becomes σx=Q++(Q+)†. Hence, the full Hermitian boundary operator is
where I denotes the single-qubit identity operator, and
Q
i:=αi+αi†, (22)
with αi as defined in Eq. (7). This, Qi is a Kronecker product of n Pauli matrices, of which the n−(i+1) leftmost are σz. The goal can now be to construct a unitary circuit to implement either B or exp(iBt) (depending on the application). Towards this end, it is useful to note that:
Lemma 1 The Q,'s pairwise anticommute: {Qi, Qj}=0 for i≠j.
Proof. The mixed-product identity for the Kronecker product is
(A⊗B)·(C⊗D)=(AC)⊗(BD). (23)
Hence, there can be (assuming without loss of generality that i>j so that there are more σz matrices in Qj)
for any k=x, y, z, Eq. (24) immediately yields the result.
Any real linear combination of pairwise anticommuting Pauli operators can be unitarily equivalent to a single Pauli operator, up to some rescaling. One can think of this as a generalization of the Bloch sphere to more than three Pauli operators. Moreover, the unitary that maps the linear combination to the single Pauli operator can be efficiently constructed. This technique can reduce the number of distinct terms in Hamiltonians to be simulated using variational quantum eigensolvers, in which context it is known as unitary partitioning.
For neighbouring Q's Qi−1 and Qi,
where Xi−1 and Yi are, respectively,
X
i−1
=l
⊗(n−i)⊗σx⊗l⊗(i−1), (26)
Y
i
=l
⊗(n−(i+l))⊗σy⊗l⊗i. (27)
Hence, −iQi−1Qi is itself a Pauli operator, and commutes with all Pauli terms in B except for Qi−1 and Qi. Therefore, a rotation generated by −iQi−1Qi only affects those two terms. For an arbitrary linear combination αQi+βi−1 for real α and β, define the following rotation generated by −iQi−1Qi:
It can be shown that Ri's adjoint action on the linear combination is
R
i(αQi+βQi−1)Ri†=√{square root over (α2+β2)}Qi−1 (29)
Therefore, the system can map B, which as given in Eq. (21) is the sum of all of the Qis, to a single Qi via a sequence of such rotations as follows:
where each arrow represents an application of Ri as in Eq. (28) with the given values of α and β. Hence, the system can map B to √{square root over (n)}Q0=√{square root over (n)}X0, i.e., a single-qubit Pauli σx, via n−1 rotations generated by two-qubit Paulis YiXi−1.
Let R denote this entire sequence of rotations, i.e.,
R=Π
i=(n−1)
i=1
R
i. (31)
In terms of R, the above result is
RBR
†=√{square root over (n)}X0, (32)
which implies that
B=√{square root over (n)}R†X0R. (33)
Based on Eq. (33), a boundary map quantum circuit can be constructed or built, e.g., for a QTDA use case. Since R†X0R is unitary, it can be implemented as a quantum circuit, and to obtain B the constant of proportionality can be included during classical postprocessing.
In one or more embodiments, for other use cases (such as propagators in differential equations), the time evolution of B can be implemented. For these cases, in order to implement the time-evolution generated by B for a time t, an embodiment of a quantum circuit can apply R, then implement the time-evolution generated by √{square root over (n)}X0 for time t, and then invert R:
e
−iBt
=R
†
e
−i√{square root over (n)}X
t
R, (34)
where R and Ri are as defined in Eq. (28) and Eq. (31).
Remark. The cost of implementing this evolution is independent of t, since the system can classically precompute √{square root over (n)}t mod 2π and implement the rotation generated by X0 through this angle.
Referring to Eq. (33), the quantum gates shown at 202, 204, 206 construct the rotations represented as “R” (e.g., concatenation of Ri's, i=1 to n−1), where n=4; the CNOT (controlled NOT) gate shown at 208 represents the term “X0”; and the gates shown at 210, 212, 214 represent the term “R†” (e.g., concatenation of R†i's, i=1 to n−1).
For example, Ri implements Pauli Yi and Xi−1 rotations applied to the i-th and (i−1)-th qubits, respectively. In an embodiment, a quantum circuit can implement this rotation around the eigenstates of Pauli X and Y by applying a change of bases onto the z-axis, and rotating about the z-axis by a given angle. A change of basis from X to z-axis for (i−1)-th qubit can be implemented by applying an H-gate to the (i−1)-th qubit. A change of basis from Y to z-axis for i-th qubit can be implemented by applying X-gate, S-gate, and H-gate to the i-th qubit. A rotation around the z-axis can be implemented by applying a rotation gate about the z-axis by a given angle.
For instance, each of 202, 204 and 206 shows rotations, Ri according to Eq. (28), for qubit i, where i=1 to n−1 (see Eq. (31)). Referring to 202 (e.g., for i=1), by way of example, H-gate on q0 performs change of basis of qubit i−1 (Xi−1 in Eq. (28)) to z-axis; X-gate, S-gate, H-gate on q1 perform change of basis of qubit i (Yi in Eq. (28)) to z-axis; CNOT-gate on q0 and ancilla bit, and CNOT-gate on q1 and ancilla bit prepare for rotation about z-axis, e.g., a CNOT-gate entangles two qubits; Rz-gate (or Z-gate) implements rotation by a given angle (atan2(α, β), e.g., see Eq. (30)); the rest of the gates shown in 202 perform changing back of basis or undoing the changes of basis. As shown by 202, 204 and 206, the set of gates shown at 202 repeat for n−1 iterations, for any n qubits (e.g., vertices of a simplicial complex or nodes in a graph). Each iterations operates on two-qubits, i-th and (i−1)-th qubits.
Briefly, X-gate rotates the qubit state by w radians (180°) about the x-axis. S-gate rotates the qubit state by π/2 radians (90°) about the z-axis. Z-gate rotates the qubit state by π radians (180°) about the z-axis. H-gate rotates the qubit state by w radians (180°) about an axis diagonal in the x-z plane, which can be equivalent to an X-gate followed by a π/2 rotation about the y-axis. Controlled-NOT (CNOT)-gate applies an X-gate to the target qubit if the control qubit is in state |1>.
For instance, a quantum circuit simulating a boundary operator can include n input qubit registers (or qubits), an ancilla qubit register (or qubit), n−1 sets of first quantum gates configured to perform two qubit Pauli Xi−1 and Yi rotations applied to the (i−1)-th and i-th qubits, respectively, where i can be 1 to n−1, an X-gate configured to act on (n−1)-th qubit, and a series of n−1 sets of second quantum gates configured to reverse the two qubit rotations performed by the n−1 sets of first quantum gates.
The resulting transformation or mapping represented in the quantum states of the qubits can be communicated to another one or more quantum circuits, to be used in computation. For instance, in an embodiment, the quantum circuit simulating a boundary operator can be used as a component of a series of quantum circuits, implementing TDA. In another embodiment, the quantum circuit simulating a boundary operator can be used as a component of a series of quantum circuits implementing another quantum algorithm.
In an embodiment, because the quantum circuit is an exact representation of the boundary operator or map (an exact implementation), for example, without approximation, there are no trotterization errors and no approximation errors. For example, previous works that use approximation for implementing a large matrix via techniques such as sparse data access, may introduce errors including approximation errors into the representation.
Depth and Shots in QTDA Use Case
The above unitary form of the boundary operator shown as Eq. (33) has depth (n) since there are 2(n−1) rotations and one X0. To be precise, the dependence on n is contained in R, which is a sequence of n−1 two-qubit rotations, so in total there can be 2(n−1) two-qubit rotations. For achieving the (n) depth, each Pauli rotation (involving two qubits) can be implemented in constant depth. For example, the standard way to evolve a single Pauli string is to change the basis of each of the qubits affected by a σx or σy into the σz basis (there are only two such qubits for each rotation, which is independent of n) followed by rotation around the z-axis while accounting for parity. Therefore, the two-qubit rotations are independent of n and the overall depth of Eq. (33) is (n).
With the boundary operator performed analytically there can be a saving in the number of shots needed compared to the Trotterized version. In the Trotterized version, Δ (the Laplacian of the restricted boundary operator) is implemented via Taylor expansion of the Trotterized evolution of exp(iBt) for small t and solving for Δ. In order to account for Trotterization error, (t2)<∈. Therefore (t)<√{square root over (∈)}. In order to account for the Taylor-expansion-and-solve-for-B error, the intermediate expectation calculation should be known to within ∈n(t2). Therefore, (t)<∈n(t2) and 1/∈<n(t). Therefore, 1/(∈n)<(t)<√{square root over (∈)}. This may show that not all ∈ can be achieved.
Next, consider, for achievable e, the number of samples needed to overcome shot-noise
The measurement expectation should be known to within ∈shot<∈(t2)<∈2. Therefore the number of samples needed is
In contrast, since there is no Trotterization and Taylor expansion error for the analytic circuit, the number of samples needed can be
which is a quadratic saving (and more for higher moments).
In one or more embodiments, a short-depth ((n)) quantum circuit for the exact, analytical implementation of the full Hermitian boundary operator on a gate-based quantum computer can be provided. The quantum circuit can provide for an improvement over a Trotterized implementation, which can result in at least quadratic savings in the number of shots. A formal proof is described above for the proposition that the boundary operator can be written as a sum of fermionic creation and annihilation operators. This connection between algebraic geometry and fermionic operators can potentially be explored for applications in other areas. The fermionic representation together with the property of pairwise Pauli anticommutation permits implementation via a short-depth circuit implementing a cascade of two-qubit rotations. With such a short-depth circuit for the full boundary operator, additional quantum implementations of many algorithms that have the boundary operator as a component, e.g., including in the fields of differential equations and machine learning, can be contemplated.
By way of example, the following illustrates the formulae described above with the explicit example of n=3. There are three vertices in the example here, which can be called, ν0,1,2. The following then uses binary degree-lexicographic representation of the 8 simplices constructible from these vertices as follows:
A few of the boundary operators as defined above can be checked as follows. Consider ∂1(3), which should take a line to its boundary endpoints, with sign. Take |s1=011, there are only 2 terms contribution since the Kronecker-delta picks out νi and ν0, i.e., i=0,1
a.∂
1
(3)
|s
1
=(−1)Σ
Next, take |s2=111 and act upon it with ∂2(3), whereupon all 3 terms in the sum contribute:
b.∂
2
(3)
|s
2
=(−1)Σ
which says that that the boundary of the triangle are the 3 (signed) edges.
The Boundary Operator ∂(n)
The following shows the boundary operator ∂(n), constructed from the pieces ∂k(n) given in Eq. (6), explicitly. The initial cases are simply:
Nilpotency
The following checks that the boundary operator is nilpotent, as is required from homology:
Lemma 2. The boundary operator satisfies ∂(n)·∂(n)=0.
Proof. A proof can proceed by induction. Immediately, one checks that (∂(1))2=(∂(2))2=(∂(3))2=0 where 0 is the 2n×2n matrix of zeros; thus, the initial terms check out. Next, assume that (∂(n))2=0 as the induction hypothesis. Now, there is (the third line uses the so-called mixed product rule for Kronecker and dot products):
Thus it suffices to prove the anticommutation
a. {σ
z
⊗n,∂(n)}=σz⊗n·∂(n)+∂(n)·σz⊗n=0 (40)
To see this, another, separate induction can be set up. Clearly, the initial terms check out: {∂(1), σz}={∂(2), σz⊗n}=0. Now, let the induction hypothesis be:
Now, the first term vanishes by induction hypothesis, and the second term also vanishes since {σz, Q+}={∂(1), σz}=0, the initial term.
Hamiltonian
The following can also check the explicit form of the Hamiltonian exp(iB(n)t)=exp(i(∂(n)+(∂(l))†)) against Eq. (34).
On the right hand side of the theorem, there is
Hence, the right hand side is just exp(−iX0t)=exp(−1σxt). Recalling that for integer n,
there is equality.
This explicit matrix can be cross-checked against Eq. (34). There is, from ∂(2), that
and there is perfect agreement of Eq. (45) and Eq. (47).
As discussed above, a quantum circuit can implement or simulate a boundary operator. A quantum circuit can include a sequence of quantum gates and initialization of qubits to known values, and may also include measurements.
As described above, the boundary operator B can be represented efficiently as a sum of Pauli operators. For instance, as described above with reference to Eq. (6), the matrix a (e.g., also known as the single spin annihilation operator from second quantization quantum mechanics) can be defined as
where α is written in terms of the Pauli operators σx and σy. This α can be considered as removing a specific vertext out of a simplex. Note, by inspection or by recognizing the coefficient of σy is imaginary, that both a and the boundary operator below are not Hermitian. Similar to Eq. (6) above, the full boundary map operator ∂=⊕k∂k of all possible simplices can be written in the following manner,
where the αi are the Jordan-Wigner Pauli embeddings corresponding to the n-spin fermionic annihilation operators.
The ⊗ is the tensor product (as many as qubits, n), and α is applied consecutively to each qubit, preceded by σz (also referred to as Z matrices). The identity matrices, leave other vertices in-place, if they are there. The tensor of Z matrices before the α matrix in each term achieves the parity calculation, which keeps track of the sign of the boundary simplex. There are n terms. The boundary matrix applies to a vector of size: 2n (2 to the power of n, also denoted as 2{circumflex over ( )}n). For example, this vector encodes the simplices (points, edges, faces, . . . ) in binary characteristic form (0 for absent, 1 for present). The Hermitian full Boundary map matrix can be given as B=∂†+∂=Σi=0n−1αi+ai†.
There can be n single qubit operations in the tensor product in each of the above terms, one for each vertex in the simplicial complex. The α term “removes a vertex” from a simplex and the instances of σz provide the correct sign in the oriented sum by accumulating as many instances of −1 as there are vertices present to the left of the vertex being removed (also known as anti-symmetrizing the wave function).
This non-Hermitian operator can be transformed into an associated Hermitian operator by adding its complex conjugate as
a.B=∂
†+∂=Σi=0n−1αi+αi†.
Since the σy terms cancel out, the matrix B only has σx and σz terms. B can be expressed as a sum of polynomially-many Pauli terms, and eiB can be simulated efficiently, e.g., using the Trotter-Suzuki formula. The structure of the quantum circuit can further be reduced with gate cancellations to achieve a depth complexity of O(n). That is, the number of gates implemented on the quantum circuit can be linearly related, e.g., by some constant value, to n, the number of qubits representing the vertices in a simplicial complex.
The following describes details on the simulation of B in another embodiment, for example, as shown in
b.e
−iΣ
A
t=Πj=11e−i
where the error in this approximation is negligible when t1.
Each Aj are Pauli terms {σx, σy, σz, σi}⊗n. Pauli terms commute with each other. Hence, by permuting blocks to align the terms that commute, several gates can be cancelled in order to reduce the size (both gate and depth complexity) of the circuit.
In an embodiment, the Pauli terms can be mapped to quantum circuits using diagonalization and unitary evolution. The Pauli terms {σz, σi}⊗n are already diagonal, and thus there can be eiσ
Using diagonalization, the Pauli σx=HσzHT, where
is the Hadamard matrix, and e−iσ
Next, for the boundary operator B=∂+∂†, there can be
since α+α†=σx. Therefore, eiBt can be simulated using a quantum circuit with CNOT, Hadamard H, and rotation Rz(t) gates.
For example, supposing n=4, the basic circuit (with one ancillary qubit) can be obtained for B using the above diagonalization. An embodiment of this basic circuit is shown in
Referring to
Pauli operators or matrices can represent quantum gates. For example, there is a Pauli gate or matrix for each axis in space (X, Y and Z) or bloch sphere. The X-gate is represented by the Pauli-X (or σx) matrix:
A Pauli gate acts on one qubit at a time. The Pauli X-gate corresponds to a classical NOT gate. For example, the X-gate can be referred to as the quantum NOT gate. The X-gate generally turns the spin-up state |0> of an electron into a spin-down state |1> and vice-versa.
Likewise, the Y (also referred to as σy) and Z (also referred to as σz) Pauli matrices act as the Y-gate and the Z-gate: The following shows the Pauli Y and Z gates expressed in matrix forms.
Generally, the Pauli X gate action can be considered a rotation by π (pi) radians (180 degrees) around the x-axis of the Bloch sphere, and can result in the bit flip; the Pauli Z gate action can be considered a rotation by π radians around the z-axis of the Bloch sphere, and can result in the phase flip; and the Pauli Y gate action can be considered a rotation by π radians around the y-axis of the Bloch sphere, and can result in both the bit flip and the phase flip simultaneously. Pauli operators have properties such that two Pauli operators commute only if they are identical or one of them is the identity operator or matrix, otherwise they anticommute. For example, aiaj=I, if i=j; and aiaj=0, if i≠j; where i and j are x, y or z of the Pauli operators, and I is the identify matrix.
Generally, controlled gates act on two or more qubits, where one or more qubits act as a control for some specified operation. The controlled NOT gate (or CNOT) can act on 2 qubits, and perform the NOT operation on the second qubit (target) if the first qubit (control) is |1, and if the first qubit is |0, leave the second qubit unchanged. The solid circle or dot represents a control bit. If the control bit is |1 (e.g., from the first qubit), the CNOT gate acts on (performs NOT operation on) the second qubit (e.g., the ancillary qubit), otherwise, the second qubit is left unchanged. The CNOT gate is annotated with ‘+’ within a circle. The Hadamard gate or H-gate (annotated as ‘H’ within a box) creates superpositions of vectors. For example, the Hadamard gate turns vector
turns vectors
H-gate rotates the qubit state by π (pi) radians (180 degrees) about an axis diagonal in the x-z plane of the Bloch sphere. This is equivalent to an X-gate followed by a π/2 rotation about the y-axis. The Rotation Rz gate rotates or flips the qubit around the z-axis of the bloch sphere.
The quantum circuit shown in
In an aspect, the number of non-parallel gates, i.e., those that run on their own time slice, is called depth of gate or gate depth. For example, there can be ten gates total in a quantum circuit, but its gate depth can be five, if some of the gates can be run in parallel, that is, at the same time slice. One or more quantum circuits disclosed herein is able to use O(n) gates and depth, where n corresponds to the number of vertices (or nodes). A practical example of a vertex can be a data point that represents an object with one or more attributes. Another example can be a patient having one or more attributes, for example, of a health or medical database. As more vertices are added, more qubits (e.g., horizontal line in
Referring to
As described above, the generic template for a quantum circuit can be given by Eq. (33), and also by Eq. (6). Those formulae decompose the boundary operator or represent the boundary operator in terms of simple objects which can be represented in quantum computing. For instance, a 2×2 matrix form can be represented using quantum gates such as the four basic gates, which are Pauli gates based on Pauli operators. This 2×2 form can be combined with other set of such 2×2 matrices to build a 2n (also expressed as 2{circumflex over ( )}n) matrix. For example, if there are n points or vertices, the boundary operator can be a 2n matrix. This 2n matrix can be constructed using the 2×2 building blocks. For any given n, using this building block, 2n boundary operator can be constructed. In an embodiment, a quantum circuit provides an actual representation of such matrix on a quantum computer.
A boundary map or operator, which can be expressed as a 2n×2n matrix, can represent a graph that defines connections between two or more points, nodes or vertices. For instance, where the data represents a simplicial complex, the subscript k in the term ∂k, represents a simplex dimension. For example, subscript of 1 (e.g., ∂1) indicates a connection between two points (forming a line); subscript 2 (e.g., ∂2) indicates connections between three points (forming a triangle), e.g., how many triangles are connected among one another; and so on. The sum of all the connections can be 2n (also expressed as 2{circumflex over ( )}n). In an embodiment, the boundary map can be decomposed into components that can be mapped to quantum primitives, e.g., Pauli operators. For example, a quantum circuit implementation can construct a boundary map or operator, which can be an exponentially large matrix, using O(n) gates and depth on the quantum computer. In an embodiment, only one qubit needs to be well connected to other qubits in the quantum circuit. Such boundary map can have many different applications. As the number of qubits increases, the circuit can be scaled to include additional set of gates, e.g., 3 CNOT gates, 2 H gates and a Rz gate, which connect the ancilla gate and an additional qubit. For instance, each set of operators correspond to a Pauli operator or Pauli string, which is quantum circuit mapped. For example, referring to Eq. (6), each αi in Σi=0n−1 αi can be a Pauli operator or Pauli string. Further, considering the pairwise anticommute properties of the Pauli operator, some gates can be cancelled to reduce the overall gate depth. Connecting the individual qubits and using rotation operations systematically translates the initial state to quantum states that construct the boundary operator on a quantum computer.
So for example, the quantum circuit shown in
At 802, the method can include representing a boundary operator that maps boundaries of a given graph having at least nodes and edges in terms of Pauli spin operators, the boundary operator decomposed as a sum of the Pauli spin operators. In an embodiment, a boundary operator can be represented that maps a given graph with nodes and edges to its boundaries. For example, in an embodiment, the method can include representing a boundary operator that maps simplices of orders, e.g., of all orders, in a given simplicial complex in terms of Pauli spin operators, the boundary operator decomposed as a sum of the Pauli spin operators, for example, for example, as described above. At 804, the method can include constructing on or for a quantum computer, a quantum circuit that includes Pauli quantum gates that map to the Pauli spin operators, for example, as described above. In an embodiment, the Pauli spin operators are mapped into fermionic creation and annihilation operators. In an embodiment, the quantum circuit operates on n qubits corresponding to n vertices in the given simplicial complex, and an ancillar qubit. In an embodiment, the quantum circuit operates on two qubits of the n qubits and an ancilla bit at a time. In another embodiment, the connectivity in the quantum circuit occurs only between the ancilla qubit and one the n qubits at a time.
In an embodiment, at 806, the method may also include simplifying the quantum circuit, e.g., reducing the number of Pauli quantum gates in the quantum circuit based on anticommutation property associated with the Pauli spin operators. In an embodiment, consecutive or series of single qubit gates can be combined into a unitary operator.
At 822, the method can include a controller such as a controller of a quantum system generating one or more command signals. In an embodiment, for example, the command signals indicate what operations are to be performed on qubits of quantum hardware. At 824, the method can also include an interface of the quantum system converting the command signals into quantum operations. For instance, the interface can convert the command signals into signals that can drive or manipulate qubits, for example, to perform operations on the qubits. At 826, the method can include the interface of the quantum system, based on the quantum operations, controlling quantum hardware of the quantum system to construct a quantum circuit including at least Pauli quantum gates. For example, control signals (e.g., quantum operations) applied to or routed to one or more qubits control gate operates that construct the quantum circuit. The quantum circuit can be configured to simulate a boundary operator that creates a mapping of boundaries of a given graph having at least nodes and edges. In an embodiment, the quantum circuit can have linear depth relative to the number of nodes in the given graph.
In an embodiment, a boundary operator can be represented that maps a given graph with nodes and edges to its boundaries. In an embodiment, a boundary operator that maps boundaries of a given graph having at least nodes and edges can be represented in terms of Pauli spin operators, the boundary operator decomposed as a sum of the Pauli spin operators. For example, in an embodiment, a boundary operator can map simplices of orders, e.g., of all orders, in a given simplicial complex in terms of Pauli spin operators, where the boundary operator can be decomposed as a sum of the Pauli spin operators. In an embodiment, the Pauli spin operators are mapped into fermionic creation and annihilation operators. In an embodiment, the quantum circuit operates on n qubits corresponding to n vertices in the given simplicial complex, and an ancillar qubit. In an embodiment, the quantum circuit operates on two qubits of the n qubits and an ancilla bit at a time. In another embodiment, the connectivity in the quantum circuit occurs only between the ancilla qubit and one the n qubits at a time.
In an embodiment, the quantum circuit can be a simplified quantum circuit, e.g., the number of Pauli quantum gates in the quantum circuit being reduced based on anticommutation property associated with the Pauli spin operators. In an embodiment, consecutive or series of single qubit gates can be combined into a unitary operator to simplify the quantum circuit.
The computer system 11 may be described in the general context of computer system executable instructions, such as program modules, being executed by a computer system. Generally, program modules may include routines, programs, objects, components, logic, data structures, and so on that perform particular tasks or implement particular abstract data types. The computer system 11 may be practiced in distributed cloud computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed cloud computing environment, program modules may be located in both local and remote computer system storage media including memory storage devices.
The components of computer system 11 may include, but are not limited to, one or more processors or processing units 12, a system memory 16, a bus 14, storage system(s) 18, I/O interface(s) 20, network adapter(s) 22, network 24, devices 26, and display(s) 28. Bus 14 may couple various components of computer system 11. The processor 12 may include modules (e.g., programming modules) that performs the methods described herein. The modules among processor 12 may be programmed into the integrated circuits of the processor 12, or loaded from memory 16, storage device 18, or network 24 or combinations thereof. Processor 12 can be, for example, a microprocessor, a microcontroller, a processor core, a multicore processor, central processing unit (CPU) of computing devices such as a classical computer and/or quantum computers, and/or other types of computer processing element.
Bus 14 may represent one or more of any of several types of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, and a processor or local bus using any of a variety of bus architectures. By way of example, and not limitation, such architectures include Industry Standard Architecture (ISA) bus, Micro Channel Architecture (MCA) bus, Enhanced ISA (EISA) bus, Universal Serial Bus (USB), Video Electronics Standards Association (VESA) local bus, and Peripheral Component Interconnects (PCI) bus.
Computer system 11 may include a variety of computer system readable media. Such media may be any available media that is accessible by computer system, and it may include both volatile and non-volatile media, removable and non-removable media.
System memory 16 can include computer system readable media in the form of volatile memory, such as random access memory (RAM) and/or cache memory or others. Computer system may further include other removable/non-removable, volatile/non-volatile computer system storage media. By way of example, storage system 18 can be provided for reading from and writing to a non-removable, non-volatile magnetic media (e.g., a “hard drive”). Although not shown, a magnetic disk drive for reading from and writing to a removable, non-volatile magnetic disk (e.g., a “floppy disk”), and an optical disk drive for reading from or writing to a removable, non-volatile optical disk such as a CD-ROM, DVD-ROM or other optical media can be provided. In such instances, each can be connected to bus 14 by one or more data media interfaces.
Computer system 11 may also communicate with one or more external devices 26 such as a keyboard, a pointing device, a display 28, network card, modem, etc. that enable a user to interact with computer system and/or that enable computer system 11 to communicate with one or more other computing devices. Devices 26 can be connected to components among computer system 11 via bus 14 and/or input/output (I/O) interfaces 20.
Computer system 11 can communicate with one or more networks 24 such as a local area network (LAN), a general wide area network (WAN), and/or a public network (e.g., the Internet) via network adapter 22 and/or I/O interfaces 20. Computer system 11 can communicate with networks 24 through wired connections (e.g., wires or cables connected to bus 14) or wireless connections (e.g., through network cards among I/O devices 20 and/or network adapter 22). Network adapter 22 can communicate with the other components of computer system 11 via bus 14. It should be understood that although not shown, other hardware and/or software components could be used in conjunction with computer system 11. Examples include, but are not limited to: field-programmable gate array (FPGA), system on chip (SoC), microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data archival storage systems, etc.
Quantum chipset 32 can be a quantum computing core surrounded by an infrastructure to shield quantum chipset 32 from sources of electromagnetic noise, mechanical vibration, heat, and other sources of noise, which tend to degrade performance. Magnetic shielding can be used to shield the system components from stray magnetic fields, optical shielding can be used to shield the system components from optical noise, thermal shielding and cryogenic equipment can be used to maintain the system components at controlled temperature, etc. For example, an infrastructure that can surround quantum chipset 32 can be a refrigerator that can cool the quantum chipset to an operating temperature of quantum chipset 32.
In the figure, the plurality of qubits can be denoted as q1, q2 . . . , qn. Quantum chipset 32 can operate by performing quantum logic operations (e.g., using quantum gates 36) on qubits. Quantum gates 36 can include one or more single-qubit gates and/or two-qubit gates. Quantum circuits can be formed based on quantum gates 36, and quantum chipset 32 can operate the quantum circuits to perform quantum logic operations on single qubits or conditional quantum logic operations on multiple qubits. Conditional quantum logic can be performed in a manner that entangles the qubits. Control signals can be received by quantum chipset 32, and quantum chipset 32 can use the received control signals to manipulate the quantum states of individual qubits and the joint states of multiple qubits.
Measurement interface 38 can include circuit components configured to measure a basis of qubits 34, where the basis is a measurement that will yield a classical bit result. Each measurements performed by measurement interface circuit 38 can be read out to a device (e.g., a classical computer) connected to quantum computing system 30. A plurality of measurement results provided by measurement circuit 38 can result in a probabilistic outcome.
Controller 45 may be any combination of digital computing devices capable of performing a quantum computation, such as executing a quantum circuit, in combination with interface 46. Such digital computing devices may include digital processors and memory for storing and executing quantum commands using interface 46. Additionally, such digital computing devices may include devices having communication protocols for receiving such commands and sending results of the performed quantum computations to classical computer 41. Additionally, the digital computing devices may include communications interfaces with the interface 46. Controller 45 can be configured to receive classical instructions (e.g., from classical computer 41) and convert the classical instructions into drive signals. The drive signals can be used for driving or manipulating qubits and/or quantum gates and/or circuits among quantum hardware 47.
Interface 46 may be a combination of devices capable of receiving command signals from controller 45 and converting those signals into quantum operations for execution on the quantum hardware 47. Additionally, interface 46 may be capable of converting signals received from the quantum hardware 47 into digital signals capable of processing and transmitting by controller 45. Devices included in interface 46 may include, but are not limited to, digital-to-analog converters, analog-to-digital converters, waveform generators, attenuators, amplifiers, optical fibers, lasers, and filters.
Quantum hardware 47 may be any hardware capable of using quantum states to process information. Such hardware may include a collection of qubits, and mechanisms to couple/entangle such qubits, in order to process information using said quantum states. Such qubits may include, but are not limited to, charge qubits, flux qubits, phase qubits, spin qubits, and trapped ion qubits.
The classical computer 41 can be any suitable combination of computer-executable hardware and/or computer-executable software capable of executing a preparation module 42 to perform quantum computations with data contained in a data store 43 as part of building and implementing a machine learning protocol. Data store 43 may be a repository for data to be analyzed using a quantum computing algorithm, as well as the results of such analysis. In an example system, classical computer 41 can be a laptop computer, a desktop computer, a vehicle-integrated computer, a smart mobile device, a tablet device, and/or any other suitable classical computing device. Additionally or alternatively, classical computer 41 may also operate as part of a cloud computing service model, such as Software as a Service (SaaS), Platform as a Service (PaaS), or Infrastructure as a Service (IaaS). Classical computer 102 may also be located in a cloud computing deployment model, such as a private cloud, community cloud, public cloud, or hybrid cloud. Aspects of this embodiment are described in more detail below with reference to
Preparation module 42 may be a program or module capable of preparing classical data from data store 43 to be analyzed as part of the implementation of a quantum circuit. Preparation module 42 may be instantiated as part of a larger algorithm, such as a function call of an application programming interface (API) or by parsing a hybrid classical-quantum computation into aspects for quantum and classical calculation. Preparation module 42 may generate instructions for creating a quantum circuit, e.g., using quantum gates. In an embodiment, such instructions may be stored by controller 41, and may instantiate the execution of the components of interface 46 so that the quantum operations of the quantum gates may be executed on quantum hardware 47.
It is understood in advance that although this disclosure may include a description on cloud computing, implementation of the teachings recited herein are not limited to a cloud computing environment. Rather, embodiments of the present invention are capable of being implemented in conjunction with any other type of computing environment now known or later developed. Cloud computing is a model of service delivery for enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g. networks, network bandwidth, servers, processing, memory, storage, applications, virtual machines, and services) that can be rapidly provisioned and released with minimal management effort or interaction with a provider of the service. This cloud model may include at least five characteristics, at least three service models, and at least four deployment models.
Characteristics are as follows:
On-demand self-service: a cloud consumer can unilaterally provision computing capabilities, such as server time and network storage, as needed automatically without requiring human interaction with the service's provider.
Broad network access: capabilities are available over a network and accessed through standard mechanisms that promote use by heterogeneous thin or thick client platforms (e.g., mobile phones, laptops, and PDAs).
Resource pooling: the provider's computing resources are pooled to serve multiple consumers using a multi-tenant model, with different physical and virtual resources dynamically assigned and reassigned according to demand. There is a sense of location independence in that the consumer generally has no control or knowledge over the exact location of the provided resources but may be able to specify location at a higher level of abstraction (e.g., country, state, or datacenter).
Rapid elasticity: capabilities can be rapidly and elastically provisioned, in some cases automatically, to quickly scale out and rapidly released to quickly scale in. To the consumer, the capabilities available for provisioning often appear to be unlimited and can be purchased in any quantity at any time.
Measured service: cloud systems automatically control and optimize resource use by leveraging a metering capability at some level of abstraction appropriate to the type of service (e.g., storage, processing, bandwidth, and active user accounts). Resource usage can be monitored, controlled, and reported providing transparency for both the provider and consumer of the utilized service.
Service Models are as follows:
Software as a Service (SaaS): the capability provided to the consumer is to use the provider's applications running on a cloud infrastructure. The applications are accessible from various client devices through a thin client interface such as a web browser (e.g., web-based e-mail). The consumer does not manage or control the underlying cloud infrastructure including network, servers, operating systems, storage, or even individual application capabilities, with the possible exception of limited user-specific application configuration settings.
Platform as a Service (PaaS): the capability provided to the consumer is to deploy onto the cloud infrastructure consumer-created or acquired applications created using programming languages and tools supported by the provider. The consumer does not manage or control the underlying cloud infrastructure including networks, servers, operating systems, or storage, but has control over the deployed applications and possibly application hosting environment configurations.
Infrastructure as a Service (IaaS): the capability provided to the consumer is to provision processing, storage, networks, and other fundamental computing resources where the consumer is able to deploy and run arbitrary software, which can include operating systems and applications. The consumer does not manage or control the underlying cloud infrastructure but has control over operating systems, storage, deployed applications, and possibly limited control of select networking components (e.g., host firewalls).
Deployment Models are as follows:
Private cloud: the cloud infrastructure is operated solely for an organization. It may be managed by the organization or a third party and may exist on-premises or off-premises.
Community cloud: the cloud infrastructure is shared by several organizations and supports a specific community that has shared concerns (e.g., mission, security requirements, policy, and compliance considerations). It may be managed by the organizations or a third party and may exist on-premises or off-premises.
Public cloud: the cloud infrastructure is made available to the general public or a large industry group and is owned by an organization selling cloud services.
Hybrid cloud: the cloud infrastructure is a composition of two or more clouds (private, community, or public) that remain unique entities but are bound together by standardized or proprietary technology that enables data and application portability (e.g., cloud bursting for load-balancing between clouds).
A cloud computing environment is service oriented with a focus on statelessness, low coupling, modularity, and semantic interoperability. At the heart of cloud computing is an infrastructure that includes a network of interconnected nodes.
Referring now to
Referring now to
Hardware and software layer 60 includes hardware and software components. Examples of hardware components include: mainframes 61; RISC (Reduced Instruction Set Computer) architecture based servers 62; servers 63; blade servers 64; storage devices 65; and networks and networking components 66. In some embodiments, software components include network application server software 67 and database software 68.
Virtualization layer 70 provides an abstraction layer from which the following examples of virtual entities may be provided: virtual servers 71; virtual storage 72; virtual networks 73, including virtual private networks; virtual applications and operating systems 74; and virtual clients 75.
In one example, management layer 80 may provide the functions described below. Resource provisioning 81 provides dynamic procurement of computing resources and other resources that are utilized to perform tasks within the cloud computing environment. Metering and Pricing 82 provide cost tracking as resources are utilized within the cloud computing environment, and billing or invoicing for consumption of these resources. In one example, these resources may include application software licenses. Security provides identity verification for cloud consumers and tasks, as well as protection for data and other resources. User portal 83 provides access to the cloud computing environment for consumers and system administrators. Service level management 84 provides cloud computing resource allocation and management such that required service levels are met. Service Level Agreement (SLA) planning and fulfillment 85 provide pre-arrangement for, and procurement of, cloud computing resources for which a future requirement is anticipated in accordance with an SLA.
Workloads layer 90 provides examples of functionality for which the cloud computing environment may be utilized. Examples of workloads and functions which may be provided from this layer include: mapping and navigation 91; software development and lifecycle management 92; virtual classroom education delivery 93; data analytics processing 94; transaction processing 95; and boundary operator processing 96.
The flowchart and block diagrams in the Figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logical function(s). In some alternative implementations, the functions noted in the blocks may occur out of the order noted in the Figures. For example, two blocks shown in succession may, in fact, be accomplished as one step, run concurrently, substantially concurrently, in a partially or wholly temporally overlapping manner, or the blocks may sometimes be run in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts or carry out combinations of special purpose hardware and computer instructions.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. As used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. As used herein, the term “or” is an inclusive operator and can mean “and/or”, unless the context explicitly or clearly indicates otherwise. It will be further understood that the terms “comprise”, “comprises”, “comprising”, “include”, “includes”, “including”, and/or “having,” when used herein, can specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof. As used herein, the phrase “in an embodiment” does not necessarily refer to the same embodiment, although it may. As used herein, the phrase “in one embodiment” does not necessarily refer to the same embodiment, although it may. As used herein, the phrase “in another embodiment” does not necessarily refer to a different embodiment, although it may. Further, embodiments and/or components of embodiments can be freely combined with each other unless they are mutually exclusive.
The corresponding structures, materials, acts, and equivalents of all means or step plus function elements, if any, in the claims below are intended to include any structure, material, or act for performing the function in combination with other claimed elements as specifically claimed. The description of the present invention has been presented for purposes of illustration and description, but is not intended to be exhaustive or limited to the invention in the form disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the invention. The embodiment was chosen and described in order to best explain the principles of the invention and the practical application, and to enable others of ordinary skill in the art to understand the invention for various embodiments with various modifications as are suited to the particular use contemplated.