where U(t + ∆t) is a unitary time evolution operator for the time step t → t + ∆t. Because both P(t) and F(t) in Eq. ( ) are time-dependent quantities, the definition of U(t + ∆t) involves time-ordering of F(t ) at points t along the integration (t ≤ t ≤ t + ∆t), or else a Magnus expansion of nested commutators. Various forms for U(t + ∆t) have been discussed in the literature, including adaptive schemes and methods that iterate to self-consistency over the course of a time step from t to t + ∆t. Because the energy scales for x-ray excitation are large, the corresponding time step needs to be small. For that reason, we use the modified-midpoint algorithm, which is computationally simple (one Fock build per time step) and stable when ∆t is small. The time step also determines the highest frequency-domain Fourier component that can described by the finite time series of dipole moment data that provide the absorption spectrum (see Section 2 A 2). Specifically, the Nyquist sampling theorem 53 limits the signal to frequencies ω ≤ ω max where