  We propose an iterative algorithm to simulate the dynamics generated by any
$n$-qubit Hamiltonian. The simulation entails decomposing the unitary time
evolution operator $U$ (unitary) into a product of different time-step
unitaries. The algorithm product-decomposes $U$ in a chosen operator basis by
identifying a certain symmetry of $U$ that is intimately related to the number
of gates in the decomposition. We illustrate the algorithm by first obtaining a
polynomial decomposition in the Pauli basis of the $n$-qubit Quantum State
Transfer unitary by Di Franco et. al. (Phys. Rev. Lett. 101, 230502 (2008))
that transports quantum information from one end of a spin chain to the other;
and then implement it in Nuclear Magnetic Resonance to demonstrate that the
decomposition is experimentally viable and well-scaled. We furthur
experimentally test the resilience of the state transfer to static errors in
the coupling parameters of the simulated Hamiltonian. This is done by
decomposing and simulating the corresponding imperfect unitaries.
