Patent Description:
Waveform generation has a wide range of uses in radio frequency (RF) technology. Many of these uses, including such areas as Rabi spectroscopy, as well as testing RF filters, attenuators, and transmission cables, and operation of quantum computers use frequency sweeps. In order to generate frequency sweeps, existing waveform generation technology generates a series of waveforms that are identical except for output frequency.

<CIT> describes techniques facilitating reduction and/or mitigation of crosstalk in quantum bit gates of a quantum computing circuit. A system can comprise a memory that stores computer executable components and a processor that executes the computer executable components stored in the memory. The computer executable components can comprise a signal generation component that implements a control sequence that comprises a single pulse type for a first quantum bit and at least a second quantum bit of a quantum circuit. The computer-executable components can also comprise a coordination component that synchronizes a first pulse of a first channel of the first quantum bit and at least a second pulse of at least a second channel of the second quantum bit. The coordination component can simultaneously apply the first pulse to the first quantum bit and at least the second pulse to at least the second quantum bit.

<CIT> describes a system for generating waveforms that may include a memory configured to store a plurality of waveform segments, a plurality of waveform segment queues each coupled to receive waveform segments output by the memory, and a selection unit coupled to each of the waveform segment queues and configured to read waveform segments out of a selected one of the waveform segment queues. Each of the waveform segment queues may be configured to store a series of one or more waveform segments. The selection unit may be configured to access the first waveform segment queue during a first time period and to access the second waveform segment queue if a first trigger occurs.

The following presents a summary to provide a basic understanding of one or more embodiments of the invention. This summary is not intended to identify key or critical elements, or delineate any scope of the particular embodiments or any scope of the claims. Its sole purpose is to present concepts in a simplified form as a prelude to the more detailed description that is presented later. In one or more embodiments described herein, systems, computer-implemented methods, and/or computer program products facilitate approximating a range of sideband frequencies efficiently.

According to an embodiment, a system according to claim <NUM> is provided. An advantage of such a system is that it can efficiently store an approximation of the intended waveform in memory by dividing the intended waveform into the plurality of waveform snippets.

In some embodiments, the rotation component assigns the phase rotation to be applied by the waveform generator to the at least one waveform snippet of the plurality of waveform snippets using a phase rotation factor of 2π(ω+ε)t, where t is a time at which the at least one waveform snippet of the plurality of waveform snippets is played by the waveform generator, and ω+ε is the frequency of the intended waveform. An advantage of such a system is that it can use the at least one waveform snippet of the plurality of waveform snippets to approximate the intended waveform.

According to another embodiment, a computer-implemented method according to claim <NUM> is provided. An advantage of such a computer-implemented method is that it can efficiently store an approximation of the intended waveform in memory by dividing the intended waveform into the plurality of waveform snippets.

In some embodiments, the above computer-implemented method can further comprise assigning, by the system, the phase rotation to be applied by the waveform generator to the at least one waveform snippet of the plurality of waveform snippets using a phase rotation factor of <NUM>π(ω+ε)t, where t is a time at which the at least one waveform snippet of the plurality of waveform snippets is played by the waveform generator, and ω+ε is the frequency of the intended waveform. An advantage of such a computer-implemented method is that it can use the at least one waveform snippet of the plurality of waveform snippets to approximate the intended waveform.

According to another embodiment, a computer program product according to claim <NUM> is provided. An advantage of such a computer program product is that it can efficiently store an approximation of the intended waveform in memory by dividing the intended waveform into the plurality of waveform snippets.

In some embodiments, the program instructions are further executable by the processor to cause the processor to assign the phase rotation to be applied to the at least one waveform snippet of the plurality of waveform snippets using a phase rotation factor of <NUM>π(ω+ε)t, where t is a time at which the at least one waveform snippet of the plurality of waveform snippets is played by the waveform generator, and ω+ε is the frequency of the intended waveform. An advantage of such a computer program product is that it can use the at least one waveform snippet of the plurality of waveform snippets to approximate the intended waveform.

According to an embodiment, a system according to claim <NUM> is provided. An advantage of such a system is that it can efficiently store an approximation of an intended waveform by dividing the resource wave into the plurality of waveform snippets.

One or more embodiments are now described with reference to the drawings, where like referenced numerals are used to refer to like elements throughout. In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a more thorough understanding of the one or more embodiments. It is evident, however, in various cases, that the one or more embodiments can be practiced without these specific details.

Quantum computing is generally the use of quantum-mechanical phenomena to perform computing and information processing functions. Quantum computing can be viewed in contrast to classical computing, which generally operates on binary values with transistors. That is, while classical computers can operate on bit values that are either <NUM> or <NUM>, quantum computers operate on quantum bits (qubits) that comprise superpositions of both <NUM> and <NUM>, which can entangle multiple quantum bits and can use interference. This quantum superposition allows quantum systems to store and represent large data sets that are difficult to represent classically. Quantum computing has the potential to solve problems that, due to computational complexity, cannot be solved or can only be solved slowly on a classical computer. In many forms of quantum computers, the qubits within the quantum computer are operated through the use of radio frequency waves. As such, quantum computer can receive an instruction from a classical input, and then perform the instruction through the use of waveforms to operate the qubits within the quantum computer. Therefore, efficient waveform generation is important to the efficient operation of quantum computers.

A problem with existing waveform generation is that generating series of waveforms identical except for the output frequency, such as those used for a frequency sweeps, is highly memory intensive as each waveform is represented as a series of points, or samples, are implemented independently and stored in classical memory. A waveform generator can then use the samples as a set of instructions on how to play a waveform. The implementation or generation of the samples can have a large impact on the time it takes to play a series of waveforms as it takes time to generate samples for the entirety of a waveform as well as requiring large amount of classical memory and computations to accomplish.

Given the problems described above with existing waveform generation technologies, the present invention can be implemented to produce a solution to these problems in the form of systems, computer-implemented methods, and/or computer program products that can facilitate approximating a range of sideband frequencies efficiently by: generating a plurality of waveform snippets using a definition of an intended waveform, wherein the plurality of waveform snippets can be phase shifted; and/or assigning a phase rotation to be applied to at least one waveform snippet of the plurality of waveform snippets, wherein the phase rotation is out of phase with a previous waveform snippet of the plurality of waveform snippets. An advantage of such systems, computer-implemented methods, and/or computer program products is that they can decrease the memory workload used in order to generate a waveform. For example, the plurality of waveform snippets can comprise identical waveform snippets. As such, a sample representing a single waveform can be generated and reused to represent the plurality of waveform snippets as opposed to generating samples representing the entirety of the intended waveform.

In some embodiments, the present invention can be implemented to produce a solution to the problems described above in the form of systems, computer-implemented methods, and/or computer program products that can further facilitate approximating a range of sideband frequencies efficiently by: assigning the phase rotation to be applied to the at least one waveform snippet of the plurality of waveform snippets using a phase rotation factor of <NUM>π(ω+ε)t, where t is the time at which the at least one waveform snippet of the plurality of waveform snippets is played by a waveform generator, and ω+ε is the frequency of the intended waveform, and/or playing the one or more waveform snippets with the phase rotation by a waveform generator. An advantage of such systems, computer-implemented methods, and/or computer program products is that they can use the at least one waveform snippet of the plurality of waveform snippets to approximate the intended waveform without needing to generate and store samples representing the entire intended waveform in memory. For example, the waveform generator can play the waveform snippet repeatedly with a different phase rotation each time in order to approximate the intended waveform. In this manner, the waveform generator can play an approximation of the intended waveform without samples representing the entirety of the intended waveform.

Turning first generally to <FIG>, one or more embodiments described herein can include one or more devices, systems and/or apparatuses that can facilitate executing one or more quantum operations to facilitate output of one or more quantum results. For example, <FIG> illustrates a block diagram of an example, non-limiting system <NUM> that can facilitate operation of quantum hardware.

In one or more embodiments system <NUM> can comprise a classical computer <NUM>, a control system <NUM>, quantum hardware <NUM>, and/or a readout system <NUM>. Classical computer <NUM> can output a quantum job request as a digital signal <NUM> to control system <NUM>. Based on digital signal <NUM>, control system <NUM> can play, via a waveform generator, a microwave signal in order to facilitate completion of the quantum job. For example, control system <NUM> can play, via a waveform generator, microwave signal <NUM> in order to operate and/or manipulate qubits within quantum hardware <NUM> to perform the quantum job request. In another example, control system <NUM> can play, via a waveform generator, microwave signal <NUM> to readout system <NUM>. Readout system <NUM> can repeat microwave signal <NUM> to operate and/or manipulate qubits within quantum hardware <NUM> to output a microwave signal <NUM> of the quantum state of the qubits within quantum hardware <NUM>. Readout system <NUM> can then translate microwave signal <NUM> into digital signal <NUM> and send digital signal <NUM>, containing the quantum state of one or more qubits within quantum hardware <NUM>, to classical computer <NUM>.

