We generate
$${\bf{Y}}_t = {\bf A \bf X}_t{\bf B}' + {\boldsymbol{\epsilon}}_t $$
for any \(t=1, \ldots, n\), where \({\bf X}_t = {\rm diag}({\bf x}_t)\)
with \({\bf x}_t = (x_{t,1},\ldots,x_{t,d})'\) being a \(d \times 1\) time series,
\( {\boldsymbol{\epsilon}}_t \) is a \(p \times q\) matrix white noise,
and \({\bf A}\) and \({\bf B}\) are, respectively, \(p\times d\) and
\(q \times d\) factor loading matrices. \(\bf A\), \({\bf X}_t\), and \(\bf B\)
are generated based on the data generating process described in Section 7.1 of
Chang et al. (2024) and satisfy \({\rm rank}({\bf A})=d_1\) and
\({\rm rank}({\bf B})=d_2\), \(1 \le d_1, d_2 \le d\).