PREPARATION OF A CZ STATE FOR QUANTUM COMPUTATION

According to an embodiment of the present invention, a method, system, and computer program product for preparing a CZ state for use in magic state distillation. The embodiment may include initializing a code state across data qubits. The embodiment may include measuring a CZ operator of the codes state on at least one ancilla qubit proximal to the data qubits. The embodiment may include performing additional quantum operations with the CZ state based on the measurement of the at least one ancilla qubit.

BACKGROUND

The present invention relates to Quantum Computing, and more specifically, to gate initializations to improve the performance of quantum computers.

Magic state distillation is a process that takes in multiple noisy quantum states and outputs a smaller number of more reliable quantum states. Some quantum operations (i.e., Clifford Operations) can be simulated in polynomial time on a probabilistic classical computer. In order to achieve universal quantum computation, a quantum computer must be able to perform operations outside this set. Magic state distillation achieves this, in principle, by concentrating the usefulness of imperfect resources, represented by mixed states, into states that are conducive for performing operations that are difficult to simulate classically.

SUMMARY

According to an embodiment of the present invention, a method, system, and computer program product for preparing a CZ state for use in magic state distillation. The embodiment may include initializing a code state across data qubits. The embodiment may include measuring a CZ operator of the codes state on at least one ancilla qubit proximal to the data qubits. The embodiment may include performing additional quantum operations with the CZ state based on the measurement of the at least one ancilla qubit.

According to an embodiment of the present invention, that may be combined with the previous embodiment, the embodiment may further include initializing each data qubit in a state. The embodiment may include performing a Pauli-X stabilizer circuit with single qubit rotations onto each data qubit. The embodiment may include measuring the at least one ancilla qubit.

According to an embodiment of the present invention, that may be combined with the previous embodiment, the embodiment may include performing an additional correction to the data qubits based on the measurement result of the at least one ancilla qubit.

According to an embodiment of the present invention, that may be combined with the previous embodiment, the embodiment may include the additional correction comprises a X-rotation on a single qubit.

According to an embodiment of the present invention, that may be combined with the previous embodiment, where in the embodiment measuring the CZ operator may include performing a Pauli-X stabilizer circuit with specific single qubit rotations onto data qubits and measuring the ancilla qubit.

According to an embodiment of the present invention, that may be combined with the previous embodiment, the embodiment may include performing at least one error detecting measurement prior to performing additional operations with the CZ state.

According to an embodiment of the present invention, that may be combined with the previous embodiment, the embodiment may include reinitializing the CZ state across data qubits based on a measurement of the ancilla qubit.

DETAILED DESCRIPTION

PERIPHERAL DEVICE SET114includes the set of peripheral devices of computer101. Data communication connections between the peripheral devices and the other components of computer101may be implemented in various ways, such as Bluetooth connections, Near-Field Communication (NFC) connections, connections made by cables (such as universal serial bus (USB) type cables), insertion-type connections (for example, secure digital (SD) card), connections made through local area communication networks and even connections made through wide area networks such as the internet. In various embodiments, UI device set123may include components such as a display screen, speaker, microphone, wearable devices (such as goggles and smart watches), keyboard, mouse, printer, touchpad, game controllers, and haptic devices. Storage124is external storage, such as an external hard drive, or insertable storage, such as an SD card. Storage124may be persistent and/or volatile. In embodiments where computer101is required to have a large amount of storage (for example, where computer101locally stores and manages a large database) then this storage may be provided by peripheral storage devices designed for storing very large amounts of data, such as a storage area network (SAN) that is shared by multiple, geographically distributed computers. IoT sensor set125is made up of sensors that can be used in Internet of Things applications. For example, one sensor may be a thermometer and another sensor may be a motion detector.

FIG.2Aillustrates a block diagram of an example hybrid computing system200that can facilitate execution of a quantum algorithm. As shown, a client device210may interface with a classical backend220to enable computations with the aid of a quantum system230.

Network202may be any combination of connections and protocols that will support communications between the client device210, the classical backend220, and the quantum system230. In an example embodiment, network202may WAN102.

Client device210may be an implementation of computer101or EUD103, described in more detail with reference toFIG.1, configured to operate in a hybrid computing system200.

Client application211may include an application or program code that includes computations requiring a quantum algorithm or quantum operation. In an embodiment, client application211may include an object-oriented programming language, such as Python® (“Python” is a registered trademark of the Python Software Foundation), capable of using programming libraries or modules containing quantum computing commands or algorithms, such as QISKIT (“QISKIT” is a registered trademark of the International Business Machines Corporation). In another embodiment, client application211may include machine level instructions for performing a quantum circuit, such as OpenQASM. Additionally, user application may be any other high-level interface, such as a graphical user interface, having the underlying object oriented and/or machine level code as described above.

