BACKGROUND

The present invention relates generally to a method for quantum computing. More particularly, the present invention relates to a method for adaptive error correction in quantum computing.

Hereinafter, a “Q” prefix in a word of phrase is indicative of a reference of that word or phrase in a quantum computing context unless expressly distinguished where used.

Molecules and subatomic particles follow the laws of quantum mechanics, a branch of physics that explores how the physical world works at the most fundamental levels. At this level, particles behave in strange ways, taking on more than one state at the same time, and interacting with other particles that are very far away. Quantum computing harnesses these quantum phenomena to process information.

The computers we commonly use today are known as classical computers (also referred to herein as “conventional” computers or conventional nodes, or “CN”). A conventional computer uses a conventional processor fabricated using semiconductor materials and technology, a semiconductor memory, and a magnetic or solid-state storage device, in what is known as a Von Neumann architecture. Particularly, the processors in conventional computers are binary processors, i.e., operating on binary data represented by 1 and 0.

A quantum processor (q-processor) uses the unique nature of entangled qubit devices (compactly referred to herein as “qubit,” plural “qubits”) to perform computational tasks. In the particular realms where quantum mechanics operates, particles of matter can exist in multiple states—such as an “on” state, an “off” state, and both “on” and “off” states simultaneously. Where binary computing using semiconductor processors is limited to using just the on and off states (equivalent to 1 and 0 in binary code), a quantum processor harnesses these quantum states of matter to output signals that are usable in data computing.

Conventional computers encode information in bits. Each bit can take the value of 1 or 0. These 1 s and 0 s act as on/off switches that ultimately drive computer functions. Quantum computers, on the other hand, are based on qubits, which operate according to two key principles of quantum physics: superposition and entanglement. Superposition means that each qubit can represent both a 1 and a 0 inference between possible outcomes for an event. Entanglement means that qubits in a superposition can be correlated with each other in a non-classical way; that is, the state of one (whether it is a 1 or a 0 or both) can depend on the state of another, and that there is more information contained within the two qubits when they are entangled than as two individual qubits.

Using these two principles, qubits operate as processors of information, enabling quantum computers to function in ways that allow them to solve certain difficult problems that are intractable using conventional computers.

A superconducting qubit includes a Josephson junction. A Josephson junction is formed by separating two thin-film superconducting metal layers by a non-superconducting material. When the metal in the superconducting layers is caused to become superconducting—e.g. by reducing the temperature of the metal to a specified cryogenic temperature—pairs of electrons can tunnel from one superconducting layer through the non-superconducting layer to the other superconducting layer. In a qubit, the Josephson junction—which functions as a dispersive nonlinear inductor—is electrically coupled in parallel with one or more capacitive devices forming a nonlinear microwave oscillator. The oscillator has a resonance/transition frequency determined by the value of the inductance and the capacitance in the qubit circuit.

The information processed by qubits is carried or transmitted in the form of microwave signals/photons in the range of microwave frequencies. The microwave signals are captured, processed, and analyzed to decipher the quantum information encoded therein. A readout circuit is a circuit coupled with the qubit to capture, read, and measure the quantum state of the qubit. An output of the readout circuit is information usable by a q-processor to perform computations.

A superconducting qubit has two quantum states−|0> and |1>. These two states may be two energy states of atoms, for example, the ground (|g>) and first excited state (|e>) of a superconducting artificial atom (superconducting qubit). Other examples include spin-up and spin-down of the nuclear or electronic spins, two positions of a crystalline defect, and two states of a quantum dot. Since the system is of a quantum nature, any combination of the two states are allowed and valid.

For quantum computing using qubits to be reliable, quantum circuits, e.g., the qubits themselves, the readout circuitry associated with the qubits, and other parts of the quantum processor, must not alter the energy states of the qubit, such as by injecting or dissipating energy, in any significant manner or influence the relative phase between the |0> and |1> states of the qubit. This operational constraint on any circuit that operates with quantum information necessitates special considerations in fabricating semiconductor and superconducting structures that are used in such circuits.

In conventional circuits, Boolean logic gates arranged in succession manipulate a series of bits. The technology for optimizing the gate-logic for binary computations is well-known. Circuit optimization software for conventional circuits aims to increase efficiency and decrease complexity of conventional circuits. Circuit optimization software for conventional circuits functions in part by decomposing the overall desired behavior of the conventional circuit into simpler functions. The conventional circuit optimization software more easily manipulates and processes the simpler functions. The circuit optimization software generates an efficient layout of design elements on the conventional circuit. As a result, circuit optimization software for conventional circuits significantly reduces resource demands, thereby increasing efficiency and decreasing complexity.

The illustrative embodiments recognize that in quantum circuits, quantum gates manipulate qubits to perform quantum computations. Quantum gates are unitary matrix transformations acting on qubits. Due to the superposition and entanglement of qubits, quantum gates represent a 2nby 2nmatrix, where n is the number of qubits the quantum gate manipulates. The illustrative embodiments recognize that the decomposition of such matrix transformations quickly becomes too complex to perform by hand due to the exponential increase in the size of the matrix transformations with the number of qubits. For example, quantum computers with 2 qubits require a 4 by 4 matrix operator for quantum gate representation. As a result of the exponential increase, manual quantum logic gate matrix transformations quickly become unmanageable as the number of qubits increases. The depth of a quantum circuit is the total number of time steps. Each time step corresponds to a quantum logic gate acting on a set of qubits.