Turning now generally to <FIG>, one or more embodiments described herein can include one or more devices, systems and/or apparatuses that can facilitate executing one or more quantum operations to facilitate output of one or more quantum results. For example, <FIG> illustrates a block diagram of an example, non-limiting system <NUM> that can complete the execution of a quantum job.

The quantum system <NUM> (e.g., quantum computer system, superconducting quantum computer system and/or the like) can employ quantum algorithms and/or quantum circuitry, including computing components and/or devices, to perform quantum operations and/or functions on input data to produce results that can be output to an entity. The quantum circuitry can comprise quantum bits (qubits), such as multi-bit qubits, physical circuit level components, high level components and/or functions. The quantum circuity can comprise physical pulses that can be structured (e.g., arranged and/or designed) to perform desired quantum functions and/or computations on data (e.g., input data and/or intermediate data derived from input data) to produce one or more quantum results as an output. The quantum results, e.g., quantum measurement <NUM>, can be responsive to the quantum job request <NUM> and associated input data and can be based at least in part on the input data, quantum functions and/or quantum computations.

In one or more embodiments, the quantum system <NUM> can comprise one or more quantum components, such as a quantum operation component <NUM>, a quantum processor <NUM> and a quantum logic circuit <NUM> comprising one or more qubits (e.g., qubits 112A, 112B and/or 112C), also referred to herein as qubit devices 112A, 112B and 112C. The quantum processor <NUM> can be any suitable processor, such as being capable of controlling qubit coherence and the like. The quantum processor <NUM> can generate one or more instructions for controlling the one or more processes of the quantum operation component <NUM>.

The quantum operation component <NUM> that can obtain (e.g., download, receive, search for and/or the like) a quantum job request <NUM> requesting execution of one or more quantum programs. In an example, quantum job request <NUM> can be a digital signal. The quantum operation component <NUM> can determine one or more quantum logic circuits, such as the quantum logic circuit <NUM>, for executing the quantum program. The request <NUM> can be provided in any suitable format, such as a text format, binary format and/or another suitable format. In one or more embodiments, the request <NUM> can be received by a component other than a component of the quantum system <NUM>, such as a by a component of a classical system coupled to and/or in communication with the quantum system <NUM>.

The quantum operation component <NUM> can perform one or more quantum processes, calculations and/or measurements for operating one or more quantum circuits on the one or more qubits 112A, 112B and/or 112C. For example, the quantum operation component <NUM> can operate one or more qubit effectors, such as waveform generator <NUM>, qubit oscillators, harmonic oscillators, pulse generators and/or the like to cause one or more pulses to stimulate and/or manipulate the state(s) of the one or more qubits 112A, 112B and/or 112C comprised by the quantum system <NUM>. That is, the quantum operation component <NUM>, such as in combination with the quantum processor <NUM>, can execute operation of a quantum logic circuit on one or more qubits of the circuit (e.g., qubit 112A, 112B and/or 112C). The quantum operation component <NUM> can output one or more quantum job results, such as one or more quantum measurements <NUM>, in response to the quantum job request <NUM>.

It will be appreciated that the following description(s) refer(s) to the operation of a single quantum program from a single quantum job request. However, it also will be appreciated that one or more of the processes described herein can be scalable, such as execution of one or more quantum programs and/or quantum job requests in parallel with one another.

In one or more embodiments, the non-limiting system <NUM> can be a hybrid system and thus can include both one or more classical systems, such as a quantum program implementation system, and one or more quantum systems, such as the quantum system <NUM>. In one or more other embodiments, the quantum system <NUM> can be separate from, but function in combination with, a classical system.

In such case, one or more communications between one or more components of the non-limiting system <NUM> and a classical system can be facilitated by wired and/or wireless means including, but not limited to, employing a cellular network, a wide area network (WAN) (e.g., the Internet), and/or a local area network (LAN). Suitable wired or wireless technologies for facilitating the communications can include, without being limited to, wireless fidelity (Wi-Fi), global system for mobile communications (GSM), universal mobile telecommunications system (UMTS), worldwide interoperability for microwave access (WiMAX), enhanced general packet radio service (enhanced GPRS), third generation partnership project (3GPP) long term evolution (LTE), third generation partnership project <NUM> (3GPP2) ultra mobile broadband (UMB), high speed packet access (HSPA), Zigbee and other <NUM>. XX wireless technologies and/or legacy telecommunication technologies, BLUETOOTH®, Session Initiation Protocol (SIP), ZIGBEE®, RF4CE protocol, WirelessHART protocol, 6LoWPAN (Ipv6 over Low power Wireless Area Networks), Z-Wave, an ANT, an ultra-wideband (UWB) standard protocol and/or other proprietary and/or non-proprietary communication protocols.

<FIG> and <FIG> illustrate block diagrams of example non-limiting systems <NUM> and <NUM> respectively, that can each facilitate approximating a range of sideband frequencies efficiently in order to assist in operation of quantum system <NUM> in accordance with one or more embodiments described herein. System <NUM> and <NUM> can each comprises a quantum operation component <NUM> of quantum system <NUM>. Quantum operation component <NUM> can comprise waveform approximation system <NUM>. In an embodiment, quantum operation component <NUM> can receive a quantum job request <NUM>. Based on quantum job request <NUM>, quantum operation component <NUM> can define a waveform to be used by a waveform generator to operate, simulate, and/or manipulate the state of one or more qubits, such as qubits 112A, 112B, and/or 112C to facilitate performance of the quantum job request <NUM>. For example, quantum operation component <NUM> can provide, as input, a definition of an intended waveform to waveform approximation system <NUM>. Waveform approximation system <NUM> can generate one or more samples and/or instructions that when provided to waveform generator <NUM>, cause waveform generator <NUM> to play an approximation of the defined waveform to operate qubits 112A, 112B, and/or 112C. Waveform approximation system <NUM> can comprise a memory <NUM>, a processor <NUM>, a wave division component <NUM>, a rotation component <NUM>, and/or a bus <NUM>. Waveform approximation system <NUM> of system <NUM> depicted in <FIG> can further comprise a phase slip component <NUM>.

It should be appreciated that the embodiments of the subject invention depicted in various figures disclosed herein are for illustration only, and as such, the architecture of such embodiments are not limited to the systems, devices, and/or components depicted therein. For example, in some embodiments, system <NUM>, system <NUM>, system <NUM>, system <NUM>, and/or waveform approximation system <NUM> can further comprise various computer and/or computing-based elements described herein with reference to operating environment <NUM> and <FIG>. In several embodiments, such computer and/or computing-based elements can be used in connection with implementing one or more of the systems, devices, components, and/or computer-implemented operations shown and described in connection with <FIG>, <FIG>, <FIG>, <FIG>, and/or other figures disclosed herein.

Memory <NUM> can store one or more computer and/or machine readable, writable, and/or executable components and/or instructions that, when executed by processor <NUM> (e.g., a classical processor, a quantum processor, and/or another type of processor), can facilitate performance of operations defined by the executable component(s) and/or instruction(s). For example, memory <NUM> can store computer and/or machine readable, writable, and/or executable components and/or instructions that, when executed by processor <NUM>, can facilitate execution of the various functions described herein relating to waveform approximation system <NUM>, wave division component <NUM>, rotation component <NUM>, waveform generator <NUM>, phase slip component <NUM> and/or another component associated with waveform approximation system <NUM> as described herein with or without reference to the various figures of the subject disclosure.

Memory <NUM> can comprise volatile memory (e.g., random access memory (RAM), static RAM (SRAM), dynamic RAM (DRAM), and/or another type of volatile memory) and/or non-volatile memory (e.g., read only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), and/or another type of non-volatile memory) that can employ one or more memory architectures. Further examples of memory <NUM> are described below with reference to system memory <NUM> and <FIG>. Such examples of memory <NUM> can be employed to implement any embodiments of the subject disclosure.

Processor <NUM> can comprise one or more types of processors and/or electronic circuitry (e.g., a classical processor, and/or another type of processor and/or electronic circuitry) that can implement one or more computer and/or machine readable, writable, and/or executable components and/or instructions that can be stored on memory <NUM>. For example, processor <NUM> can perform various operations that can be specified by such computer and/or machine readable, writable, and/or executable components and/or instructions including, but not limited to, logic, control, input/output (I/O), arithmetic, and/or the like. In some embodiments, processor <NUM> can comprise one or more central processing unit, multi-core processor, microprocessor, dual microprocessors, microcontroller, System on a Chip (SOC), array processor, vector processor, quantum processor, and/or another type of processor. Further examples of processor <NUM> are described below with reference to processing unit <NUM> and <FIG>. Such examples of processor <NUM> can be employed to implement any embodiments of the subject disclosure.