The classical backend220may be an implementation of computer101, described in more detail with reference toFIG.1, having program modules configured to operate in a hybrid computing system200. Such program modules for classical backend220may include algorithm preparation221, classical computation222, and data store223.

Algorithm preparation221may be a program or module capable of preparing algorithms contained in client application211for operation on quantum system230and includes CZ State Prep Protocol299. Algorithm preparation221may be instantiated as part of a larger algorithm, such as a function call of an API, or by parsing a hybrid classical-quantum computation into aspects for quantum and classical calculation. Algorithm preparation221may additionally compile or transpile quantum circuits that were contained in client application211into an assembly language code for use by the local classical controller231. During transipilation/compilation an executable quantum circuit in the quantum assembly language may be created based on the calculations to be performed, the data to be analyzed, and the available quantum hardware. In one example embodiment, algorithm preparation221may select a quantum circuit from a library of circuits that have been designed for use in a particular problem. In another example embodiment, algorithm preparation221may receive a quantum circuit from the client application211and may perform transformations on the quantum circuit to make the circuit more efficient, or to fit the quantum circuit to available architecture of the quantum processor233. Additionally, algorithm preparation221may prepare classical data from data store223, or client application211, as part of the assembly language code for implementing the quantum circuit by the local classical controller231. Algorithm preparation221may additionally set the number of shots (i.e., one complete execution of a quantum circuit) for each circuit to achieve a robust result of the operation of the algorithm. Further, algorithm preparation221may update, or re-compile/re-transiple, the assembly language code based on parallel operations occurring in classical computing resource222or results received during execution of the quantum calculation on quantum system230. Additionally, algorithm preparation221may determine the criterion for convergence of the quantum algorithm or hybrid algorithm.

CZ State Prep Protocol299may form a portion of algorithm preparation221. CZ State Prep Protocol299may include instructions, such as a circuit for creating quantum states on quantum hardware233, for creating a CZ magic state for use in a quantum computation for quantum system230. Specifically, CZ State Prep Protocol299may create a code state on physical qubits. A measurement of the CZ operator of the code state may confirm whether there was an acceptable preparation of the code state. The state may then undergo further error checks to determine whether state is prepared. The CZ state may then undergo further quantum operations, such as magic state distillation and use in quantum calculations. The operations of CZ State Prep Protocol299are discussed in more detail in with respect toFIG.3A,FIG.3B,FIG.5A, andFIG.5B.

Classical computing resource222may be a program or module capable of performing classical (e.g., binary, digital) calculations contained in client application211. Classical calculations may include formal logical decisions, AI/ML algorithms, floating point operations, and/or simulation of Quantum operations.

Data store223may be a repository for data to be analyzed using a quantum computing algorithm, as well as the results of such analysis. Data store223may be an implementation of storage124and/or remote database130, described in more detail with reference toFIG.1, configured to operate in a hybrid computing system200.

The quantum system230can be any suitable set of components capable of performing quantum operations on a physical system. In the example embodiment depicted inFIG.2, quantum system230includes a local classical controller231, a classical-quantum interface232, and quantum processor233. In some embodiments, all or part of each of the local classical controller231, a classical-quantum interface232, and quantum processor233may be located in a cryogenic environment to aid in the performance of the quantum operations. In an embodiment, classical backend220and quantum system230may be co-located to reduce the communication latency between the devices.

Local classical controller231may be any combination of classical computing components capable of aiding a quantum computation, such as executing a one or more quantum operations to form a quantum circuit, by providing commands to a classical-quantum interface232as to the type and order of signals to provide to the quantum processor233. Local classical controller231may additionally perform other low/no latency functions, such as error correction, to enable efficient quantum computations. Such digital computing devices may include processors and memory for storing and executing quantum commands using classical-quantum interface232. 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 backend220. Additionally, the digital computing devices may include communications interfaces with the classical-quantum interface232. In an embodiment, local classical controller231may include all components of computer101, or alternatively may be individual components configured for specific quantum computing functionality, such as processor set110, communication fabric111, volatile memory112, persistent storage113, and network module115.

Classical-quantum interface232may be any combination of devices capable of receiving command signals from local classical controller231and converting those signals into a format for performing quantum operations on the quantum processor233. Such signals may include electrical (e.g., RF, microwave, DC) or optical signals to perform one or more single qubit operations (e.g., Pauli gate, Hadamard gate, Phase gate, Identity gate), signals to preform multi-qubit operations (e.g., CNOT-gate, CZ-gate, SWAP gate, Toffoli gate), qubit state readout signals, and any other signals that might enable quantum calculations, quantum error correction, and initiate the readout of a state of a qubit. Additionally, classical-quantum interface232may be capable of converting signals received from the quantum processor233into digital signals capable of processing and transmitting by local classical controller231and classical backend220. Such signals may include qubit state readouts. Devices included in classical-quantum interface232may include, but are not limited to, digital-to-analog converters, analog-to-digital converters, waveform generators, attenuators, amplifiers, filters, optical fibers, and lasers.

