ob_atom.OBAtom

ob_atom.OBAtom(
    label=None,
    num_states=1,
    energies=None,
    decays=None,
    initial_state=None,
    fields=None,
)

Methods

Name Description
add_field Add a Field to the list given a dict representing the field.
build_fields Build the field list given a list of dicts representing fields.
build_initial_state Build the initial density matrix for the atom.
build_operators Build the quantum operators representing the bare Hamiltonian,
get_detunings Returns a list of detunings, one for each field in fields.
get_fields_sum_coherence Returns the sum coherences of the atom density matrix for each
set_H_Delta Set the detuning part of the interaction Hamiltonian, H_Delta,
set_H_Omega
to_json_str Return a JSON string representation of the Atom object.

add_field

ob_atom.OBAtom.add_field(field_dict)

Add a Field to the list given a dict representing the field.

build_fields

ob_atom.OBAtom.build_fields(field_dicts)

Build the field list given a list of dicts representing fields.

build_initial_state

ob_atom.OBAtom.build_initial_state(initial_state=None)

Build the initial density matrix for the atom.

The default is for all of the population to be in |0><0|.

Parameters

Name Type Description Default
rho0 a list or array of populations, length num_states. required

Returns

Name Type Description
qu.Qobj Qu.Qobj: A density matrix representing the initial

Notes

  • The elements must sum to 1 (as this will be the trace of the density matrix).

build_operators

ob_atom.OBAtom.build_operators()

Build the quantum operators representing the bare Hamiltonian, collapse operators and interaction Hamiltonian.

get_detunings

ob_atom.OBAtom.get_detunings()

Returns a list of detunings, one for each field in fields.

get_fields_sum_coherence

ob_atom.OBAtom.get_fields_sum_coherence(states_t=None)

Returns the sum coherences of the atom density matrix for each field, including the relative strength factors.

Parameters

Name Type Description Default
states_t np.ndarray | None (optional) a states_t object. If not provided, use self.states_t() None

Returns

Name Type Description
np.ndarray np.ndarray of shape (num_fields, t_steps+1)

set_H_Delta

ob_atom.OBAtom.set_H_Delta(detunings)

Set the detuning part of the interaction Hamiltonian, H_Delta, given a list of detunings.

Parameters

Name Type Description Default
detunings list[float] list of floats: detunings of each field in the list required

set_H_Omega

ob_atom.OBAtom.set_H_Omega(rabi_freqs, rabi_freq_t_funcs, rabi_freq_t_args)

Parameters

Name Type Description Default
rabi_freqs list[float] [floats] required
rabi_freq_t_funcs list [strings] required
rabi_freqs_t_args [dicts] required

Returns:

to_json_str

ob_atom.OBAtom.to_json_str()

Return a JSON string representation of the Atom object.

Returns

Name Type Description
str (string) JSON representation of the Atom object.