Detailed API
Submodules
LASED.constants module
Contains definitions of useful fundamental constants. Author: Manish Patel Last Edited: 25/08/2021
LASED.decay_constant module
This is a file to define functions to calculate the generalised decay constants Author: Manish Patel Date created: 27/07/2021
- LASED.decay_constant.generalisedDecayConstant(ep, epp, g, G, Q_decay)
Calculates the branching ratio for the generalised decay constant.
This ratio must be multiplied by 1/tau to get the generalised decay constant in Grad/s. This is then used for evaluating vertical coherences.
- Parameters
- Returns
Value of the branching ratio for the generalised decay constant gamma_{ep, epp, g}.
LASED.density_matrix module
Density matrix operations Author: Manish Patel Date Created: 11/06/2021
- LASED.density_matrix.JNumber(state_list)
Calculate the angular momentum from the number of sub-states in the list.
- Parameters
state_list (list) – List of sub-states of a single angular momentum state.
- Returns
int: The total angular momentum of the state.
- LASED.density_matrix.appendDensityMatrixToFlatCoupledMatrix(flatrho, density_rho, sub_states, n)
Adds density matrix elements to a flat, coupled matrix.
- Parameters
flat_rho (list) – array of arrays with one column of all density matrix elements of coupled E and G states
n (int) – number of states in total laser-coupled system
sub-states (list) – a list of the excited or ground states
density_rho (ndarray) – either the excited or ground state density matrix with the convention that the upper left-hand of the matrix is state population for m_J = -J if the state has angular momentum J
- LASED.density_matrix.getSingleStateMatrix(flat_rho, n, sub_states)
Obtain an angular momentum state density matrix from the flattened coupled state density rho vector.
- Parameters
flat_rho (list of list) – flattened 2D density matrix of coupled E & G states with the laser.
n (int) – number of states in total laser-coupled system.
sub_states (list) – a list of the excited or ground states, E or G respectively.
- Returns
A square matrix of size length of sub_states. Elements are ordered from left to right according to the order of sub_states e.g. if state labelled 1 is first then first element would correspond to rho_11 i.e. population of state 1.
- Return type
ndarray
LASED.detuning module
Define functions for the detuning of an atomic system
- LASED.detuning.angularFreq(wavelength)
Calculates the angular frequency in Grad/s from a given wavelength.
- Parameters
wavelength (float) – A wavelength in nm
- Returns
The angular frequency in Grad/s
- Return type
float
- LASED.detuning.delta(e, g)
Detunings between substates.
- Parameters:
e (State): State object g (State): State object
- Returns
Difference in angular frequency of states (Grad/s).
- Return type
float
- LASED.detuning.dopplerDelta(e, g, w_q, lambda_q, v_z)
The detuning between excited and ground states.
Accounts for a fixed motion of the atoms. Used between excited and ground states.
- Parameters
- Returns
The detuning between ground and excited states including the doppler detuning due to a given atomic velocity.
- Return type
float
LASED.generate_sub_states module
Generate Sub States. Generates sub-states of a quantum state
- LASED.generate_sub_states.generateSubStates(label_from, w, L, S, J=None, I=None, F=None)
Generates a vector of sub-states given quantum numbers.
- Parameters
label_from (int) – the number assigned to the first state generated - goes from -m_F to +m_F so the number given will be assigned to -m_F
w (float) – the angular frequency (in Grad/s) given to the states generated
L (int) – orbital angular momentum
S (int) – spin quantum number
J (int) – total angular momentum
I (int) – nuclear isospin
F (int) – total angular momentum + isospin
- Returns
A list of State objects from -m_F to +m_F with labels beginning at label_from
- Return type
list
LASED.half_rabi_freq module
Definition of the half-Rabi frequency and all other functions needed to calculate it
- LASED.half_rabi_freq.coupling(e, g, q)
Coupling constants between states via laser radiation
- LASED.half_rabi_freq.gaussianIntensity(P_las, r_sigma, r)
Intensity of Gaussian TEM_00 laser beam profile.
- Parameters
P_las (float) – Power of laser given by power meter in mW
r_sigma (float) – Radius at 2D standard deviation of a Gaussian in mm
r (float) – Radius in mm at which the laser intensity is evaluated
- Returns
Intensity in mW/mm^2 at radius r from beam axis given a Gaussian intensity profile
- Return type
float
- LASED.half_rabi_freq.halfRabiFreq(intensity, lifetime, wavelength)
Calculates the half-Rabi frequency in Grad/s.
- Parameters
intensity – intensity of laser in mW/mm^2
lifetime – lifetime of the excited state to the ground state transition in nanoseconds
wavelength – wavelength (in metres) corresponding to the resonant transition from the ground to excited state.
- Returns
The half-Rabi frequency in Grad/s.
- Return type
float
LASED.index module
Definition of the index function
- LASED.index.getStateLabelsFromLineNo(line_no, n)
Gets the indeces for labelling rho [i, j] from the line number of an array.
- Parameters
line_no (int) – line number of an array e.g. position of a row in a matrix or column in rho_t
n – the number of states in the system
- Returns
A tuple of the indeces for the matrix position
- Return type
tuple
- LASED.index.index(i, j, n)
Function to return the index of an element of a 2D density matrix if flattened to a 1D array
- Parameters
- Returns
Index of the element in a 1D array
- Return type
int
Example
To get the index of rho_44 in a 4-level system call index(four, four, 4) where “four” is the variable which stores the State object labelled 4.
LASED.laser_atom_system module
The LaserAtomSystem class definition.
- class LASED.laser_atom_system.LaserAtomSystem(E, G, tau, Q, laser_wavelength, laser_intensity=None, laser_power=None, tau_f=None, tau_b=None, rabi_scaling=None, rabi_factors=None)
Bases:
object
A physical system composed of a laser field acting on an atomic system.
- Q_decay
List of ints describing the selection rules of the decay. Selection rules are set to +1, -1, and 0.
- Type
list
- rho_t
List of flattened 2D arrays over the time interval simulated for. This is initialised as empty as no time evolution has taken place.
- Type
list
- E
List of State objects which are the excited states of the system.
- Type
list
- G
List of State objects which are the ground states of the system.
- Type
list
- tau
Lifetime of transition in nanoseconds between excited and ground state.
- Type
float
- Q
List of laser polarisations. This can be +1, 0, -1 for right-hand circular, left-hand circular, and linear polarisation. If more than one polarisation is in the list then the system will be excited with a linear combination of the polarisations.
- Type
list
- laser_wavelength
Wavelength of transition from ground to excited state in metres.
- Type
float
- laser_intensity
Intensity of the laser in mW/mm^2.
- Type
float
- laser_power
Power of the laser in mW. This is needed for Gaussian averaging of beam profile.
- Type
float
- tau_f
Upper state lifetime to states outside of laser coupling in nanoseconds.
- Type
float
- tau_b
Ground state lifetime to states outside of laser coupling in nanoseconds.
- Type
float
- rho_0
2D array creating the density matrix at t = 0.
- Type
list of list
- rabi_scaling
The normalisation of the Rabi frequency. The half-Rabi frequency is divided by this number. Use this if there are more than one polarisations to normalise the population.
- Type
float
- rabi_factors
Elements of this list are multiplies by the half-Rabi frequency for each polarisation. This can be used to obtain elliptical polarisation.
- Type
list
- Q_decay = [1, 0, -1]
- Rho_0(i, j)
Accessor for an element in rho_0.
- Parameters
- Returns
element of the laser-atom system density matrix at t=0.
- Return type
complex
Example
print(Rho_0(one, two))
- Rho_t(i, j)
Accessor for an element in rho_t.
- Parameters
- Returns
Array of an element in laser-atom system for all of the simulation time
- Return type
list
Example
print(Rho_t(one, two)) prints element rho_12 if one and two are State objects corresponding to label 1 and 2 respectively.
- angularShape_0(state, theta, phi)
Gets the angular shape (radius) of the atomic state given at t = 0.
- Parameters
state (char) – Either “e” or “g” specifying the excited or lower state.
theta (array_like) – Azimuthal (longitudinal) coordinate in [0, 2*pi].
phi (array_like) – Polar (colatitudinal) coordinate in [0, pi].
- Returns
A list of lists with the radius of the angular shape of the atomic state given at t = 0.
- Return type
(2D array)
Example
calcium.angularShape(“g”, theta, phi) for a pre-defined calcium system gives the angular shape of the lower state density matrix.
- angularShape_t(state, theta, phi)
Gets the time evolution of the angular shape (radius) of the atomic state given.
- Parameters
state (char) – Either “e” or “g” specifying the excited or lower state.
theta (array_like) – Azimuthal (longitudinal) coordinate in [0, 2*pi].
phi (array_like) – Polar (colatitudinal) coordinate in [0, pi].
- Returns
List of 2D arrays of the radius of the angular shape of the atomic state for a given time in the evolution of the laser-atom system.
- Return type
(List of 2D array)
- appendDensityMatrixToRho_0(density_rho, state_type)
Sets the laser-atom system density matrix at t=0 to the matrix given.
- Parameters
density_rho (ndarray) – 2D array of the system density matrix.
state_type (char) – Defines whether the density matrix is for the ground or excited state. Either an “e” or “g” for excited and ground state density matrices respectively.
Note
Density matrix input must be square and the size of the matrix must match with E or G.
- clearRho_0()
Makes all values of rho_0 zero.
- property n
Total number of substates.
- Returns
Number of substates.
- Return type
int
- property rho_e0
Upper state density matrix for the initial condition.
- Returns
Upper state density matrix composed of all states defined in E.
- Return type
ndarray
- property rho_et
Upper state density matrix for all of the time evolution.
- Returns
A list of upper state density matrices for the time evolution.
- Return type
list of ndarray
- property rho_g0
Lower state density matrix for the initial condition.
- Returns
Lower state density matrix composed of all states defined in G.
- Return type
ndarray
- property rho_gt
Lower state density matrix for all of the time evolution.
- Returns
A list oflower state density matrices for the time evolution.
- Return type
list of ndarray
- rho_t = []
- rotateRho_0(alpha, beta, gamma)
Rotate rho_0 by the Euler angles alpha, beta, and gamma.
- Parameters
alpha (float) – rotation (in radians) around z-axis
beta (float) – rotation (in radians) about the y’-axis
gamma (float) – rotation (in radians) about the z’’-axis
- rotateRho_t(alpha, beta, gamma)
Rotate rho_0 by the Euler angles alpha, beta, and gamma.
- Parameters
alpha (float) – rotation (in radians) around z-axis
beta (float) – rotation (in radians) about the y’-axis
gamma (float) – rotation (in radians) about the z’’-axis
- saveToCSV(filename, precision=None)
Saves rho_t as a csv file.
- Parameters
filename (string) – Name of the csv file created.
precision (int) – Precision of numbers in decimal places.
- Returns
Void.
- setRho_0(i, j, value)
Sets a value to an element of rho_0.
- time = []
- timeEvolution(time, beam_profile_averaging=None, doppler_averaging=None, print_eq=None, detuning=None, atomic_velocity=None, r_sigma=None, n_beam_averaging=None, doppler_width=None, doppler_detunings=None, pretty_print_eq=None, pretty_print_eq_tex=None, pretty_print_eq_pdf=None, pretty_print_eq_filename=None)
Evolves the laser-atom system over time.
Produces a list of flattened 2D density matrices which correspond to the time array. This is stored in rho_t.
- Parameters
time (list) – Array of the times in the time evolution in nanoseconds e.g. time = [0, 1, 2] to simulate up to 2 ns
beam_profile_averaging (bool) – Turn on averaging over a Gaussian TEM00 laser beam profile. Must have n_beam_averaging to state the number of averages to take over the beam profile and r_sigma to characterise the standard debviation of the Gaussian beam.
doppler_averaging (bool) – Turn on averaging over the doppler profile of the atoms. Must have doppler_width and doppler_detunings as well.
print_eq (bool) – Turn on printing the coupled differential equatiuons numerically.
atomic_velocity (float) – The velocity component of the atoms in the direction of the laser beam in metres/second. This is used for doppler shifting the energy levels.
r_sigma (float) – The radial distance to the 2D standard deviation in millimetres of the Gaussian beam profile of the laser.
n_beam_averaging (int) – The number of times the beam profile will be split to average over. The higher the number, the more accurate the beam profile averaging but it will be slower.
doppler_width (float) – The doppler width of the beam profile in Grad/s.
doppler_detunings (list) – List of the doppler detunings creating a doppler profile. This list will be averaged over. Must go from a -ve detuning to a +ve detuning. All detunings are in Grad/s.
pretty_print_eq (bool) – Turn on printing of the coupled differential equations symbolically using Sympy. Only available using an IPython environment e.g. Jupyter.
pretty_print_eq_tex (bool) – Produces a .tex file with the equations of motion printed symbolically using Sympy. Must input a filename for the .tex file with the keyword “pretty_print_eq_filename”.
pretty_print_eq_pdf (bool) – Produces a .pdf file with the equations of motion printed symbolically using Sympy and pdflatex. Must have pdflatex installed on your system. Must input a filename for the .tex file with the keyword “pretty_print_eq_filename”.
Note – Must have laser_power attribute for Gaussian averaging of the beam and must have laser_intensity attribute when not Gaussian averaging. Also, cannot print equations in doppler or Gaussian averaging.
LASED.matrix_methods module
Defines functions to manipulate matrices.
- LASED.matrix_methods.printNonZeroMatrixElements(A)
Prints non-zero matrix elements
- Parameters
A (ndarray) – A matrix
LASED.rotation module
Define functions for rotating density matrices in the QED simulation of a laser-atom system. Author: Manish Patel Date created: 12/05/2021
- LASED.rotation.createDictionaryOfSubStates(E, G)
Creates a dictionary of sub-states with (F, m) as the key and the State object as the value.
- Parameters
E (list of States) – List of excited sub-states in the laser-atom system.
G (list of States) – List of ground sub-states in the laser-atom system
- Returns
A dictionary with (F, m) as the keys and the corresponding State object as the value
- Return type
dictionary
- LASED.rotation.rotateElement(rho, i, j, n, sub_state_dict, alpha, beta, gamma)
Rotates an element of a density matrix rho_ij by the euler angles given.
- Parameters
rho (complex) – The density matrix to be rotated.
i (state) – A sub-state of the laser-atom system.
j (state) – A sub-state of the laser-atom system.
sub_state_dict (dict of State) – Dictionary of States with (F,m) tuple as the keys and the corresponding State object as the value.
n (int) – Total number of sub-states in the system.
alpha (float) – rotation around z-axis in radians.
beta (float) – rotation about the y’-axis in radians.
gamma (float) – rotation about the z’’-axis in radians.
- Returns
The rotated density matrix element.
- Return type
complex
- LASED.rotation.rotateFlatDensityMatrix(flat_rho, n, E, G, alpha, beta, gamma)
Rotate the excited and ground state populations by the Euler angles.
- Parameters
flat_rho (list) – A flattened 2D density matrix
n (int) – Number of substates which compose the density matrix flat_rho
E (list of States) – list of excited State objects which compose flat_rho
G (list of States) – list of ground State objects which compose flat_rho
alpha (float) – rotation around z-axis in radians.
beta (float) – rotation about the y’-axis in radians.
gamma (float) – rotation about the z’’-axis in radians.
- Returns
A rotated flattened 2D density matrix
- Return type
list of lists
- LASED.rotation.small_Wigner_D(J, beta, mp, m)
Calculates the small Wigner D-matrix elements for rotation.
- Parameters
J (int) – total angular momentum quantum number of the state which will be rotated with the resulting D-matrix.
beta (float) – rotation about the y’-axis in radians.
mp (int) – row number of element in the Wigner D-matrix
m (int) – column number oif element in the Wigner D-matrix
- Returns
The small Wigner D-matrix elements
- Return type
float
- LASED.rotation.wigner_D(J, mu, m, alpha, beta, gamma)
Calculates the Wigner D-matrix for rotation by Eueler angles (alpha, beta, gamma).
- Parameters
J (int) – total angular momentum quantum number of the state which will be rotated with the
D-matrix. (resulting) –
alpha (float) – rotation around z-axis in radians.
beta (float) – rotation about the y’-axis in radians.
gamma (float) – rotation about the z’’-axis in radians.
- Returns
A square matrix of size 2J+1.
- Return type
ndarray
LASED.save_to_csv module
This is a file to define the function to save rho_t as a csv file.
- LASED.save_to_csv.saveRhotAsCSV(n, E, G, time, rho_t, filename, precision=None)
Saves rho_t to a csv file.
Creates a csv file with filename and saves each element’s time evolution as a column.
- Parameters
n (int) – Number of substates in the system.
E (list of States) – List of State objects in excited state of system.
G (list of States) – List of State objects in ground state of system.
rho_t (list of lists) – List of flattened 2D density matrices representing time evolution of density matrix.
filename (string) – Name of the csv file created.
precision (int) – Precision of numbers in decimal places.
- Returns
Void
- LASED.save_to_csv.stateLabel(s, state_type)
Returns the short-hand label of the state.
- Parameters
s (State) – a State object.
state_type (string) – either ‘e’ or ‘g’ for excited state or ground state. The ground state is primed.
- Returns
“J=k;m_J=l” if k and l are J and m quantum numbers. If the state has isospin then it is “F=k;m_F=l”
- Return type
string
- LASED.save_to_csv.writeCSV(filename, headers, data, precision=None)
Creates a csv file using pandas dataframe.
- Parameters
headers – Array of strings used as column headers.
data – Array of arrays of data used for the columns, must be same size as headers
filename – String of the name of the csv file output
precision (int) – Precision of numbers in decimal places.
- Returns
Void.
LASED.state module
Class definition for an atomic state
- class LASED.state.State(label, w, m, L, S, J=None, I=None, F=None)
Bases:
object
An atomic state.
- w
Angular frequency corresponding to energy of state in Grad/s.
- Type
float
- L
Orbital angular momentum quantum number.
- Type
int
- S
Spin quantum number.
- Type
int
- m
Degeneracy of the total angular momentum.
- Type
int
- J
Resultant of L coupling to S.
- Type
int
- I
Nuclear spin quantum number.
- Type
int
- F
Total angular momentum.
- Type
int
LASED.symbolic_print module
- LASED.symbolic_print.appendEqToTexFile(file, input_str)
Appends an equation to a .tex file given.
- Parameters
file (file) – file object to write to
input_str (string) – The string (equation) to be written to the .tex file
- LASED.symbolic_print.callPdfLatex(filename)
Calls pdflatex on the system to convert the .tex file to a .pdf file. Must have pdflatex installed.
- Parameters
filename (string) – Name of the .tex file to be converted.
- LASED.symbolic_print.closeTexFile(file)
Closes a .tex file which has been written to
- Parameters
file (file) – file object to be closed
- LASED.symbolic_print.createTexFile(filename)
Creates a .tex file with the filename given and returns a file
- Parameters
filename (string) – Name of the .tex file created.
- Returns
.tex file with filename
- Return type
file
- LASED.symbolic_print.symbolicPrintRhoee(n, E, G, Q, Q_decay, tau_f, rabi_scaling, rabi_factors, pretty_print_eq=None, pretty_print_eq_file=None)
Prints the density matrix elements rho_ee’’ for the motion of the laser-atom system using Sympy.
- LASED.symbolic_print.symbolicPrintRhoeg(n, E, G, Q, Q_decay, tau_f, tau_b, detuning, laser_wavelength, atomic_velocity, rabi_scaling, rabi_factors, pretty_print_eq=None, pretty_print_eq_file=None)
Prints the density matrix elements rho_eg for the motion of the laser-atom system using Sympy.
- LASED.symbolic_print.symbolicPrintRhoge(n, E, G, Q, Q_decay, tau_f, tau_b, detuning, laser_wavelength, atomic_velocity, rabi_scaling, rabi_factors, pretty_print_eq=None, pretty_print_eq_file=None)
Prints the density matrix elements rho_ge for the motion of the laser-atom system using Sympy.
- LASED.symbolic_print.symbolicPrintRhogg(n, E, G, Q, Q_decay, tau_b, rabi_scaling, rabi_factors, pretty_print_eq=None, pretty_print_eq_file=None)
Prints the density matrix elements rho_gg’’ for the motion of the laser-atom system using Sympy.
- LASED.symbolic_print.symbolicPrintSystem(n, E, G, Q, Q_decay, tau_f, tau_b, detuning, laser_wavelength, atomic_velocity, rabi_scaling, rabi_factors, pretty_print_eq=None, pretty_print_eq_tex=None, pretty_print_eq_pdf=None, pretty_print_eq_filename=None)
Prints the equations of motion of the laser-atom system in full using Sympy.
LASED.time_evolution module
This file contains the function to calculate the time evolution of the density matrix for an atomic system interacting with a laser.
- LASED.time_evolution.timeEvolution(n, E, G, Q, Q_decay, tau, laser_intensity, laser_wavelength, time, rho0, rho_output, tau_f=None, tau_b=None, detuning=None, rabi_scaling=None, rabi_factors=None, print_eq=None, atomic_velocity=None, pretty_print_eq=None, pretty_print_eq_tex=None, pretty_print_eq_pdf=None, pretty_print_eq_filename=None)
Calculates the time evolution of a laser-atom system.
Uses a flattened density matrix rho0 and calculates the time evolution over the time specified. The density matrix at each time step is stored in rho_output.
- LASED.time_evolution.timeEvolutionDopplerAveraging(n, E, G, Q, Q_decay, tau, laser_intensity, laser_wavelength, doppler_width, doppler_detunings, time, rho0, rho_output, tau_f=None, tau_b=None, detuning=None, rabi_scaling=None, rabi_factors=None, print_eq=None, atomic_velocity=None, pretty_print_eq=None, pretty_print_eq_tex=None, pretty_print_eq_pdf=None, pretty_print_eq_filename=None)
Calculates the time evolution of a laser-atom system with a Gaussian doppler profile for the atoms.
Uses a flattened density matrix rho0 and calculates the time evolution over the time specified. The density matrix at each time step is stored in rho_output.
- LASED.time_evolution.timeEvolutionGaussianAndDopplerAveraging(n, E, G, Q, Q_decay, tau, laser_power, r_sigma, n_intensity, laser_wavelength, doppler_width, doppler_detunings, time, rho0, rho_output, tau_f=None, tau_b=None, detuning=None, rabi_scaling=None, rabi_factors=None, print_eq=None, atomic_velocity=None, pretty_print_eq=None, pretty_print_eq_tex=None, pretty_print_eq_pdf=None, pretty_print_eq_filename=None)
Calculates the time evolution of a laser-atom system with a Gaussian doppler profile for the atoms and a Gaussian laser beam profile.
Uses a flattened density matrix rho0 and calculates the time evolution over the time specified. The density matrix at each time step is stored in rho_output.
- LASED.time_evolution.timeEvolutionGaussianAveraging(n, E, G, Q, Q_decay, tau, laser_power, r_sigma, n_intensity, laser_wavelength, time, rho0, rho_output, tau_f=None, tau_b=None, detuning=None, rabi_scaling=None, rabi_factors=None, print_eq=None, atomic_velocity=None, pretty_print_eq=None, pretty_print_eq_tex=None, pretty_print_eq_pdf=None, pretty_print_eq_filename=None)
Calculates the time evolution of a laser-atom system with a Gaussian laser beam profile.
Uses a flattened density matrix rho0 and calculates the time evolution over the time specified. The density matrix at each time step is stored in rho_output.
LASED.time_evolution_matrix module
This is a file to define a function to populate the time evolution matrix for a laser-atom system Author: Manish Patel Date created: 12/05/2021
- LASED.time_evolution_matrix.rho_eepp(A, n, E, G, Q, Q_decay, tau, rabi, rabi_factors, tau_f=None, numeric_print=None)
Function to populate the matrix A with coefficients for populations and atomic coherences of the excited states.
- LASED.time_evolution_matrix.rho_eg(A, n, E, G, Q, Q_decay, tau, rabi, rabi_factors, laser_wavelength, atomic_velocity, tau_f=None, tau_b=None, detuning=None, numeric_print=None)
Function to populate the matrix A with coefficients for optical coherences between excited and ground states.
- LASED.time_evolution_matrix.rho_ge(A, n, E, G, Q, Q_decay, tau, rabi, rabi_factors, laser_wavelength, atomic_velocity, tau_f=None, tau_b=None, detuning=None, numeric_print=None)
Function to populate the matrix A with coefficients for optical coherences between ground and excited states.
- LASED.time_evolution_matrix.rho_ggpp(A, n, E, G, Q, Q_decay, tau, rabi, rabi_factors, tau_b=None, numeric_print=None)
Function to populate the matrix A with coefficients for populations and atomic coherences of the ground states.
- LASED.time_evolution_matrix.timeEvolutionMatrix(n, E, G, Q, Q_decay, tau, laser_wavelength, laser_intensity, tau_f=None, tau_b=None, detuning=None, numeric_print=None, rabi_scaling=None, rabi_factors=None, atomic_velocity=None, pretty_print_eq=None, pretty_print_eq_tex=None, pretty_print_eq_pdf=None, pretty_print_eq_filename=None)
Function to create and populate the coupled differential equation matrix A for the laser-atom system.
- Returns
Matrix which contains all thera coefficients for the set of coupled differential equations describing a laser-atom system.
- Return type
ndarray