transmon_analytics

This code calculates the energy eigenvalues of the transmon qubit cooper pair box as a function of the offset charge and plots the corresponding results.

Key References:
  • J. Koch et al. “Charge-insensitive qubit design derived from the Cooper pair box” Phys. Rev. A. 76, 042319 (2007).

Functions

kidx(m, my_ng)

This function is a placeholder which performs an additional modulo operation with an offset of ng=0.5, but is not necessary when only integer values of kidxRAW(m, my_ng) are used.

kidx_raw(m, my_ng)

This function calculates the integers which correct sort the eigenstates and eigenenergies of the solution to Mathieu's equation.

plot_eigenvalues()

This function actually creates the plot(s) of eigenvalues as a function of offset charge.

transmon_eigenvalue(m, my_ng[, Ej, Ec])

This function calculate the energy eigenvalue of the transmon qubit for a given energy level (m) and offset charge (my_ng), from Mathieu characteristic values (Koch et al. Eq.

kidx(m, my_ng)[source]

This function is a placeholder which performs an additional modulo operation with an offset of ng=0.5, but is not necessary when only integer values of kidxRAW(m, my_ng) are used. If non-integer values of kidxRAW are used, then the modulo operation below needs to be updated to include the offset.

Args:

m (int): The energy level of the qubit (m=0,1,2,3,etc.) ng (float): the offset charge of the Josephjunction island (in units of 2e)

Returns:

float: the calculated energy eigenvalue, after an ng=0.5 offset.

kidx_raw(m, my_ng)[source]

This function calculates the integers which correct sort the eigenstates and eigenenergies of the solution to Mathieu’s equation.

Args:

m (int): The energy level of the qubit (m=0,1,2,3,etc.) my_ng (float): the offset charge of the Josephjunction island (in units of 2e)

Returns:

float: the calculated index

plot_eigenvalues()[source]

This function actually creates the plot(s) of eigenvalues as a function of offset charge. No arguments need to be passed.

Returns:

A plot of the eigenvalues as a function of offset charge.

transmon_eigenvalue(m, my_ng, Ej=None, Ec=None)[source]

This function calculate the energy eigenvalue of the transmon qubit for a given energy level (m) and offset charge (my_ng), from Mathieu characteristic values (Koch et al. Eq. 2.11), via mathieu_level(): even levels use the even (a) and odd levels the odd (b) characteristic value at integer order, and non-integer orders (any my_ng other than 0 or 1/2 modulo 1) are computed from the Hill matrix.

Args:

m (int): The energy level of the qubit (m=0,1,2,3,etc.) my_ng (float): the offset charge of the Josephjunction island (in units of 2e) Ej (float): Josephson energy. Defaults to RATIO * E_C (module

constants).

Ec (float): Charging energy. Defaults to the module constant E_C.

Returns:

float: the calculated energy eigenvalue.