I am looking at the Hamiltonian
$$H(t)=\begin{pmatrix} 0 & e^{i\Omega t}\\ e^{-i\Omega t}& 0\end{pmatrix}$$
I am trying to solve for the unitary operator $U(t,0)=\mathcal{T}\exp(-i\int_0^t dt'\, H(t'))$, where I have transformed this into $$ U(t,0)\approx\prod_{n=0}^{N}\exp\left( -iH(ndt)dt \right) $$ To calculate it with Mathematica, I then implemented a similar code to the one found here: Solving a time-dependent Schrödinger equation. I changed it a little, so that my code reads
U[H_, ti_, tf_, n_] :=
Module[{dt = N[(tf - ti)/n], Value = ({{1, 0},{0, 1}})},
Do[Value = Dot[MatrixExp[-I*H[t]*dt], Value], {t, ti, tf, dt}];
Value]
I then evaluated
U[λ/2 {{0, Exp[I Ω t]}, {Exp[-I Ω t], 0}}, 0, 20, 100]
However, this just gives me a long product of matrix exponentials:
MatrixExp[(0. - 0.2 I) {{0, 1/2 E^((0. + 20. I) Ω) λ}, {1/2 E^((0. - 20. I) Ω) λ, 0}}[20.]]. MatrixExp[(0. - 0.2 I) {{0, 1/2 E^((0. + 19.8 I) Ω) λ}, {1/2 E^((0. - 19.8 I) Ω) λ, 0}}[19.8]] ...
I really want to write it in the form
$$ H(t)=P(t)e^{-iH_Ft} $$
where the function $P(t)$ has a period of $T=2pi/\Omega$. This way, I can simply take $t=T$ and take a matrix log and get $H_F$. How can I get my product in this form and thus find the value of $H_F$? Am I doing something wrong with the code, or am I just missing a step?