Quantum processor233may be any hardware capable of using quantum states to process information. Such hardware may include a collection of qubits, mechanisms to couple/entangle the qubits, and any required signal routings to communicate between qubits or with classical-quantum interface232in order to process information using the quantum states. Such qubits may include, but are not limited to, charge qubits, flux qubits, phase qubits, spin qubits, and trapped ion qubits. The architecture of quantum processor233, such as the arrangement of data qubits, error correcting qubits, and the couplings amongst them, may be a consideration in performing a quantum circuit on quantum processor233.

Referring now toFIG.2B, a block diagram is depicted showing an example architecture, and data transmission, of hybrid computation system250employed using a cloud architecture for classical backend220. Hybrid computation system250receives an algorithm containing a computation from a client application211of client device210. Upon receipt of the algorithm and request from client application211, hybrid computation system250instantiates a classical computing node260and a quantum computing node270to manage the parallel computations. The classical computing node260may include one or more classical computers capable of working in tandem. For example, classical computing node260may include an execution orchestration engine261, one or more classical computation resources222, and a result data store223. The backend quantum runtime system202may include a combination of classical and quantum computing components acting together to perform quantum calculations on quantum hardware including, for example, one or more quantum systems230. The quantum computing node270may include a quantum runtime application271and one or more quantum systems230.

The client application211may include programing instructions to perform quantum and classical calculations. In an embodiment, client application211may be in a general purpose computing language, such as an object oriented computing language (e.g., Python®), that may include classical and quantum functions and function calls. This may enable developers to operate in environments they are comfortable with, thereby enabling a lower barrier of adoption for quantum computation.

The execution orchestration engine261, in using algorithm preparation221, may parse the client application211into a quantum logic/operations portion for implementation on a quantum computing node270, and a classical logic/operations portion for implementation on a classical node260using a classical computation resource222. In an embodiment, parsing the client application211may include performing one or more data processing steps prior to operating the quantum logic using the processed data. In an embodiment, parsing the client application211may including segmenting a quantum circuit into portions that are capable of being processed by quantum computing node270, in which the partial results of each of the segmented quantum circuits may be recombined as a result to the quantum circuit. Execution orchestration engine261may parse the hybrid algorithm such that a portion of the algorithm is performed using classical computation resources222and a session of quantum computing node270may open to perform a portion of the algorithm. Quantum runtime application271may communicate, directly or indirectly, with classical computation resources222by sending parameters/information between the session to perform parallel calculations and generate/update instructions of quantum assembly language to operate quantum system230, and receiving parameters/information/results from the session on the quantum system230. Following the parsing of the hybrid algorithm for calculation on quantum computing node270and classical computing node260, the parallel nodes may iterate the session to convergence by passing the results of quantum circuits, or partial quantum circuits, performed on quantum system230to classical computing resource222for further calculations. Additionally, runtime application271, using algorithm preparation221, may re-parse aspects of the hybrid algorithm to improve convergence or accuracy of the result. Such operation results, and progress of convergence, may be sent back to client device210as the operations are being performed. By operating execution orchestration engine261in a cloud environment, the environment may scale (e.g., use additional computers to perform operations necessary) as required by the client application211without any input from the creators/implementors of client application211. Additionally, execution orchestration engine261, while parsing the client application211into classical and quantum operations, may generate parameters, function calls, or other mechanisms in which classical computation resource222and quantum computing node270may pass information (e.g., data, commands) between the components such that the performance of the computations enabled by client application211is efficient.

Classical computation resources222may perform classical computations (e.g., formal logical decisions, AI/ML algorithms, floating point operations, simulation of Quantum operations) that aid/enable/parallelize the computations instructed by client application211. By utilizing classical computation resources222in an adaptively scalable environment, such as a cloud environment, the environment may scale (e.g., use additional computers to perform operations necessary including adding more classical computation resources222, additional quantum systems230, and/or additional resources of quantum systems230within a given quantum computing node270) as required by the client application211without any input from the creators/implementors/developers of client application211, and may appear seamless to any individual implementing client application211as there are no required programming instructions in client application211needed to adapt to the classical computation resources222. Thus, for example, such scaling of quantum computing resources and classical computing resources may be provided as needed without user intervention. Scaling may reduce the idle time, and thus reduce capacity and management of computers in classical computing node260.

Result data store223may store, and return to client device210, states, configuration data, etc., as well as the results of the computations of the client application211.

