supergrad.quantum_system.CircuitLCJ

supergrad.quantum_system.CircuitLCJ#

class supergrad.quantum_system.CircuitLCJ(b_transmon: bool = True, basis: str = 'phase', num_basis: int = 0, truncated_dim: int = 0, n_max: int = 0, phi_max: float = 0, is_basis_sym: bool = False, drive_for_state_phase: str = 'charge', name: str = 'circuit_lcj')[source]#

Class for a generic L-C-J circuit.

__init__(b_transmon: bool = True, basis: str = 'phase', num_basis: int = 0, truncated_dim: int = 0, n_max: int = 0, phi_max: float = 0, is_basis_sym: bool = False, drive_for_state_phase: str = 'charge', name: str = 'circuit_lcj')[source]#

Methods

__init__([b_transmon, basis, num_basis, ...])

create_d2phi()

Computes \(\frac{d^2}{d \phi^2}\)

create_dphi()

Computes \(\frac{d}{d \phi}\)

create_n()

Computes charge matrix.

create_phi()

Computes the phi matrix.

eigenenergies([unify_state_phase])

Returns array of eigenvalues.

idling_hamiltonian()

Create the Hamiltonian matrix of the qubit.

params_dict()

Returns parameters keyed by name for this module and submodules.

set_charge_basis(n_max[, num_n])

Initializes parameters for charge basis.

set_n_phi_transform()

Computes the unitary transformation between n and phi.

set_phi_basis(phi_max[, num_phi, phi_step])

Initializes parameters for phase basis.

state_dict()

Returns state keyed by name for this module and submodules.

transform_n_to_phi(mat)

Run change of basis of matrix from charge basis to phase basis

transform_phi_to_n(mat)

Run change of basis of matrix from phi basis to n basis

unify_state_phase(operator)

Adjusts the phase of eigenstates to meet the condition <i|m|i+1> matrix elements are real positive.

Attributes

dim

Returns truncated Hilbert space dimension

qdevice_type