Waveform approximation system <NUM>, memory <NUM>, processor <NUM>, wave division component <NUM>, rotation component <NUM>, waveform generator <NUM>, phase slip component <NUM>, and/or another component of waveform approximation system <NUM> as described herein can be communicatively, electrically, operatively, and/or optically coupled to one another via bus <NUM> to perform functions of system <NUM>, system <NUM>, system <NUM>, system <NUM>, waveform approximation system <NUM>, and/or any components coupled therewith. Bus <NUM> can comprise one or more memory bus, memory controller, peripheral bus, external bus, local bus, a quantum bus, and/or another type of bus that can employ various bus architectures. Further examples of bus <NUM> are described below with reference to system bus <NUM> and <FIG>. Such examples of bus <NUM> can be employed to implement any embodiments of the subject invention.

Waveform approximation system <NUM> can comprise any type of component, machine, device, facility, apparatus, and/or instrument that comprises a processor and/or can be capable of effective and/or operative communication with a wired and/or wireless network. All such embodiments are envisioned. For example, waveform approximation system <NUM> can comprise a server device, a computing device, a general-purpose computer, a special-purpose computer, a tablet computing device, a handheld device, a server class computing machine and/or database, a laptop computer, a notebook computer, a desktop computer, a cell phone, a smart phone, a consumer appliance and/or instrumentation, an industrial and/or commercial device, a digital assistant, a multimedia Internet enabled phone, a multimedia players, and/or another type of device.

Waveform approximation system <NUM> can be coupled (e.g., communicatively, electrically, operatively, optically, and/or coupled via another type of coupling) to one or more external systems, sources, and/or devices (e.g., classical and/or quantum computing devices, communication devices, and/or another type of external system, source, and/or device) using a wire and/or a cable. For example, waveform approximation system <NUM> can be coupled (e.g., communicatively, electrically, operatively, optically, and/or coupled via another type of coupling) to one or more external systems, sources, and/or devices (e.g., classical and/or quantum computing devices, communication devices, and/or another type of external system, source, and/or device) using a data cable including, but not limited to, a High-Definition Multimedia Interface (HDMI) cable, a recommended standard (RS) <NUM> cable, an Ethernet cable, and/or another data cable.

In some embodiments, waveform approximation system <NUM> can be coupled (e.g., communicatively, electrically, operatively, optically, and/or coupled via another type of coupling) to one or more external systems, sources, and/or devices (e.g., classical and/or quantum computing devices, communication devices, and/or another type of external system, source, and/or device) via a network. For example, such a network can comprise wired and/or wireless networks, including, but not limited to, a cellular network, a wide area network (WAN) (e.g., the Internet) or a local area network (LAN). Waveform approximation system <NUM> can communicate with one or more external systems, sources, and/or devices, for instance, computing devices using virtually any desired wired and/or wireless technology, including but not limited to: wireless fidelity (Wi-Fi), global system for mobile communications (GSM), universal mobile telecommunications system (UMTS), worldwide interoperability for microwave access (WiMAX), enhanced general packet radio service (enhanced GPRS), third generation partnership project (3GPP) long term evolution (LTE), third generation partnership project <NUM> (3GPP2) ultra mobile broadband (UMB), high speed packet access (HSPA), Zigbee and other <NUM>. XX wireless technologies and/or legacy telecommunication technologies, BLUETOOTH®, Session Initiation Protocol (SIP), ZIGBEE®, RF4CE protocol, WirelessHART protocol, 6LoWPAN (IPv6 over Low power Wireless Area Networks), Z-Wave, an ANT, an ultra-wideband (UWB) standard protocol, and/or other proprietary and non-proprietary communication protocols. Therefore, in some embodiments, waveform approximation system <NUM> can comprise hardware (e.g., a central processing unit (CPU), a transceiver, a decoder, quantum hardware, a quantum processor, and/or other hardware), software (e.g., a set of threads, a set of processes, software in execution, quantum pulse schedule, quantum circuit, quantum gates, and/or other software) or a combination of hardware and software that can facilitate communicating information between waveform approximation system <NUM> and external systems, sources, and/or devices (e.g., computing devices, communication devices, and/or another type of external system, source, and/or device).

Waveform approximation system <NUM> can comprise one or more computer and/or machine readable, writable, and/or executable components and/or instructions that, when executed by processor <NUM> (e.g., a classical processor and/or another type of processor), can facilitate performance of operations defined by such component(s) and/or instruction(s). Further, in numerous embodiments, any component associated with waveform approximation system <NUM>, as described herein with or without reference to the various figures of the subject disclosure, can comprise one or more computer and/or machine readable, writable, and/or executable components and/or instructions that, when executed by processor <NUM>, can facilitate performance of operations defined by such component(s) and/or instruction(s). For example, wave division component <NUM>, rotation component <NUM>, waveform generator <NUM>, phase slip component <NUM>, and/or any other components associated with waveform approximation system <NUM> as disclosed herein (e.g., communicatively, electronically, operatively, and/or optically coupled with and/or employed by waveform approximation system <NUM>), can comprise such computer and/or machine readable, writable, and/or executable component(s) and/or instruction(s). Consequently, according to numerous embodiments, waveform approximation system <NUM> and/or any components associated therewith as disclosed herein, can employ processor <NUM> to execute such computer and/or machine readable, writable, and/or executable component(s) and/or instruction(s) to facilitate performance of one or more operations described herein with reference to waveform approximation system <NUM> and/or any such components associated therewith.

Waveform approximation system <NUM> can facilitate (e.g., via processor <NUM>) performance of operations executed by and/or associated with wave division component <NUM>, rotation component <NUM>, waveform generator <NUM>, phase slip component <NUM>, and/or any such component associated with waveform approximation system <NUM> as disclosed herein. For example, as described in detail below, waveform approximation system <NUM> can facilitate generating a plurality of waveform snippets, wherein the plurality of waveform snippets can be phase shifted, assigning a phase rotation to be applied to at least one waveform snippet of the plurality of waveform snippets at playtime, wherein the phase rotation is out of phase with a previous waveform snippet of the plurality of waveform snippets by using a rotation factor of <NUM>π(ω+ε)t, where t is the time at which the at least one waveform snippets is played and ω+ε is the frequency of the intended waveform; and/or playing the at least one waveform snippet of the plurality of waveform snippets with the phase rotation by a waveform generator.

Wave division component <NUM> can generate a plurality of waveform snippets, wherein the waveform snippets can be phase shifted. As referenced herein, the "intended waveform" is the waveform which waveform generator <NUM> plays an approximation of and "waveform snippet" is a small portion of a waveform. Additionally, as referenced herein, a "sample" is a numeric data point which can be used to represent a waveform. In an embodiment, wave division component <NUM> can receive a definition of an intended waveform. For example, as described above, quantum operation component <NUM> can receive a quantum job request <NUM>. Based on the quantum job request <NUM>, quantum operation component <NUM> can define an intended waveform to be played to manipulate and/or operate qubits 112A, 112B, and/or 112C in order to perform quantum job request <NUM>. Quantum operation component <NUM> can define the intended waveform as Sr = A(t)eiωrt, whereinA(t) is a narrowband envelope and ωr is a target carrier angular frequency. Rather than generating and storing samples for the entire intended waveform, waveform division component can generate a sample representing a waveform snippet of the intended waveform of length τ. In an embodiment, this waveform snippet can be used repeatedly to represent a plurality of waveform snippets. For example, the sample for the waveform snippet can be stored in memory along with a number of times to reuse the waveform snippet in the plurality of waveform snippets. In an embodiment, the waveform snippet can be phase shifted at playtime. By ensuring the generated waveform snippets can be phase shifted at playtime, waveform generator <NUM> can play an approximation of the intended waveform by adding a phase rotation to at least one waveform snippet of a plurality of waveform snippets when the at least one waveform snippet is played in order to manipulate and/or operate qubits 112A, 112B, and/or 112C to perform quantum job request <NUM>. In an embodiment, a waveform snippet can be phased shifted by setting the starting phase rotation of the waveform snippets of the plurality of waveform snippets as zero (with a phase-agnostic sideband frequency).

