Introduction

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 0|0\rangle to 1|1\rangle. Generally, we show in Fig. 2 that well-designed pulses can be used to prepare an arbitrary state.

Fig.1 The single qubit could be prepared from state 0|0\rangle to the target state 1|1\rangle via applying a proper sequence of pulses.
Fig. 2 The control pulse can drive the single qubit from the intial state 0|0\rangle to an arbitrary qubit state.

Since the process with pulses is governed by Schrödinger equation, the target logic gate or unitary transformation UtargetU_{target} admits a form of

U˙(t)=iH(t)U(t),\dot{U}(t)=-i \mathcal{H}(t) U(t)\,,
with U(0)=IU(0)=I and Utarget=U(T)U_{target}=U(T). Here TT is the evolution time, and H\mathcal{H} represents the total Hamiltonian. Furthermore, this total Hamiltonian H\mathcal{H} can be decomposed into:
H(t)=H0+Hdrive(t),\mathcal{H}(t)= \mathcal{H}_0 + \mathcal{H}_{drive}(t)\,,
where H0(t)\mathcal{H}_0(t) describes the free Hamiltonian and Hdrive(t)\mathcal{H}_{drive}(t) 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 Bk(t)B_k(t) as the amplitude of the pulse generated by the kk channel at time tt and define Ok\mathcal{O}_k as the corresponding operator Ok\mathcal{O}_k acting on the controlled qubit. Then, the driving Hamiltonian is given by
Hdrive(t)=k Bk(t) Odrive,k.\mathcal{H}_{drive}(t)= \sum_{k} B_k(t) \mathcal{O}_{drive, k}\,.

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 UtargetU_{target} is to tune the pulse amplitude Bk(t)B_k(t). 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.