Implementation of the systems described herein may enable hybrid computing system200, through the use of quantum system230, to process information, or solve problems, in a manner not previously capable. The instantiation of more accurate quantum states, by CZ State Prep Protocol299, may reduce the number of iterations of magic state distillation required to achieve an accurate quantum state for use in quantum computing. This may reduce circuit depth, and the number of qubits necessary, to achieve efficient and accurate quantum calculations from the quantum system230. Additionally, the quantum assembly language created by classical backend220may enable quantum system230to use quantum states to perform calculations in a more efficient and accurate manner by enabling more efficient non-Clifford gates through the creation of a more accurate CZ state and magic state distillation.

Referring toFIG.3AandFIG.3B, a method of creating an initial state prior to initializing the CZ operator is depicted. Referring to step310, the qubits are prepared for measurement by the CZ operator. The initial state on the physical qubits is |0000>+|1111>+|0101>+|1010>+|1100>+|0011>+|1001>+|0110>. In the circuit depicted inFIG.3A, this is accomplished by setting 4 data qubits to an initial |+vector prior to performing a Szstabilizer circuit. Following the stabilizer circuit, an ancilla qubit (such as a flag qubit) may be measured. Successful measurements may proceed to step320. Unsuccessful measurements would lead to a reinitialization according to the current step. Some measurement results may be corrected using a feed forward rotational gate, such as an X-gate on at least one of the data qubits. Alternatively, the initial code state may be obtained through post selection (i.e., only based on successful measurement and without the feed forward rotational gate).

Referring to step320, the initialized CZ operator, W, is measured to determine whether qubits prepared for the CZ operator in step310exhibit the correct states. After, if there is an acceptable outcome of the measurement, the states of the physical qubits are |0000>+|1111>+|0101>+|1010>+|1100>+|0011>. The measurement of the CZ operator may be performed by conjugating a Pauli-X stabilizer, Sx, with a gate rotation applied to each physical qubit. In an example embodiment, in which a T gate rotation is applied, the resulting operation W≈(T⊗T †⊗T†⊗T) Sx(T†⊗T⊗T⊗T†). Following this conjugation, an ancilla qubit may be measured.

Referring to step325, if a state of the ancilla qubit is acceptable (i.e., +1 state), the method proceeds to step330. If the state of the ancilla qubit is not acceptable (i.e., not+1) the method ends, and can be repeated from step310.

Referring to step330, error checks may be performed to detect if any errors have occurred. As depicted in the circuit, the CZ operator, W, may be reperformed to determine if there were any other types of errors associated with performance of the original gate. Additionally, an X-stabilizer circuit, Sx, and a Z-stabilizer circuit, Sz, may be performed to identify errors that may have occurred in steps310,320, and330.

Referring to step340, if a state of the ancilla qubits is acceptable, the method proceeds to step350. If the state of the ancilla qubits is not acceptable the method ends, and can be repeated from step310.

Referring to step350, subsequent quantum operations may be using the created CZ state. For example, magic state distillation may further refine the state to achieve an error tolerant CZ state. Additionally, such states may be used in the creation of other states, such as Toffoli states, and each of these states may be used to perform quantum computations or other magic state distillation protocols.

Referring toFIG.4, an example qubit architecture is depicted. In the figure, qubits are depicted as circles (capable of undergoing single qubit rotations) while couplings between qubits (capable of enabling 2 qubit operations) are depicted as lines. In the example architecture qubits 0, 2, 4, and 6 are data qubits; qubits 1 and 5 are flag qubits; and qubit 3 is an ancilla qubit. As should be understood, the 7 qubit architecture may be part of a larger lattice structure.

Referring toFIG.5, depicted is an example set of gate operations for performing the functions ofFIG.3Aon the qubit architecture ofFIG.4. In the example circuit when performing the measurement of the CZ operator, W, U represents a T-gate, and the conjugate where noted, and a measurement M is taken at ancilla qubit 3. In such a circuit a measurement of +1 signifies a valid CZ state. In the example circuit when performing the Sxstabilizer, U represents an Identity gate, and the conjugate where noted, and measurements f and g are taken at ancilla qubits 1 and 5. In the example circuit when performing the Szstabilizer, U represents a Hadamard gate, and the conjugate where noted, and measurements f and g are taken at ancilla qubits 1 and 5.

Referring toFIG.6, depicted is tomography data for CZ states using the methods proscribed in theFIGS.3A and3Bcompared to a common method in which the magic state is manually prepared on physical qubits which are subsequently encoded onto the desired code. In the depicted graph, the 0.0 measurement shows the baseline, where the current method and the standard method are equal. Values in the positive depict states in which the current method has a better residual Hellinger Fidelity (RHG), while negative states in which the standard methods a better RHF. As shown, the current method outperforms the standard method for both the two logical-qubit subspace and the four physical-qubit Hilbert space.