ShirleyMethod.diagonalise(eFields, freqs, progressOutput=False, debugOutput=False)[source]#

Finds atom eigenstates versus electric field and driving frequency

Eigenstates are calculated for the outer product eFields and freqs. Inputs are saved in class attributes eFields, freqs.

Resulting sorted eigenvalues, eigenvectors, transition probabilities, and target state shifts are saved in the class attributes eigs, eigVectors, transProbs and targetShifts.

Function automatically produces the outer product space of the inputs. For example, if eFields has two elements and freqs and 10, the output shifts will have a shape of (2,10). If one of the inputs is a single value, that dimension is squeezed out.

  • eFields (float or sequence of floats) – electric field strengths (in V/m) for which we want to know energy eigenstates

  • freqs (float or sequence of floats) – driving frequency (in Hz) for which we want to know energy eigenstates

  • progressOutput (bool, optional) – if True prints the progress of calculation; Set to false by default.

  • debugOutput (bool, optional) – if True prints additional information usefull for debuging. Set to false by default.