:param C: a n_ladsxn_lads matrix of inter-LAD commuting
:param N: a vector of population sizes in each LAD
:param date_range: a time range [start, end)
:param beta_freq: the frequency at which beta changes
:param time_step: a time step to use in the discrete time simulation
"""Implements a discrete-time Markov jump process for a state transition model.
:param transition_rates: a function of the form `fn(t, state)` taking the current time `t` and state tensor `state`. This function returns a tensor which broadcasts to the first dimension of `stoichiometry`.
:param stoichiometry: the stochiometry matrix for the state transition model, with rows representing transitions and columns representing states.
:param initial_state: an initial state tensor with inner dimension equal to the first dimension of `stoichiometry`.
:param initial_step: an offset giving the time `t` of the first timestep in the model.
:param time_delta: the size of the time step to be used.
:param num_steps: the number of time steps across which the model runs.