In an embodiment, the intended waveform can be a frequency sweep. As described herein, a frequency sweep is a series of identical waveforms except for different output frequencies. For example, quantum operation component <NUM> can define a frequency sweep as a series of intended waveform definitions. As such, given an intended frequency sweep comprising two intended waveforms, quantum operation component <NUM> can define the first waveform as Sr = A(t)eiωrt and the second waveform as Sr+<NUM> = A(t)eiωr+<NUM>t. In this example, waveform division component <NUM> can generate a sample representing a waveform snippet of the first waveform Sr that can be phase shifted.

In an embodiment, wave division component <NUM> can determine the length, τ, of the waveform snippets based on the accuracy of the approximation. For example, the smaller the length τ of the waveform snippets, the more accurate the approximation will be. Thus, if performance of quantum job request <NUM> calls for a high level of accuracy in the waveform approximation, wave division component can generate a waveform snippet of a small length τ. If the performance of quantum job request <NUM> calls for a lower level of accuracy in the waveform approximation, wave division component <NUM> can generate a waveform snippet of a longer length τ. In an embodiment, wave division component <NUM> can receive as input an intended accuracy level of the approximation and/or a length τ from quantum operation component <NUM>.

In another embodiment, wave division component <NUM> can determine the length of the waveform snippet based on the wavelength of the intended waveform. For example, if quantum operation component <NUM> defines an intended waveform that is intended to be played for two wavelengths, wave division component <NUM> can generate a waveform snippet of length τ, wherein τ is equal to one wavelength, and therefore wave division component <NUM> can generate a plurality of waveform snippets by defining a number of times the waveform snippet is to be played, in this case twice. It should be appreciated that wave division component <NUM> can generate waveform snippets of any length τ. For example, τ may be shorter or longer than a wavelength of the intended waveform.

It should be appreciated that by generating a sample of a waveform snippet that can be phase shifted, wave division component <NUM> can improve waveform generation. For example, rather than generating samples to represent the entirety of the series of waveforms in a frequency sweep, wave division component <NUM> can generate a plurality of waveform snippets using a sample of a single waveform snippet generated from the definition of the initial waveform in the series of waveforms within the frequency sweep and a number of times to reuse the waveform snippet. In this example, by performing the above-described generation operation, wave division component <NUM> can reduce memory usage and/or time involved with generating a frequency sweep by allowing a single waveform snippet to represent the plurality of waveform snippets in memory, rather than generating samples for the entirety of the series of identical waveforms. In this example, by reducing memory usage and/or time involved with waveform approximation, wave division component <NUM> can thereby improve such a waveform approximation process.

Rotation component <NUM> can assign a phase rotation to be applied to at least one waveform snippet of the plurality of waveform snippets, wherein the phase rotation is out of phase with a previous waveform snippet of the plurality of waveform snippets. For example, rotation component <NUM> can assign a phase rotation using a constant complex multiplier which allows a waveform snippet to be phase rotated to an appropriate starting phase by waveform generator <NUM>. For instance, if the intended wave envelope is a square pulse, sidebanded at normalized frequency ω=<NUM>/<NUM> (i.e., <NUM> samples are used to represent a wavelength) rotation component <NUM> can use a phase rotation factor of <NUM>πωt, where t is the time a waveform snippet is to be played to assign a phase rotation to be used by waveform generator <NUM> at playtime. In this example, rotation component <NUM> can assign a phase rotation to be applied to at least one waveform snippet of the plurality of waveform snippets at playtime. For instance, given an intended waveform defined by quantum operation component <NUM> that wave division component <NUM> has generated a plurality of waveform snippets comprising four identical waveform snippets, rotation component <NUM> can assign a phase rotation for a first waveform snippet of <NUM> (complex multiplier <NUM>+<NUM>j), a phase rotation for a second waveform snippet of π/<NUM> (complex multiplier <NUM>+1j), a phase rotation for a third waveform snippet of π (complex multiplier -<NUM>+<NUM>j), and a phase rotation for a fourth waveform snippet of <NUM>π/<NUM> (complex multiplier <NUM>-1j). The plurality of waveform snippets and the series of corresponding phase rotations can then be passed to waveform generator <NUM>. For example, waveform generator <NUM> can play the first waveform snippet, using the sample representing the waveform snippet stored in memory, with the phase rotation of <NUM>. Waveform generator <NUM> can then play the second waveform snippet, using the sample representing the waveform snippet in memory, with the phase rotation of π/<NUM>. Waveform generator <NUM> can then play the third and fourth waveform snippet with the corresponding third and fourth phase rotations. By playing the four waveform snippets with the corresponding phase rotations in sequence, waveform generator <NUM> can play an approximation of the intended waveform in order to operate and/or manipulate qubits 112A, 112B, and/or 112C to perform quantum job request <NUM>. As stated above, when wave division component <NUM> generates a waveform snippet based on the definition of the intended waveform, wave division component <NUM> can store a sample for the single waveform snippet and use the single waveform snippet to represent each waveform in the plurality of waveform snippets used by waveform generator <NUM> to create the approximation of the intended waveform. Therefore, rotation component <NUM> can enable waveform generator <NUM> to extend the approximation of the intended waveform indefinitely to approximate a continuous waveform by enabling waveform generator <NUM> to replay the single waveform snippet stored with a new phase rotation assigned by rotation component <NUM> each time the waveform snippet is replayed.

In another embodiment, rotation component <NUM> can assign a phase rotation to be applied to at least one of the waveform snippets of the plurality of waveform snippets by waveform generator <NUM>, wherein the waveform snippets approximate a frequency sweep when played by waveform generator <NUM> with the phase rotations. As noted above, a frequency sweep can be described as a series of identical waveforms except for different output frequencies. For example, if the intended waveform defined by quantum operation component <NUM> is a frequency sweep, then the frequency of the intended waveform can be defined as ω+ε, where ω is an initial frequency of the frequency sweep and ε is a change in frequency. If the intended waveform is a frequency sweep, then rotation component <NUM> can assign phase rotations using a phase rotation factor of <NUM>π(ω+ε)t, wherein ω is an initial frequency of the frequency sweep (e.g., the frequency of the first waveform in the series of waveforms), ε is a change in frequency, and t is the time that the waveform snippet is played by waveform generator <NUM>. If wave division component <NUM> generates a plurality of waveform snippets comprising four identical waveform snippets, then rotation component <NUM> can assign a phase rotation to a first waveform snippet using a first ε value in the rotation factor, assign a phase rotation to a second waveform snippet using a second ε value in the rotation factor, assign a phase rotation to a third waveform snippet using a third ε value, and assign a phase rotation to a fourth waveform snippet using a fourth ε value. Rotation component <NUM> can then pass the plurality of waveform snippets and corresponding phase rotations to waveform generator <NUM>.

In an embodiment, the ε value can be determined based on the difference between the frequency of the first waveform in the series of waveform representing the frequency sweep and the current waveform. For example, an intended frequency sweep comprising two waveforms can be defined by quantum operation component <NUM> as Sr = A(t)eiωrt and as Sr+<NUM> = A(t)eiωr+<NUM>t. If wave division component <NUM> generates a plurality of waveform snippets comprising four waveform snippets (e.g., a single waveform snippet of Sr to be used four times), then rotation component <NUM> can determine four ε values. As there are two waveforms in the intended frequency sweep and there are four waveform snippets in the plurality of waveform snippets, in this example the first two waveform snippets will be used to represent Sr and the second two waveform snippets will be used to represent Sr+<NUM>. Therefore, rotation component <NUM> can determine that the ε value for the first and second waveform snippet will be <NUM>, as the first and second waveform snippet have the same output frequency as the initial output frequency. Rotation component <NUM> can determine the third and fourth ε value by finding the difference between ωr, the frequency of the initial waveform in the frequency sweep, and ωr+<NUM>, the current waveform being approximated in the frequency sweep.

In this example, by varying the ε value when assigning a phase rotation, rotation component <NUM> can assign phase rotations that allow waveform generator <NUM> to play the waveform snippet at different frequencies. In an embodiment, rotation component <NUM> can utilize a different ε value to assign a different phase rotation to be applied by waveform generator <NUM> each time waveform generator <NUM> plays the waveform snippet. In another embodiment, rotation component <NUM> can utilize the same ε value to assign phase rotations for multiple waveform snippets in the plurality of waveform snippets if multiple waveform snippets are to be played with the same output frequency by waveform generator <NUM>.