The illustrative embodiments recognize that quantum processors exhibit varying physical characteristics over a period of time. The illustrative embodiments recognize that calibration of quantum processors determines error rates for associated qubits and quantum gates of the quantum processor. The illustrative embodiments further recognize that quantum processors are often calibrated only once or twice daily.

The illustrative embodiments recognize that quantum computers are more susceptible to errors than classical computers due to the sensitivity of quantum computers resulting in unwanted interactions with the environment. The illustrative embodiments recognize that quantum states and quantum operations are continuous, i.e. belong to continuous intervals, which allows small errors to accumulate over an entire quantum circuit. The illustrative embodiments further recognize that classical error correcting schemes perform a measurement to inquire about the nature and type of error. The illustrative embodiments recognize that performing a measurement on a quantum system collapses the quantum system and can result in loss of information encoded in a quantum state from collapsing the quantum state to a classical state.

The illustrative embodiments recognize that presently available quantum error correction techniques require varying amounts of quantum computing resources to operate. A three-qubit bit flip code uses three qubits to determine and correct errors in one of the three qubits. The first, or target qubit, is transmitted through a noisy channel which either flips the state of the first qubit, with probability p, or leaves the state of the first qubit unchanged. Thus, the state of the first qubit is correctly transmitted with probability 1-p.

To improve this probability, the state of the first qubit is encoded into additional qubits. The first qubit is entangled with two ancillary qubits, and all three qubits are initialized in state |0>. As the encoded state of three qubits is transmitted through the noisy channel, the channel acts on the encoded state and flips a subset of the three qubits. The probability no qubit is flipped is (1-p){circumflex over ( )}3. The probability a single qubit is flipped is 3p*(1-p){circumflex over ( )}2. Two qubits are flipped with probability 3*p{circumflex over ( )}2*(1-p) and all three qubits are flipped with probability p{circumflex over ( )}3.

The illustrative embodiments recognize that p is generally a very small number. By determining whether one qubit differs from the others, detection of whether one of the qubits was flipped is determined. Since all qubits began in the same state, if any qubit differs from the others, the qubit was flipped while transmitting through the channel. If the qubit was flipped, a Pauli X gate or quantum bit-flip gate is applied to the flipped qubit.

The illustrative embodiments further recognize that sign flip produces another error in quantum computers. A Hadamard gate maps basis state |0> to (|0>+|1>)√2 and basis state |1> to (|0>−|1>)/√2. Using the three qubit bit flip code above and adding a layer of Hadamard gates on each qubit before and after transmission through the noisy channel, the three qubit bit flip code is transformed to a three qubit sign flip code.

The illustrative embodiments further recognize that more complex quantum error correction techniques require additional quantum computing resources. The Shor code requires nine total qubits, one target qubit and eight ancillary qubits. The Shor code corrects for bit slips, sign flips, and any arbitrary single-qubit errors. The Steane code requires seven total qubits, one target qubit and six ancillary qubits to correct for any arbitrary single-qubit errors. Calderbank-Shor-Steane (CSS) codes require a minimum of five total qubits, one target qubit and four ancillary qubits to correct for any arbitrary single-qubit errors. The illustrative embodiments recognize that choosing an appropriate error correction technique depends on the quantum computing resources available.

SUMMARY

The illustrative embodiments provide a method for adaptive error correction in quantum computing. In an embodiment, a method includes executing a calibration operation on a set of qubits, the calibration operation determining an initial state of a quantum processor. In an embodiment, a method includes estimating, responsive to determining an initial state of the quantum processor, a runtime duration for a quantum circuit design corresponding to a quantum algorithm, the quantum processor configured to execute the quantum circuit design.

In an embodiment, a method includes computing an error scenario for the quantum circuit design. In an embodiment, a method includes selecting, using the error scenario and the initial state of the quantum processor, a quantum error correction approach for the quantum circuit design. In an embodiment, a method includes transforming the quantum algorithm into the quantum circuit design, the quantum circuit design including a set of quantum logic gates.

In an embodiment, a subset of the set of quantum logic gates corresponds to the selected quantum error correction approach. In an embodiment, the initial state of the quantum processor includes a total number of qubits of the quantum processor. In an embodiment, a method includes determining a depth of the quantum circuit design.

In an embodiment, a method includes assigning a set of weights to the set of quantum logic gates. In an embodiment, a method includes comparing the quantum circuit design to a set of previously executed quantum circuit designs. In an embodiment, a method includes determining a first computation cost for the selected quantum error correction approach.

In an embodiment, a method includes determining a second computation cost for a probabilistic quantum error correction approach. In an embodiment, a method includes comparing the quantum circuit design to a set of previously executed quantum circuit designs. In an embodiment, a method includes selecting a quantum error correction approach for a first quantum circuit design of the set of previously executed quantum circuit designs. In an embodiment, a method includes transforming the quantum algorithm into a new quantum circuit design, the new quantum circuit design including a set of quantum logic gates corresponding to the first quantum circuit design.

An embodiment includes a computer usable program product. The computer usable program product includes a computer-readable storage device, and program instructions stored on the storage device.

In an embodiment, the computer usable code is stored in a computer readable storage device in a data processing system, and wherein the computer usable code is transferred over a network from a remote data processing system. In an embodiment, the computer usable code is stored in a computer readable storage device in a server data processing system, and wherein the computer usable code is downloaded over a network to a remote data processing system for use in a computer readable storage device associated with the remote data processing system.

An embodiment includes a computer system. The computer system includes a processor, a computer-readable memory, and a computer-readable storage device, and program instructions stored on the storage device for execution by the processor via the memory.

