Quanlse, a toolbox of generating physical pulses for quantum computing, is developed by the Institute for Quantum Computing, Baidu Research. It specializes in designing a sequence of pulses to generate the target logic gate fast and optimally. Currently, it works for the superconducting of quantum circuit as well as the Nuclear Magnetic Resonance (NMR) system.
In the process of quantum computing, the information is usually encoded on qubits. These qubits are manipulated by quantum logic gates, which are also known as unitary transformations . Physically, quantum logic gates are realized by applying a sequence of time-varying electromagnetic waves, and these waves with well-designed shapes are called pulse. For example, in Fig. 1, we show that one can apply a proper pulse to transform a qubit from to . Generally, we show in Fig. 2 that well-designed pulses can be used to prepare an arbitrary state.
Since the process with pulses is governed by Schrödinger equation, the target logic gate or unitary transformation admits a form of
with and . Here is the evolution time, and represents the total Hamiltonian. Furthermore, this total Hamiltonian can be decomposed into:
where describes the free Hamiltonian and refers to the driving Hamiltonian. Indeed, these pulse drives can be fine-tuned via additional control channels. In particular, we may have a couple of channels to generate a family of specific pulses. We further denote as the amplitude of the pulse generated by the channel at time and define as the corresponding operator acting on the controlled qubit. Then, the driving Hamiltonian is given by
The evolution of qubits follows from the Jaynes-Cummings model that the coupling between the qubit and the EM wave is described by the dipole coupling. Thus, the control operator can be further expressed as tensor product of Pauli operators, and its explicit form depends on the hardware platforms used for quantum computing.
If the control operator is known, then the key step to realize an arbitrary quantum logic gate is to tune the pulse amplitude . Based on this fact, we develop Quanlse to achieve this task.
The current Beta version aims to provide the service of designing pulses for quantum computing. In the near future, more practical functions will be added into this system, such as visualization of the whole dynamical process, multi-core algorithms, and noise-mitigated protocols.