In an embodiment, rotation component <NUM> can assign a phase rotation to be applied by waveform generator <NUM> to at least one waveform snippet of the plurality of waveform snippets prior to playtime. For example, if wave division component generates a plurality of waveform snippets comprising four identical waveform snippets, then rotation component <NUM> can assign corresponding phase rotations to the plurality of waveform snippets and pass the plurality of waveform snippets and corresponding phase rotations to waveform generator <NUM>. In another embodiment, rotation component <NUM> can assign a phase rotation to be applied by waveform generator to a waveform snippet at playtime. For example, wave division component <NUM> can pass the plurality of waveform snippets to waveform generator <NUM>. Waveform generator <NUM> can then request a phase rotation to play with a first waveform snippet of the plurality of waveform snippets. Rotation component <NUM> can assign a phase rotation as described above and pass the phase rotation to waveform generator <NUM>. Waveform generator <NUM> can then play the first waveform snippet with the phase rotation. Waveform generator <NUM> can then request a phase rotation to play with a second waveform snippet of the plurality of waveform snippets. This process can be continued until waveform generator <NUM> has played all waveform snippets within the plurality of waveform snippets.

For example, if the waveform snippet is to be played by waveform generator <NUM> four times, then rotation component <NUM> can provide waveform generator <NUM> with a phase rotation to apply before each time the waveform snippet is played.

It should be appreciated that by assigning a phase rotation for a waveform snippet as described above, rotation component <NUM> can improve efficiency in approximating waveforms. For example, by assigning a phase rotation with a different frequency for each waveform snippet, wherein each waveform snippet is identical, an approximation of a frequency sweep can be played by waveform generator <NUM> using a single waveform snippet and a series of phase rotations, rather than using samples representing the entirety of the frequency sweep. In this example, rotation component <NUM> can reduce the storage used to play an approximation of a frequency sweep as the frequency sweep can be stored as a single waveform snippet and a series of phase rotations rather than as samples for the entirety of the frequency sweep. By reducing storage usage (e.g., memory usage), rotation component <NUM> can improve efficiency in waveform approximation.

Waveform generator <NUM> can play at least one waveform snippet of the plurality of waveform snippets with a phase rotation. For example, waveform generator <NUM> can receive a plurality of waveform snippets from wave division component <NUM> and one or more phase rotations from rotation component <NUM>. As described above, the plurality of waveform snippets can comprise identical waveform snippets. As such the plurality of waveform snippets can be represented as a single waveform snippet and a number of times to play the single waveform snippet. In this example, if waveform generator <NUM> receives a plurality of waveform snippets comprising four waveform snippets and receives four corresponding phase rotation factors, waveform generator can play a first waveform snippet of the plurality of waveform snippets with a first phase rotation, a second waveform snippet with a second phase rotation, a third waveform snippet with a third phase rotation, and a fourth waveform snippet with a fourth phase slip. By playing the four identical waveform snippets in sequence with the corresponding phase rotation, waveform generator <NUM> can play an approximation of the intended waveform defined by quantum operation component <NUM> and thus operate and/or manipulate qubits 112A, 112B, and/or 112C in order to perform quantum job request <NUM>.

In another embodiment, waveform generator <NUM> can receive a plurality of waveform snippets and request phase rotations from rotation component <NUM>. For example, if waveform generator <NUM> receives a plurality of waveform snippets comprising four waveform snippets, waveform generator can request a phase rotation from rotation component <NUM> for a first waveform snippet. Once waveform generator <NUM> receives a phase rotation from rotation component <NUM>, waveform generator <NUM> can play the first waveform snippet with the phase rotation. Waveform generator <NUM> can then request a second phase rotation for a second waveform snippet. Once waveform generator <NUM> receives the second phase rotation, waveform generator <NUM> can play the second waveform snippet with the second phase rotation. This process can repeat until waveform generator <NUM> has played all waveform snippets in the plurality of waveform snippets. Waveform generator <NUM> can be a signal generator, a function generator, a radio frequency generator, a microwave signal generator, a digital pattern generator, a frequency generator, a pitch generator, an arbitrary waveform generator, and/or any other form of electronic test equipment which can output waveforms.

In some embodiments, the present invention can be implemented to produce a solution to the problems described above in the form of systems, computer-implemented methods, and/or computer program products that can further facilitate approximating a range of sideband frequencies efficiently by: generating a plurality of waveform snippets, wherein a phase slip can be inserted before each waveform snippet of the plurality of waveform snippets, assigning a phase slip to be inserted before at least one of the waveform snippets of the plurality of waveform snippets, and/or playing the phase slip and the at least one waveform snippet of the plurality of waveform snippets.

In an embodiment, wave division component <NUM> can generate a waveform snippet of a resource waveform. For example, wave division component <NUM> can receive a definition of an intended waveform as Sr = A(t)eiωrt from quantum operation component <NUM> as described above. Wave division component <NUM> can additionally receive a definition of a resource waveform as Ss = A(t)eiωst wherein ωs and ωr are close and generate a sample representing a waveform snippet of length τ based on the definition of the resource waveform rather than the definition of the intended waveform. Wave division component <NUM> can then represent a plurality of waveform snippets as the waveform snippet and a number of times the waveform snippet should be played by waveform generator <NUM>. Phase slip component <NUM> can assign a phase slip to be inserted between at least two waveform snippets of the plurality of waveform snippets. In an embodiment, phase slip component <NUM> can assign a phase slip to be inserted before a waveform snippet is played by waveform generator <NUM>. For example, given a definition of the intended waveform defined by quantum operation component <NUM> as Sr = A(t)eiωrt, at frequency ωr, where A(t) is a narrowband envelope and a definition of the resource waveform as Ss = A(t)eiωst where ωs is a sample angular frequency near to ωr, phase slip component <NUM> can assign a phase slip to be played by waveform generator <NUM> between two waveform snippets as δφ = τ(ωr - ωs). In order to make the average rate of phase advance for the approximated signal correct, phase slip component <NUM> can assign a phase-jump, s(t), to be applied to the phase slip, wherein the phase-jump is assigned using sawtooth function <MAT>. As such, phase slip component <NUM> can assign a phase slip, with a corresponding phase-jump, to be inserted before one or more waveform snippets of the plurality of waveform snippets. For example, phase slip component <NUM> can receive a plurality of waveform snippets from wave division component comprising four waveform snippets. Phase slip component <NUM> can additionally receive the definitions of the intended waveform and the resource waveform. Phase slip component <NUM> can assign a first phase slip to be inserted between the first waveform snippet and the second waveform snippet using the definition δφ = τ(ωr - ωs), the value of ωt from the definition of intended waveform, the value of ωs from the definition of the resource waveform, and the length, τ, of the waveform snippet generated by wave division component <NUM>. Phase slip component <NUM> can then assign a phase-jump to be applied to the first phase slip using the definition <MAT>, wherein t is the time when the first phase slip will be inserted. Phase slip component <NUM> can then assign a second phase slip with a second phase-jump to be inserted between the second waveform snippet and the third waveform snippet and a third phase slip with a third phase-jump to be inserted between the third and fourth phase slips. Phase slip component <NUM> can then pass the plurality of waveform snippets and the series of phase slips and phase-jumps to waveform generator <NUM>. For example, waveform generator <NUM> can play the first waveform snippet using the sample representing the waveform snippet in memory, then play the first phase slip with the first phase-jump, and then play the second waveform snippet. Waveform generator <NUM> can continue playing waveform snippets and phase slips until all waveform snippets in the plurality of waveform snippets have been played. By playing the waveform snippets with the phase slips inserted in between, waveform generator <NUM> can play an approximation of the intended waveform in order to operate and/or manipulate qubits 112A, 112B, and/or 112C to perform quantum job request <NUM>.

In these examples, by assigning a phase slip with a phase-jump to be inserted before each time the waveform snippet is played, phase slip component <NUM> can enable waveform generator <NUM> to play an approximation of the intended waveform using the waveform snippet of the resource waveform and one or more phase slips.

Using the definition of the phase slip and the phase jump, the approximated signal can be defined as Sg = A(t)ei(ωrt+δφs(t)) = Steiδφs(t), wherein the imaginary part of the exponent, ωrt + δφs(t), is the phase of the carrier wave. The amount of additional noise or error introduced to the approximated signal by adding the sawtooth can be seen by examining Sg = Sreiδφs(t). Since s(t) < <NUM> and δφ is small, the exponential is approximately <NUM> + iδφs(t). Using the sin expansion of s(t), wherein k is an index of all phase slips in the approximate waveform: <MAT> This as a result gives: <MAT> From this result, the <NUM> in parenthesis gives the intended waveform. The approximation adds a series of sidebands at frequencies <MAT> detuning from the source frequency (ωs), with amplitude <MAT>. If <MAT> is the detuning between the target and source frequencies, then the sideband amplitude is <MAT>, or <MAT> dBc (dB relative to carrier).

It should be appreciated that by assigning a phase slip to be inserted by waveform generator <NUM> before playing a waveform snippet, phase slip component <NUM> can improve waveform generation through the use of the sawtooth phase-jump function. As the sawtooth function is relatively easy to calculate, phase slip component <NUM> can enable waveform generator <NUM> to efficiently play an approximation of the intended waveform without the need to generate and store samples for the entire intended waveform in memory. As noted above, existing waveform generation technology is highly memory intensive, and by enabling waveform generator <NUM> to play an approximation of the intended waveform using a waveform snippet of the resource waveform, phase slip component <NUM> can enable waveform approximation system <NUM> to improve waveform generation and playing by reducing storage operations involved with waveform generation and playing.

<FIG> illustrates a block diagram of an example, non-limiting system associated with generation of a waveform snippet and assignment of phase rotations in accordance with one or more embodiments described herein. Repetitive description of like elements employed in other embodiments described herein is omitted for sake of brevity.

The system <NUM> includes wave division component <NUM> of waveform approximation system <NUM>. Wave division component <NUM> can receive a definition of intended waveform <NUM> from quantum operation component <NUM>. Wave division component <NUM> can generate a plurality of waveform snippets by generating a sample for a single waveform snippet and a number of times the waveform snippet is to be played. As the plurality of waveform snippets comprises the same waveform snippet used repeatedly, wave division component <NUM> can store a single waveform snippet <NUM> for repeated use for each waveform snippet in the plurality of waveform snippets. Rotation component <NUM> can assign a series of phase rotations to be applied by the waveform generator <NUM> to the waveform snippet each time it is played. The sample representing the waveform snippet <NUM>, the number of times to play the waveform snippet, and the series of phase rotations <NUM> can then be passed to waveform generator <NUM>. Waveform generator <NUM> can then play an approximation of the intended waveform using the waveform snippet and the series of phase rotations as described in reference to <FIG> to operate and/or manipulate qubits 112A, 112B, and/or 112C to perform quantum job request <NUM>. It should be appreciated that by carrying out these operations frequency sweep generation efficiency can be improved by generating a single waveform snippet and assigning a series of phase rotations rather generating samples representing the entirety of the intended waveform.

<FIG> illustrates a block diagram of an example, non-limiting system associated with generation of a waveform snippet and assignment of phase slips in accordance with one or more embodiments described herein. Repetitive description of like elements employed in other embodiments described herein is omitted for sake of brevity.

The system <NUM> includes wave division component <NUM> of waveform approximation system <NUM>. Wave division component <NUM> can receive a definition of resource waveform <NUM>. Wave division component <NUM> can generate a plurality of waveform snippets by generating a sample of a single waveform snippet <NUM> and a number of times the waveform snippet is to be played by waveform generator <NUM>. As the single waveform snippet <NUM> is reused to represent a plurality of waveform snippets, wave division component <NUM> can store a sample representing waveform snippet <NUM> for repeated use for each waveform snippet of the plurality of waveform snippets. Phase slip component <NUM> can receive a definition of an intended waveform <NUM> to be approximated from quantum operation component <NUM>. Phase slip component <NUM> can assign a series of phase slips and phase-jumps to be inserted by waveform generator <NUM> between waveform snippets of the plurality of waveform snippets. The sample representing the waveform snippet <NUM>, the number of times to play to waveform snippet, and the series of phase slips and phase-jumps <NUM> can then be passed to waveform generator <NUM>. Waveform generator <NUM> can then play an approximation of the intended waveform using the waveform snippet <NUM> and the series of phase slips and phase-jumps as described in reference to <FIG> to operate and/or manipulate qubits 112A, 112B, and/or 112C to perform quantum job request <NUM>. It should be appreciated that by carrying out these operations frequency sweep generation efficiency can be improved by generating a single waveform snippet and assigning a series of phase slips rather than generating samples representing the entirety of the intended waveform.

<FIG> illustrates a graph <NUM> associated with a carrier wave of an approximated waveform in accordance with one or more embodiments described herein. Repetitive description of like elements and/or processes employed in respective embodiments is omitted for sake of brevity. As described above, phase slip component <NUM> can assign phase slips to be inserted between each time waveform generation <NUM> plays the waveform snippet of a resource wave to generate an approximated signal of Sg = A(t)ei(ωrt+δφs(t)). As noted above, ωrt + δφs(t) is the phase of the carrier wave. Graph <NUM> illustrates a graphical representation of the phase of the carrier wave defined as ωrt + δφs(t). The x axis of graph <NUM> is time in arbitrary units, while the y axis is phase of the carrier wave. <NUM> represents a first time the waveform snippet of length τ is played (e.g., a first waveform snippet of the plurality of waveform snippets) by waveform generator <NUM>, to play approximated signal Sg = A(t)ei(ωrt+δφs(t)). <NUM> represents a second time the waveform snippet is played (e.g., a second waveform snippet of the plurality of waveform snippets) by waveform generator <NUM>, play the approximated signal. <NUM> is a phase slip, assigned by phase slip component <NUM> and inserted by waveform generator <NUM> between the first playing of waveform snippet <NUM> and the second time of playing waveform snippet <NUM>. Due to the insertion of phase slip <NUM>, the second playing of waveform snippet <NUM> is out of phase with the first playing of the waveform snippet <NUM>. It should be appreciated that as the length of waveform snippets increases, fewer phase slips are used, however height of the phase slips increases, and the approximation becomes less accurate. Conversely, when the length of waveform snippets is shortened, more phase slips are used, but the height of the phase slips decreases, and the approximation becomes more accurate. This is reflected in the spacing and amplitude of the sidebands discussed above with reference to <FIG> and phase slip component <NUM>.

<FIG> illustrates a flow diagram of an example, non-limiting computer-implemented method <NUM> that can facilitate approximating a range of sideband frequencies efficiently in accordance with one or more embodiments described herein. Repetitive description of like elements and/or processes employed in respective embodiments is omitted for sake of brevity.

At <NUM>, computer-implemented method <NUM> can comprise generating, by a system (e.g., via waveform approximation system <NUM> and/or wave division component <NUM>) operatively coupled to a processor (e.g., processor <NUM>), a plurality of waveform snippets by generating a single waveform snippet using a definition of an intended waveform and a number of times to play the single waveform snippet.

At <NUM>, computer-implemented method <NUM> can comprise assigning, by the system (e.g., via waveform approximation system <NUM> and/or rotation component <NUM>), a phase rotation to be applied by a waveform generator (e.g., waveform generator <NUM>) to at least one waveform snippet of the plurality of waveform snippets, wherein the phase rotation is out of phase with a previous waveform snippet of the plurality of waveform snippets.

At <NUM>, computer-implemented method <NUM> can comprise playing, by a waveform generator, (e.g., waveform generator <NUM>), the at least one waveform snippet of the plurality of waveform snippets with the assigned phase rotation.

At <NUM>, computer-implemented method <NUM> can comprise assigning, by the system (e.g., via waveform approximation system <NUM> and/or rotation component <NUM>), a different phase rotation to be applied by a waveform generator (e.g., waveform generator <NUM>) to each waveform snippet of the plurality of waveform snippets using a phase rotation factor of <NUM>π(ω+ε)t, wherein a different ε value is used for each waveform snippet of the plurality of waveform snippets. In this example, as described above with reference to <FIG> and <FIG>, an approximated waveform can be stored as a single waveform snippet, used repeatedly to represent each waveform snippet of the plurality of waveform snippets and a corresponding phase rotation to be applied to each of the two of more waveform snippets.

At <NUM>, computer-implemented method <NUM> can comprise playing, by a waveform generator, (e.g., waveform generator <NUM>), the at least one waveform snippet of the plurality of waveform snippets with the assigned phase rotation. For example, as described above with reference to <FIG> and <FIG>, by playing the plurality of waveform snippets with a different phase rotations for various waveform snippets of the plurality of waveform snippets, waveform generator <NUM> can play an approximation of a frequency sweep as various waveform snippets of the plurality waveform snippets will have different output frequencies due to the application of a different phase rotation to various waveform snippets by waveform generator <NUM> when waveform generator <NUM> plays each waveform snippet.

At <NUM>, computer-implemented method <NUM> can comprise generating, by a system (e.g., via waveform approximation system <NUM> and/or wave division component <NUM>) operatively coupled to a processor (e.g., processor <NUM>), a plurality of waveform snippets by generating a single waveform snippet using a definition of a resource waveform and a number of times to play the single waveform snippet. For example, as described above with reference to <FIG>, by generating a waveform snippet of the resource signal which can have phase slips inserted before the waveform snippet by a waveform generator (e.g., waveform generator <NUM>), waveform approximation system <NUM> can manipulate the waveform snippets in order to approximate and intended signal.

At <NUM>, computer-implemented method <NUM> can comprise assigning, by the system (e.g., via waveform approximation system <NUM> and/or phase slip component <NUM>), a phase slip to be inserted by a waveform generator before at least one waveform snippet of the plurality of waveform snippets. For example, as described in detail above with reference to <FIG>, phase slip component <NUM> can assign a phase slip to be inserted by a waveform generator (e.g., waveform generator <NUM>) using the definition of a phase slip as δφ = τ(ωr - ωs) in conjunction with a sawtooth phase jump function defined as s(t) = <MAT>.

At <NUM>, computer-implemented method <NUM> can comprise playing, by a waveform generator (e.g., waveform generator <NUM>) the phase slip and the at least one waveform snippet of the plurality of waveform snippets.

Waveform approximation system <NUM> can be associated with various technologies. For example, waveform approximation system <NUM> can be associated with quantum technologies, RF technologies, microwave technologies, spectroscopy technology, and/or other technologies.

Waveform approximation system <NUM> can provide technical improvements to systems, devices, components, operational steps, and/or processing steps associated with the various technologies identified above. For example, waveform approximation system <NUM> can use waveform snippets of a resource waveform in order to generate an approximation of an intended waveform. In this example, waveform approximation system <NUM> can generate a plurality of waveform snippets using a single waveform snippet generated using a definition of the resource waveform. Waveform approximation system <NUM> can further assign phase slips to be inserted by a waveform generator (e.g., waveform generator) before each waveform snippet when the waveform snippet is played by the waveform generator (e.g., waveform generator <NUM>). In this example, waveform approximation system <NUM> can play, via a waveform generator, the approximation of the intended waveform. In another example, waveform approximation system <NUM> can generate a waveform snippet using a definition of the intended waveform. Waveform approximation system <NUM> can assign a phase rotation to be applied to the waveform snippet by a waveform generator (e.g., waveform generator <NUM>) each time the waveform generator plays the waveform snippet. In an embodiment, the phase rotation applied by the waveform generator can be different each time the waveform snippet is played, so that the output waveform approximates the intended waveform.

Waveform approximation system <NUM> can provide technical improvements to a memory unit associated with waveform approximation system <NUM>. For example, by generating a single waveform snippet for repeated use, a waveform generator (e.g., waveform generator <NUM>) can play an approximation of a frequency sweep, using phase rotations or phase slips, without the need to generate samples in memory representing the entirety of the frequency sweep, thereby reducing the usage of a memory unit (e.g., memory <NUM>). In these examples, by reducing usage of such a memory unit (e.g., memory <NUM>), waveform approximation system <NUM> can thereby facilitate improved performance, improved efficiency, and /or reduced computational cost associated with such a memory unit.

Additionally, by reducing usage of a memory unit, waveform approximation system <NUM> can provided technological improvements to operation of quantum systems. For example, by reducing usage of a memory unit, and the number of memory operations used, in generating waveforms to operate a quantum system, generation of waveforms can be performed faster, thereby enabling faster operation of the quantum system. Furthermore, by reducing usage of a memory unit, waveform approximation system <NUM> can enable the use of smaller and/or cheaper to produce memory units in the generation of waveforms.

It is to be appreciated that waveform approximation system <NUM> can utilize various combinations of electrical components, mechanical components, and circuitry that cannot be replicated in the mind of a human or performed by a human, as the various operations that can be executed by waveform approximation system and/or components thereof as described herein are operations that are greater than the capability of a human mind. For instance, the amount of data processed, the speed of processing such data, or the types of data processed by waveform approximation system <NUM> over a certain period of time can be greater, faster, or different than the amount, speed, or data type that can be processed by a human mind over the same period of time.

According to several embodiments, waveform approximation system <NUM> can also be fully operational towards performing one or more other functions (e.g., fully powered on, fully executed, and/or another function) while also performing the various operations described herein. It should be appreciated that such simultaneous multi-operational execution is beyond the capability of a human mind. It should also be appreciated that waveform approximation system <NUM> can include information that is impossible to obtain manually by an entity, such as a human user. For example, the type, amount, and/or variety of information included in waveform approximation system <NUM>, wave division component <NUM>, rotation component <NUM>, waveform generator <NUM>, and/or phase slip component <NUM> can be more complex than information obtained manually by an entity, such as a human user.

Waveform approximation system <NUM> can employ hardware or software to solve problems that are highly technical in nature, that are not abstract and that cannot be performed as a set of mental acts by a human. In some embodiments, one or more of the processes described herein can be performed by one or more specialized computers (e.g., a specialized processing unit, a specialized classical computer, a specialized quantum computer, and/or another type of specialized computer) to execute defined tasks related to the various technologies identified above. Waveform approximation system <NUM> and/or components thereof, can be employed to solve new problems that arise through advancements in technologies mentioned above, employment of quantum computing systems, cloud computing systems, computer architecture, and/or another technology.

For simplicity of explanation, the computer-implemented methodologies are depicted and described as a series of acts. It is to be understood and appreciated that the subject innovation is not limited by the acts illustrated and/or by the order of acts, for example acts can occur in various orders and/or concurrently, and with other acts not presented and described herein. Furthermore, not all illustrated acts can be required to implement the computer-implemented methodologies in accordance with the disclosed subject matter. In addition, those skilled in the art will understand and appreciate that the computer-implemented methodologies could alternatively be represented as a series of interrelated states via a state diagram or events. Additionally, it should be further appreciated that the computer-implemented methodologies disclosed hereinafter and throughout this specification are capable of being stored on an article of manufacture to facilitate transporting and transferring such computer-implemented methodologies to computers. The term article of manufacture, as used herein, is intended to encompass a computer program accessible from any computer-readable device or storage media.

In order to provide a context for the various aspects of the disclosed subject matter, <FIG> as well as the following discussion are intended to provide a general description of a suitable environment in which the various aspects of the disclosed subject matter can be implemented. <FIG> illustrates a block diagram of an example, non-limiting operating environment in which one or more embodiments described herein can be facilitated. Repetitive description of like elements employed in other embodiments described herein is omitted for sake of brevity.

With reference to <FIG>, a suitable operating environment <NUM> for implementing various aspects of the invention can also include a computer <NUM>. The computer <NUM> can also include a processing unit <NUM>, a system memory <NUM>, and a system bus <NUM>. The system bus <NUM> couples system components including, but not limited to, the system memory <NUM> to the processing unit <NUM>. The processing unit <NUM> can be any of various available processors. Dual microprocessors and other multiprocessor architectures also can be employed as the processing unit <NUM>. The system bus <NUM> can be any of several types of bus structure(s) including the memory bus or memory controller, a peripheral bus or external bus, and/or a local bus using any variety of available bus architectures including, but not limited to, Industrial Standard Architecture (ISA), MicroChannel Architecture (MSA), Extended ISA (EISA), Intelligent Drive Electronics (IDE), VESA Local Bus (VLB), Peripheral Component Interconnect (PCI), Card Bus, Universal Serial Bus (USB), Advanced Graphics Port (AGP), Firewire (IEEE <NUM>), and Small Computer Systems Interface (SCSI).

The system memory <NUM> can also include volatile memory <NUM> and nonvolatile memory <NUM>. The basic input/output system (BIOS), containing the basic routines to transfer information between elements within the computer <NUM>, such as during start-up, is stored in nonvolatile memory <NUM>. Computer <NUM> can also include removable/non-removable, volatile/non-volatile computer storage media. <FIG> illustrates, for example, a disk storage <NUM>. Disk storage <NUM> can also include, but is not limited to, devices like a magnetic disk drive, floppy disk drive, tape drive, Jaz drive, Zip drive, LS-<NUM> drive, flash memory card, or memory stick. The disk storage <NUM> also can include storage media separately or in combination with other storage media. To facilitate connection of the disk storage <NUM> to the system bus <NUM>, a removable or non-removable interface is typically used, such as interface <NUM>. <FIG> also depicts software that acts as an intermediary between users and the basic computer resources described in the suitable operating environment <NUM>. Such software can also include, for example, an operating system <NUM>. Operating system <NUM>, which can be stored on disk storage <NUM>, acts to control and allocate resources of the computer <NUM>.

System applications <NUM> take advantage of the management of resources by operating system <NUM> through program modules <NUM> and program data <NUM>, e.g., stored either in system memory <NUM> or on disk storage <NUM>. It is to be appreciated that this disclosure can be implemented with various operating systems or combinations of operating systems. A user enters commands or information into the computer <NUM> through input device(s) <NUM>. Input devices <NUM> include, but are not limited to, a pointing device such as a mouse, trackball, stylus, touch pad, keyboard, microphone, joystick, game pad, satellite dish, scanner, TV tuner card, digital camera, digital video camera, web camera, and the like. These and other input devices connect to the processing unit <NUM> through the system bus <NUM> via interface port(s) <NUM>. Interface port(s) <NUM> include, for example, a serial port, a parallel port, a game port, and a universal serial bus (USB). Output device(s) <NUM> use some of the same type of ports as input device(s) <NUM>. Thus, for example, a USB port can be used to provide input to computer <NUM>, and to output information from computer <NUM> to an output device <NUM>. Output adapter <NUM> is provided to illustrate that there are some output devices <NUM> like monitors, speakers, and printers, among other output devices <NUM>, which require special adapters. The output adapters <NUM> include, by way of illustration and not limitation, video and sound cards that provide a means of connection between the output device <NUM> and the system bus <NUM>. It should be noted that other devices and/or systems of devices provide both input and output capabilities such as remote computer(s) <NUM>.

Computer <NUM> can operate in a networked environment using logical connections to one or more remote computers, such as remote computer(s) <NUM>. The remote computer(s) <NUM> can be a computer, a server, a router, a network PC, a workstation, a microprocessor based appliance, a peer device or other common network node and the like, and typically can also include many or all of the elements described relative to computer <NUM>. For purposes of brevity, only a memory storage device <NUM> is illustrated with remote computer(s) <NUM>. Remote computer(s) <NUM> is logically connected to computer <NUM> through a network interface <NUM> and then physically connected via communication connection <NUM>. Network interface <NUM> encompasses wire and/or wireless communication networks such as local-area networks (LAN), wide-area networks (WAN), cellular networks, and/or another wire and/or wireless communication network. LAN technologies include Fiber Distributed Data Interface (FDDI), Copper Distributed Data Interface (CDDI), Ethernet, Token Ring and the like. WAN technologies include, but are not limited to, point-to-point links, circuit switching networks like Integrated Services Digital Networks (ISDN) and variations thereon, packet switching networks, and Digital Subscriber Lines (DSL). Communication connection(s) <NUM> refers to the hardware/software employed to connect the network interface <NUM> to the system bus <NUM>. While communication connection <NUM> is shown for illustrative clarity inside computer <NUM>, it can also be external to computer <NUM>. The hardware/software for connection to the network interface <NUM> can also include, for exemplary purposes only, internal and external technologies such as, modems including regular telephone grade modems, cable modems and DSL modems, ISDN adapters, and Ethernet cards.

The present invention may be a system, a method, an apparatus and/or a computer program product at any possible technical detail level of integration. The computer program product can include a computer readable storage medium (or media) having computer readable program instructions thereon for causing a processor to carry out aspects of the present invention. The computer readable storage medium can be, for example, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of the computer readable storage medium can also include the following: a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanically encoded device such as punch-cards or raised structures in a groove having instructions recorded thereon, and any suitable combination of the foregoing.

These computer readable program instructions can be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. These computer readable program instructions can also be stored in a computer readable storage medium that can direct a computer, a programmable data processing apparatus, and/or other devices to function in a particular manner, such that the computer readable storage medium having instructions stored therein comprises an article of manufacture including instructions which implement aspects of the function/act specified in the flowchart and/or block diagram block or blocks. The computer readable program instructions can also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational acts to be performed on the computer, other programmable apparatus or other device to produce a computer implemented process, such that the instructions which execute on the computer, other programmable apparatus, or other device implement the functions/acts specified in the flowchart and/or block diagram block or blocks.

While the subject matter has been described above in the general context of computer-executable instructions of a computer program product that runs on a computer and/or computers, those skilled in the art will recognize that the invention also can or can be implemented in combination with other program modules. Generally, program modules include routines, programs, components, data structures, and/or other program modules that perform particular tasks and/or implement particular abstract data types. Moreover, those skilled in the art will appreciate that the inventive computer-implemented methods can be practiced with other computer system configurations, including single-processor or multiprocessor computer systems, mini-computing devices, mainframe computers, as well as computers, hand-held computing devices (e.g., PDA, phone), microprocessor-based or programmable consumer or industrial electronics, and the like. The illustrated aspects can also be practiced in distributed computing environments in which tasks are performed by remote processing devices that are linked through a communications network. However, some, if not all aspects of this disclosure can be practiced on stand-alone computers. In a distributed computing environment, program modules can be located in both local and remote memory storage devices. For example, in one or more embodiments, computer executable components can be executed from memory that can include or be comprised of one or more distributed memory units. As used herein, the term "memory" and "memory unit" are interchangeable. Further, one or more embodiments described herein can execute code of the computer executable components in a distributed manner, e.g., multiple processors combining or working cooperatively to execute code from one or more distributed memory units. As used herein, the term "memory" can encompass a single memory or memory unit at one location or multiple memories or memory units at one or more locations.

As used in this application, the terms "component," "system," "platform," "interface," and the like, can refer to and/or can include a computer-related entity or an entity related to an operational machine with one or more specific functionalities. The entities disclosed herein can be either hardware, a combination of hardware and software, software, or software in execution. For example, a component can be, but is not limited to being, a process running on a processor, a processor, an object, an executable, a thread of execution, a program, and/or a computer. By way of illustration, both an application running on a server and the server can be a component. One or more components can reside within a process and/or thread of execution and a component can be localized on one computer and/or distributed between two or more computers. In another example, respective components can execute from various computer readable media having various data structures stored thereon. The components can communicate via local and/or remote processes such as in accordance with a signal having one or more data packets (e.g., data from one component interacting with another component in a local system, distributed system, and/or across a network such as the Internet with other systems via the signal). As another example, a component can be an apparatus with specific functionality provided by mechanical parts operated by electric or electronic circuitry, which is operated by a software or firmware application executed by a processor. In such a case, the processor can be internal or external to the apparatus and can execute at least a part of the software or firmware application. As yet another example, a component can be an apparatus that provides specific functionality through electronic components without mechanical parts, where the electronic components can include a processor or other means to execute software or firmware that confers at least in part the functionality of the electronic components. In an aspect, a component can emulate an electronic component via a virtual machine, e.g., within a cloud computing system.

As it is employed in the subject specification, the term "processor" can refer to substantially any computing processing unit or device comprising, but not limited to, single-core processors; single-processors with software multithread execution capability; multi-core processors; multi-core processors with software multithread execution capability; multi-core processors with hardware multithread technology; parallel platforms; and parallel platforms with distributed shared memory. Additionally, a processor can refer to an integrated circuit, an application specific integrated circuit (ASIC), a digital signal processor (DSP), a field programmable gate array (FPGA), a programmable logic controller (PLC), a complex programmable logic device (CPLD), a discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. Further, processors can exploit nano-scale architectures such as, but not limited to, molecular and quantum-dot based transistors, switches and gates, in order to optimize space usage or enhance performance of user equipment. A processor can also be implemented as a combination of computing processing units. In this disclosure, terms such as "store," "storage," "data store," data storage," "database," and substantially any other information storage component relevant to operation and functionality of a component are utilized to refer to "memory components," entities embodied in a "memory," or components comprising a memory. It is to be appreciated that memory and/or memory components described herein can be either volatile memory or nonvolatile memory, or can include both volatile and nonvolatile memory. By way of illustration, and not limitation, nonvolatile memory can include read only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable ROM (EEPROM), flash memory, or nonvolatile random access memory (RAM) (e.g., ferroelectric RAM (FeRAM). Volatile memory can include RAM, which can act as external cache memory, for example. By way of illustration and not limitation, RAM is available in many forms such as synchronous RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), Synchlink DRAM (SLDRAM), direct Rambus RAM (DRRAM), direct Rambus dynamic RAM (DRDRAM), and Rambus dynamic RAM (RDRAM). Additionally, the disclosed memory components of systems or computer-implemented methods herein are intended to include, without being limited to including, these and any other suitable types of memory.

Claim 1:
A system (<NUM>) comprising:
a memory (<NUM>) that stores computer executable components:
a processor (<NUM>) that executes computer executable components stored in memory (<NUM>), wherein the computer executable components comprise:
a wave division component (<NUM>) operable to generate (<NUM>, <NUM>) a plurality of waveform snippets (<NUM>) using a definition of an intended waveform (<NUM>), wherein the plurality of waveform snippets (<NUM>) can be phase shifted; and
a rotation component (<NUM>) operable to assign (<NUM>, <NUM>) a phase rotation (<NUM>) to be applied to at least one waveform snippet (<NUM>) of the plurality of waveform snippets, wherein the phase rotation (<NUM>) is out of phase with a previous waveform snippet (<NUM>) of the plurality of waveform snippets,
wherein the system (<NUM>) further comprises a waveform generator (<NUM>) operable to play (<NUM>, <NUM>) the at least one waveform snippet (<NUM>) of the plurality of waveform snippets with the phase rotation (<NUM>).